diff --git a/packages/shared/src/constants.ts b/packages/shared/src/constants.ts index 9799ba7c..468aaaf5 100644 --- a/packages/shared/src/constants.ts +++ b/packages/shared/src/constants.ts @@ -347,6 +347,14 @@ export const TOOLS: Tool[] = [ icon: "QrCode", route: "/qr-generate", }, + { + id: "html-to-image", + name: "HTML to Image", + description: "Capture webpages as high-quality images", + category: "utilities", + icon: "Globe", + route: "/html-to-image", + }, { id: "barcode-read", name: "Barcode Reader", diff --git a/packages/shared/src/i18n/ar.ts b/packages/shared/src/i18n/ar.ts index e0a2c2aa..9022f0c8 100644 --- a/packages/shared/src/i18n/ar.ts +++ b/packages/shared/src/i18n/ar.ts @@ -37,8 +37,8 @@ export const ar: TranslationKeys = { retry: "إعادة المحاولة", privacyPolicy: "سياسة الخصوصية", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "الأساسيات", optimization: "التحسين", @@ -220,6 +220,10 @@ export const ar: TranslationKeys = { name: "مولّد رمز QR", description: "إنشاء رموز QR مخصصة بألوان وأنماط وشعارات مميزة", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "قارئ الباركود", description: "مسح الصور بحثًا عن رموز QR والباركود والرموز ثنائية الأبعاد", @@ -1001,6 +1005,30 @@ export const ar: TranslationKeys = { submit: "إنشاء رمز QR", download: "تحميل رمز QR", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "مسح الباركود", submitBatch: "مسح ({count} ملف)", @@ -1831,9 +1859,9 @@ export const ar: TranslationKeys = { pipelineName: "اسم Pipeline", pipelineDescription: "الوصف (اختياري)", noStepsPrompt: "أضف خطوات لبناء أتمتتك", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "خطوة", + step: "خطوة", }, nav: { tools: "الأدوات", diff --git a/packages/shared/src/i18n/de.ts b/packages/shared/src/i18n/de.ts index 9631cc94..59509992 100644 --- a/packages/shared/src/i18n/de.ts +++ b/packages/shared/src/i18n/de.ts @@ -37,8 +37,8 @@ export const de: TranslationKeys = { retry: "Erneut versuchen", privacyPolicy: "Datenschutzerklaerung", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Grundlagen", optimization: "Optimierung", @@ -222,6 +222,10 @@ export const de: TranslationKeys = { name: "QR-Code-Generator", description: "QR-Codes mit individuellen Farben, Mustern und Logos erstellen", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Barcode-Leser", description: "Bilder nach QR-Codes, Barcodes und 2D-Codes scannen", @@ -1014,6 +1018,30 @@ export const de: TranslationKeys = { submit: "QR-Code generieren", download: "QR-Code herunterladen", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Barcodes scannen", submitBatch: "Scannen ({count} Dateien)", @@ -1860,9 +1888,9 @@ export const de: TranslationKeys = { pipelineName: "Pipeline-Name", pipelineDescription: "Beschreibung (optional)", noStepsPrompt: "Fuegen Sie Schritte hinzu, um Ihre Automatisierung zu erstellen", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Schritt", + step: "Schritt", }, nav: { tools: "Werkzeuge", diff --git a/packages/shared/src/i18n/en.ts b/packages/shared/src/i18n/en.ts index 5e8f6c20..b0e49a56 100644 --- a/packages/shared/src/i18n/en.ts +++ b/packages/shared/src/i18n/en.ts @@ -179,6 +179,10 @@ export const en = { name: "QR Code Generator", description: "Generate styled QR codes with custom colors, patterns, and logos", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Barcode Reader", description: "Scan images for QR codes, barcodes, and 2D codes", @@ -959,6 +963,30 @@ export const en = { submit: "Generate QR Code", download: "Download QR Code", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Scan Barcodes", submitBatch: "Scan ({count} files)", diff --git a/packages/shared/src/i18n/es.ts b/packages/shared/src/i18n/es.ts index f1511ff0..c9ccfe9a 100644 --- a/packages/shared/src/i18n/es.ts +++ b/packages/shared/src/i18n/es.ts @@ -37,8 +37,8 @@ export const es: TranslationKeys = { retry: "Reintentar", privacyPolicy: "Politica de privacidad", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Esenciales", optimization: "Optimizacion", @@ -209,6 +209,10 @@ export const es: TranslationKeys = { name: "Generador de codigos QR", description: "Genera codigos QR con estilos, colores personalizados, patrones y logos", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Lector de codigos de barras", description: "Escanea imagenes en busca de codigos QR, codigos de barras y codigos 2D", @@ -996,6 +1000,30 @@ export const es: TranslationKeys = { submit: "Generar codigo QR", download: "Descargar codigo QR", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Escanear codigos de barras", submitBatch: "Escanear ({count} archivos)", @@ -1837,9 +1865,9 @@ export const es: TranslationKeys = { pipelineName: "Nombre del Pipeline", pipelineDescription: "Descripcion (opcional)", noStepsPrompt: "Agrega pasos para construir tu automatizacion", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Paso", + step: "Paso", }, nav: { tools: "Herramientas", diff --git a/packages/shared/src/i18n/fr.ts b/packages/shared/src/i18n/fr.ts index cbf0c72e..6c9e8e06 100644 --- a/packages/shared/src/i18n/fr.ts +++ b/packages/shared/src/i18n/fr.ts @@ -37,8 +37,8 @@ export const fr: TranslationKeys = { retry: "Réessayer", privacyPolicy: "Politique de confidentialite", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Essentiels", optimization: "Optimisation", @@ -223,6 +223,10 @@ export const fr: TranslationKeys = { name: "Generateur de codes QR", description: "Generez des codes QR stylises avec couleurs, motifs et logos personnalises", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Lecteur de codes-barres", description: "Scannez les images pour detecter les codes QR, codes-barres et codes 2D", @@ -1015,6 +1019,30 @@ export const fr: TranslationKeys = { submit: "Generer le code QR", download: "Telecharger le code QR", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Scanner les codes-barres", submitBatch: "Scanner ({count} fichiers)", @@ -1858,9 +1886,9 @@ export const fr: TranslationKeys = { pipelineName: "Nom du Pipeline", pipelineDescription: "Description (optionnel)", noStepsPrompt: "Ajoutez des etapes pour construire votre automatisation", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Etape", + step: "Etape", }, nav: { tools: "Outils", diff --git a/packages/shared/src/i18n/hi.ts b/packages/shared/src/i18n/hi.ts index ec590886..b5d13a41 100644 --- a/packages/shared/src/i18n/hi.ts +++ b/packages/shared/src/i18n/hi.ts @@ -37,8 +37,8 @@ export const hi: TranslationKeys = { retry: "पुनः प्रयास करें", privacyPolicy: "गोपनीयता नीति", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "आवश्यक टूल्स", optimization: "ऑप्टिमाइज़ेशन", @@ -219,6 +219,10 @@ export const hi: TranslationKeys = { name: "QR कोड जनरेटर", description: "कस्टम रंगों, पैटर्न और लोगो के साथ स्टाइल्ड QR कोड जनरेट करें", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "बारकोड रीडर", description: "इमेज में QR कोड, बारकोड और 2D कोड स्कैन करें", @@ -997,6 +1001,30 @@ export const hi: TranslationKeys = { submit: "QR कोड जनरेट करें", download: "QR कोड डाउनलोड करें", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "बारकोड स्कैन करें", submitBatch: "स्कैन करें ({count} फाइलें)", @@ -1828,9 +1856,9 @@ export const hi: TranslationKeys = { pipelineName: "Pipeline का नाम", pipelineDescription: "विवरण (वैकल्पिक)", noStepsPrompt: "अपना ऑटोमेशन बनाने के लिए स्टेप्स जोड़ें", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "स्टेप", + step: "स्टेप", }, nav: { tools: "टूल्स", diff --git a/packages/shared/src/i18n/id.ts b/packages/shared/src/i18n/id.ts index bf9585b0..8f129449 100644 --- a/packages/shared/src/i18n/id.ts +++ b/packages/shared/src/i18n/id.ts @@ -37,8 +37,8 @@ export const id: TranslationKeys = { retry: "Coba lagi", privacyPolicy: "Kebijakan Privasi", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Dasar", optimization: "Optimasi", @@ -222,6 +222,10 @@ export const id: TranslationKeys = { 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", @@ -1009,6 +1013,30 @@ export const id: TranslationKeys = { submit: "Buat Kode QR", download: "Unduh Kode QR", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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)", @@ -1845,9 +1873,9 @@ export const id: TranslationKeys = { pipelineName: "Nama Pipeline", pipelineDescription: "Deskripsi (opsional)", noStepsPrompt: "Tambahkan langkah untuk membangun otomasi Anda", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Langkah", + step: "Langkah", }, nav: { tools: "Alat", diff --git a/packages/shared/src/i18n/it.ts b/packages/shared/src/i18n/it.ts index 4f4c4a85..28b398e2 100644 --- a/packages/shared/src/i18n/it.ts +++ b/packages/shared/src/i18n/it.ts @@ -37,8 +37,8 @@ export const it: TranslationKeys = { retry: "Riprova", privacyPolicy: "Informativa sulla privacy", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Essenziali", optimization: "Ottimizzazione", @@ -222,6 +222,10 @@ export const it: TranslationKeys = { name: "Generatore codici QR", description: "Genera codici QR stilizzati con colori, motivi e loghi personalizzati", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Lettore codici a barre", description: "Scansiona immagini alla ricerca di codici QR, codici a barre e codici 2D", @@ -1008,6 +1012,30 @@ export const it: TranslationKeys = { submit: "Genera codice QR", download: "Scarica codice QR", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Scansiona codici a barre", submitBatch: "Scansiona ({count} file)", @@ -1852,9 +1880,9 @@ export const it: TranslationKeys = { pipelineName: "Nome del Pipeline", pipelineDescription: "Descrizione (opzionale)", noStepsPrompt: "Aggiungi passaggi per costruire la tua automazione", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Passaggio", + step: "Passaggio", }, nav: { tools: "Strumenti", diff --git a/packages/shared/src/i18n/ja.ts b/packages/shared/src/i18n/ja.ts index 4f6f51e7..8b2f4fc6 100644 --- a/packages/shared/src/i18n/ja.ts +++ b/packages/shared/src/i18n/ja.ts @@ -37,8 +37,8 @@ export const ja: TranslationKeys = { retry: "再試行", privacyPolicy: "プライバシーポリシー", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "基本ツール", optimization: "最適化", @@ -189,6 +189,10 @@ export const ja: TranslationKeys = { name: "QRコードジェネレーター", description: "カスタムカラー、パターン、ロゴ付きのQRコードを生成", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "バーコードリーダー", description: "画像からQRコード、バーコード、二次元コードをスキャン", @@ -967,6 +971,30 @@ export const ja: TranslationKeys = { submit: "QRコード生成", download: "QRコードをダウンロード", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "バーコードスキャン", submitBatch: "スキャン({count}ファイル)", @@ -1801,9 +1829,9 @@ export const ja: TranslationKeys = { pipelineName: "Pipeline名", pipelineDescription: "説明(任意)", noStepsPrompt: "ステップを追加して自動化を構築", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "ステップ", + step: "ステップ", }, nav: { tools: "ツール", diff --git a/packages/shared/src/i18n/ko.ts b/packages/shared/src/i18n/ko.ts index 1a910826..4dc91f3e 100644 --- a/packages/shared/src/i18n/ko.ts +++ b/packages/shared/src/i18n/ko.ts @@ -37,8 +37,8 @@ export const ko: TranslationKeys = { retry: "재시도", privacyPolicy: "개인정보 처리방침", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "기본 도구", optimization: "최적화", @@ -177,6 +177,10 @@ export const ko: TranslationKeys = { name: "QR 코드 생성기", description: "맞춤 색상, 패턴, 로고가 포함된 QR 코드 생성", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "바코드 리더", description: "이미지에서 QR 코드, 바코드 및 2D 코드 스캔", @@ -952,6 +956,30 @@ export const ko: TranslationKeys = { submit: "QR 코드 생성", download: "QR 코드 다운로드", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "바코드 스캔", submitBatch: "스캔 ({count}개 파일)", @@ -1786,9 +1814,9 @@ export const ko: TranslationKeys = { pipelineName: "Pipeline 이름", pipelineDescription: "설명 (선택)", noStepsPrompt: "단계를 추가하여 자동화를 구성하세요", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "단계", + step: "단계", }, nav: { tools: "도구", diff --git a/packages/shared/src/i18n/nl.ts b/packages/shared/src/i18n/nl.ts index e519ecdf..3f3a8a1f 100644 --- a/packages/shared/src/i18n/nl.ts +++ b/packages/shared/src/i18n/nl.ts @@ -37,8 +37,8 @@ export const nl: TranslationKeys = { retry: "Opnieuw proberen", privacyPolicy: "Privacybeleid", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Basistools", optimization: "Optimalisatie", @@ -224,6 +224,10 @@ export const nl: TranslationKeys = { name: "QR-code generator", description: "QR-codes maken met aangepaste kleuren, patronen en logo's", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Barcodelezer", description: "Afbeeldingen scannen op QR-codes, barcodes en 2D-codes", @@ -1011,6 +1015,30 @@ export const nl: TranslationKeys = { submit: "QR-code genereren", download: "QR-code downloaden", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Barcodes scannen", submitBatch: "Scannen ({count} bestanden)", @@ -1848,9 +1876,9 @@ export const nl: TranslationKeys = { pipelineName: "Pipeline-naam", pipelineDescription: "Beschrijving (optioneel)", noStepsPrompt: "Voeg stappen toe om je automatisering te bouwen", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Stap", + step: "Stap", }, nav: { tools: "Tools", diff --git a/packages/shared/src/i18n/pl.ts b/packages/shared/src/i18n/pl.ts index 34f5a797..00b4f4e8 100644 --- a/packages/shared/src/i18n/pl.ts +++ b/packages/shared/src/i18n/pl.ts @@ -37,8 +37,8 @@ export const pl: TranslationKeys = { retry: "Ponów", privacyPolicy: "Polityka prywatności", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Podstawowe", optimization: "Optymalizacja", @@ -223,6 +223,10 @@ export const pl: TranslationKeys = { description: "Generowanie stylizowanych kodów QR z konfigurowalnymi kolorami, wzorami i logotypami", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Czytnik kodów kreskowych", description: "Skanowanie obrazów w poszukiwaniu kodów QR, kreskowych i 2D", @@ -1012,6 +1016,30 @@ export const pl: TranslationKeys = { submit: "Generuj kod QR", download: "Pobierz kod QR", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Skanuj kody kreskowe", submitBatch: "Skanuj ({count} plików)", @@ -1855,9 +1883,9 @@ export const pl: TranslationKeys = { pipelineName: "Nazwa Pipeline", pipelineDescription: "Opis (opcjonalnie)", noStepsPrompt: "Dodaj kroki, aby zbudować automatyzację", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Krok", + step: "Krok", }, nav: { tools: "Narzędzia", diff --git a/packages/shared/src/i18n/pt-BR.ts b/packages/shared/src/i18n/pt-BR.ts index b4be05a5..5303abd8 100644 --- a/packages/shared/src/i18n/pt-BR.ts +++ b/packages/shared/src/i18n/pt-BR.ts @@ -37,8 +37,8 @@ export const ptBR: TranslationKeys = { retry: "Tentar novamente", privacyPolicy: "Politica de privacidade", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Essenciais", optimization: "Otimizacao", @@ -221,6 +221,10 @@ export const ptBR: TranslationKeys = { name: "Gerador de codigos QR", description: "Gere codigos QR estilizados com cores, padroes e logos personalizados", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Leitor de codigos de barras", description: "Escaneie imagens em busca de codigos QR, codigos de barras e codigos 2D", @@ -1008,6 +1012,30 @@ export const ptBR: TranslationKeys = { submit: "Gerar codigo QR", download: "Baixar codigo QR", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Escanear codigos de barras", submitBatch: "Escanear ({count} arquivos)", @@ -1848,9 +1876,9 @@ export const ptBR: TranslationKeys = { pipelineName: "Nome do Pipeline", pipelineDescription: "Descricao (opcional)", noStepsPrompt: "Adicione passos para construir sua automacao", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Passo", + step: "Passo", }, nav: { tools: "Ferramentas", diff --git a/packages/shared/src/i18n/ru.ts b/packages/shared/src/i18n/ru.ts index 217f3efb..b8495a00 100644 --- a/packages/shared/src/i18n/ru.ts +++ b/packages/shared/src/i18n/ru.ts @@ -37,8 +37,8 @@ export const ru: TranslationKeys = { retry: "Повторить", privacyPolicy: "Политика конфиденциальности", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Основные", optimization: "Оптимизация", @@ -223,6 +223,10 @@ export const ru: TranslationKeys = { description: "Генерация стилизованных QR-кодов с настраиваемыми цветами, узорами и логотипами", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Сканер штрихкодов", description: "Сканирование изображений на наличие QR-кодов, штрихкодов и 2D-кодов", @@ -1010,6 +1014,30 @@ export const ru: TranslationKeys = { submit: "Сгенерировать QR-код", download: "Скачать QR-код", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Сканировать штрихкоды", submitBatch: "Сканировать ({count} файлов)", @@ -1847,9 +1875,9 @@ export const ru: TranslationKeys = { pipelineName: "Название Pipeline", pipelineDescription: "Описание (необязательно)", noStepsPrompt: "Добавьте шаги для построения автоматизации", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Шаг", + step: "Шаг", }, nav: { tools: "Инструменты", diff --git a/packages/shared/src/i18n/sv.ts b/packages/shared/src/i18n/sv.ts index 6a508cb0..642ebeec 100644 --- a/packages/shared/src/i18n/sv.ts +++ b/packages/shared/src/i18n/sv.ts @@ -37,8 +37,8 @@ export const sv: TranslationKeys = { retry: "Försök igen", privacyPolicy: "Integritetspolicy", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Grundlaggande", optimization: "Optimering", @@ -222,6 +222,10 @@ export const sv: TranslationKeys = { name: "QR-kodsgenerator", description: "Skapa QR-koder med anpassade farger, monster och logotyper", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Streckkodslasare", description: "Skanna bilder efter QR-koder, streckkoder och 2D-koder", @@ -1007,6 +1011,30 @@ export const sv: TranslationKeys = { submit: "Generera QR-kod", download: "Ladda ner QR-kod", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.com", + format: "Output Format", + quality: "Quality", + devicePreset: "Device", + viewportWidth: "Width", + viewportHeight: "Height", + fullPage: "Full Page", + submit: "Capture", + download: "Download Screenshot", + capturing: "Capturing webpage...", + errorTimeout: "Page took too long to load", + errorBlocked: "This URL cannot be captured", + errorUnavailable: "Screenshot service is not available", + errorFailed: "Failed to capture the page", + placeholder: "Enter a URL and click Capture", + presets: { + desktop: "Desktop", + tablet: "Tablet", + mobile: "Mobile", + custom: "Custom", + }, + }, "barcode-read": { submit: "Skanna streckkoder", submitBatch: "Skanna ({count} filer)", @@ -1842,9 +1870,9 @@ export const sv: TranslationKeys = { pipelineName: "Pipeline-namn", pipelineDescription: "Beskrivning (valfritt)", noStepsPrompt: "Lagg till steg for att bygga din automatisering", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Steg", + step: "Steg", }, nav: { tools: "Verktyg", diff --git a/packages/shared/src/i18n/th.ts b/packages/shared/src/i18n/th.ts index cf3d897a..fc9cec31 100644 --- a/packages/shared/src/i18n/th.ts +++ b/packages/shared/src/i18n/th.ts @@ -37,8 +37,8 @@ export const th: TranslationKeys = { retry: "ลองใหม่", privacyPolicy: "นโยบายความเป็นส่วนตัว", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "พื้นฐาน", optimization: "การเพิ่มประสิทธิภาพ", @@ -219,6 +219,10 @@ export const th: TranslationKeys = { name: "สร้างคิวอาร์โค้ด", description: "สร้างคิวอาร์โค้ดพร้อมสไตล์ สี ลวดลาย และโลโก้ที่กำหนดเอง", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "อ่านบาร์โค้ด", description: "สแกนภาพเพื่อหาคิวอาร์โค้ด บาร์โค้ด และโค้ด 2D", @@ -990,6 +994,30 @@ export const th: TranslationKeys = { submit: "สร้างคิวอาร์โค้ด", download: "ดาวน์โหลดคิวอาร์โค้ด", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "สแกนบาร์โค้ด", submitBatch: "สแกน ({count} ไฟล์)", @@ -1819,9 +1847,9 @@ export const th: TranslationKeys = { pipelineName: "ชื่อ Pipeline", pipelineDescription: "คำอธิบาย (ไม่บังคับ)", noStepsPrompt: "เพิ่มขั้นตอนเพื่อสร้างการทำงานอัตโนมัติ", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "ขั้นตอน", + step: "ขั้นตอน", }, nav: { tools: "เครื่องมือ", diff --git a/packages/shared/src/i18n/tr.ts b/packages/shared/src/i18n/tr.ts index a3fcf512..cdbc954c 100644 --- a/packages/shared/src/i18n/tr.ts +++ b/packages/shared/src/i18n/tr.ts @@ -37,8 +37,8 @@ export const tr: TranslationKeys = { retry: "Yeniden dene", privacyPolicy: "Gizlilik Politikası", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Temel Araçlar", optimization: "Optimizasyon", @@ -223,6 +223,10 @@ export const tr: TranslationKeys = { name: "QR Kod Oluşturucu", description: "Özel renkler, desenler ve logolarla stilize QR kodlar oluşturun", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Barkod Okuyucu", description: "Görüntülerde QR kodu, barkod ve 2D kodları tarayın", @@ -1012,6 +1016,30 @@ export const tr: TranslationKeys = { submit: "QR Kodu Oluştur", download: "QR Kodunu İndir", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Barkodları Tara", submitBatch: "Tara ({count} dosya)", @@ -1852,9 +1880,9 @@ export const tr: TranslationKeys = { pipelineName: "Pipeline Adı", pipelineDescription: "Açıklama (isteğe bağlı)", noStepsPrompt: "Otomasyonunuzu oluşturmak için adımlar ekleyin", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Adım", + step: "Adım", }, nav: { tools: "Araçlar", diff --git a/packages/shared/src/i18n/uk.ts b/packages/shared/src/i18n/uk.ts index 0f94de30..c1dffdec 100644 --- a/packages/shared/src/i18n/uk.ts +++ b/packages/shared/src/i18n/uk.ts @@ -37,8 +37,8 @@ export const uk: TranslationKeys = { retry: "Повторити", privacyPolicy: "Політика конфіденційності", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Основні", optimization: "Оптимізація", @@ -222,6 +222,10 @@ export const uk: TranslationKeys = { description: "Генерація стилізованих QR-кодів з налаштовуваними кольорами, візерунками та логотипами", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Сканер штрихкодів", description: "Сканування зображень на наявність QR-кодів, штрихкодів та 2D-кодів", @@ -1010,6 +1014,30 @@ export const uk: TranslationKeys = { submit: "Згенерувати QR-код", download: "Завантажити QR-код", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Сканувати штрихкоди", submitBatch: "Сканувати ({count} файлів)", @@ -1848,9 +1876,9 @@ export const uk: TranslationKeys = { pipelineName: "Назва Pipeline", pipelineDescription: "Опис (необов'язково)", noStepsPrompt: "Додайте кроки для побудови автоматизації", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Крок", + step: "Крок", }, nav: { tools: "Інструменти", diff --git a/packages/shared/src/i18n/vi.ts b/packages/shared/src/i18n/vi.ts index 489c1a39..723566bc 100644 --- a/packages/shared/src/i18n/vi.ts +++ b/packages/shared/src/i18n/vi.ts @@ -37,8 +37,8 @@ export const vi: TranslationKeys = { retry: "Thử lại", privacyPolicy: "Chính sách bảo mật", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "Cơ bản", optimization: "Tối ưu hóa", @@ -223,6 +223,10 @@ export const vi: TranslationKeys = { name: "Tạo mã QR", description: "Tạo mã QR có kiểu dáng với màu sắc, hoa văn và logo tùy chỉnh", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "Đọc mã vạch", description: "Quét hình ảnh để tìm mã QR, mã vạch và mã 2D", @@ -1009,6 +1013,30 @@ export const vi: TranslationKeys = { submit: "Tạo mã QR", download: "Tải xuống mã QR", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "Quét mã vạch", submitBatch: "Quét ({count} tệp)", @@ -1842,9 +1870,9 @@ export const vi: TranslationKeys = { pipelineName: "Tên Pipeline", pipelineDescription: "Mô tả (tùy chọn)", noStepsPrompt: "Thêm các bước để xây dựng tự động hóa", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "Bước", + step: "Bước", }, nav: { tools: "Công cụ", diff --git a/packages/shared/src/i18n/zh-CN.ts b/packages/shared/src/i18n/zh-CN.ts index 8cf3d29b..df23ab9e 100644 --- a/packages/shared/src/i18n/zh-CN.ts +++ b/packages/shared/src/i18n/zh-CN.ts @@ -37,8 +37,8 @@ export const zhCN: TranslationKeys = { retry: "重试", privacyPolicy: "隐私政策", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "基础工具", optimization: "优化", @@ -177,6 +177,10 @@ export const zhCN: TranslationKeys = { name: "QR 码生成器", description: "生成自定义颜色、图案和 Logo 的 QR 码", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "条码识别", description: "扫描图片中的 QR 码、条形码和二维码", @@ -944,6 +948,30 @@ export const zhCN: TranslationKeys = { submit: "生成 QR 码", download: "下载 QR 码", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "扫描条码", submitBatch: "扫描({count} 个文件)", @@ -1770,9 +1798,9 @@ export const zhCN: TranslationKeys = { pipelineName: "Pipeline 名称", pipelineDescription: "描述(可选)", noStepsPrompt: "添加步骤来构建自动化流程", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "步骤", + step: "步骤", }, nav: { tools: "工具", diff --git a/packages/shared/src/i18n/zh-TW.ts b/packages/shared/src/i18n/zh-TW.ts index 7a6bbf4a..d2d35fc2 100644 --- a/packages/shared/src/i18n/zh-TW.ts +++ b/packages/shared/src/i18n/zh-TW.ts @@ -37,8 +37,8 @@ export const zhTW: TranslationKeys = { retry: "重試", privacyPolicy: "隱私權政策", pageNotFound: "Page not found", - pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", -}, + pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", + }, categories: { essentials: "基本工具", optimization: "最佳化", @@ -176,6 +176,10 @@ export const zhTW: TranslationKeys = { name: "QR碼產生器", description: "產生自訂色彩、圖案和Logo的QR碼", }, + "html-to-image": { + name: "HTML to Image", + description: "Capture webpages as high-quality images", + }, "barcode-read": { name: "條碼讀取器", description: "掃描影像中的QR碼、條碼和二維碼", @@ -942,6 +946,30 @@ export const zhTW: TranslationKeys = { submit: "產生QR碼", download: "下載QR碼", }, + "html-to-image": { + url: "URL", + urlPlaceholder: "https://example.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: "掃描條碼", submitBatch: "掃描({count}個檔案)", @@ -1768,9 +1796,9 @@ export const zhTW: TranslationKeys = { pipelineName: "Pipeline名稱", pipelineDescription: "描述(選填)", noStepsPrompt: "加入步驟來建構自動化", - noStepsHeading: "No steps yet", + noStepsHeading: "No steps yet", searchToolsPlaceholder: "Search tools...", -step: "步驟", + step: "步驟", }, nav: { tools: "工具",