@jjlmoya/utils-converters 1.22.0 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/category/index.ts +4 -0
- package/src/entries.ts +4 -1
- package/src/index.ts +3 -0
- package/src/shared/ImageToPdfConverter.astro +80 -0
- package/src/shared/image-to-pdf/controller.ts +173 -0
- package/src/shared/image-to-pdf/dom-views.ts +55 -0
- package/src/shared/image-to-pdf/evaluator.ts +18 -0
- package/src/shared/image-to-pdf/logic.test.ts +29 -0
- package/src/shared/image-to-pdf/logic.ts +214 -0
- package/src/shared/image-to-pdf/storage.ts +36 -0
- package/src/shared/image-to-pdf/ui.ts +39 -0
- package/src/shared/image-to-pdf.css +394 -0
- package/src/tests/i18n_coverage.test.ts +2 -3
- package/src/tests/locale_completeness.test.ts +2 -3
- package/src/tests/seo_translation_completeness.test.ts +69 -0
- package/src/tests/spanish_leakage.test.ts +5 -1
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/jpgToPdf/bibliography.astro +11 -0
- package/src/tool/jpgToPdf/bibliography.ts +12 -0
- package/src/tool/jpgToPdf/component.astro +10 -0
- package/src/tool/jpgToPdf/entry.ts +26 -0
- package/src/tool/jpgToPdf/i18n/de.ts +111 -0
- package/src/tool/jpgToPdf/i18n/en.ts +37 -0
- package/src/tool/jpgToPdf/i18n/es.ts +111 -0
- package/src/tool/jpgToPdf/i18n/fr.ts +111 -0
- package/src/tool/jpgToPdf/i18n/id.ts +111 -0
- package/src/tool/jpgToPdf/i18n/it.ts +111 -0
- package/src/tool/jpgToPdf/i18n/ja.ts +111 -0
- package/src/tool/jpgToPdf/i18n/ko.ts +111 -0
- package/src/tool/jpgToPdf/i18n/nl.ts +111 -0
- package/src/tool/jpgToPdf/i18n/pl.ts +111 -0
- package/src/tool/jpgToPdf/i18n/pt.ts +111 -0
- package/src/tool/jpgToPdf/i18n/ru.ts +111 -0
- package/src/tool/jpgToPdf/i18n/sv.ts +111 -0
- package/src/tool/jpgToPdf/i18n/tr.ts +111 -0
- package/src/tool/jpgToPdf/i18n/zh.ts +111 -0
- package/src/tool/jpgToPdf/index.ts +11 -0
- package/src/tool/jpgToPdf/jpg-to-pdf-converter.css +3 -0
- package/src/tool/jpgToPdf/seo.astro +12 -0
- package/src/tool/pngAJpg/i18n/ko.ts +1 -1
- package/src/tool/pngAJpg/i18n/ru.ts +1 -1
- package/src/tool/pngAJpg/i18n/zh.ts +1 -1
- package/src/tool/pngToPdf/bibliography.astro +11 -0
- package/src/tool/pngToPdf/bibliography.ts +12 -0
- package/src/tool/pngToPdf/component.astro +10 -0
- package/src/tool/pngToPdf/entry.ts +26 -0
- package/src/tool/pngToPdf/i18n/de.ts +111 -0
- package/src/tool/pngToPdf/i18n/en.ts +37 -0
- package/src/tool/pngToPdf/i18n/es.ts +111 -0
- package/src/tool/pngToPdf/i18n/fr.ts +111 -0
- package/src/tool/pngToPdf/i18n/id.ts +111 -0
- package/src/tool/pngToPdf/i18n/it.ts +111 -0
- package/src/tool/pngToPdf/i18n/ja.ts +111 -0
- package/src/tool/pngToPdf/i18n/ko.ts +111 -0
- package/src/tool/pngToPdf/i18n/nl.ts +111 -0
- package/src/tool/pngToPdf/i18n/pl.ts +111 -0
- package/src/tool/pngToPdf/i18n/pt.ts +111 -0
- package/src/tool/pngToPdf/i18n/ru.ts +111 -0
- package/src/tool/pngToPdf/i18n/sv.ts +111 -0
- package/src/tool/pngToPdf/i18n/tr.ts +111 -0
- package/src/tool/pngToPdf/i18n/zh.ts +111 -0
- package/src/tool/pngToPdf/index.ts +11 -0
- package/src/tool/pngToPdf/png-to-pdf-converter.css +3 -0
- package/src/tool/pngToPdf/seo.astro +12 -0
- package/src/tool/webpToPdf/bibliography.astro +11 -0
- package/src/tool/webpToPdf/bibliography.ts +12 -0
- package/src/tool/webpToPdf/component.astro +10 -0
- package/src/tool/webpToPdf/entry.ts +26 -0
- package/src/tool/webpToPdf/i18n/de.ts +111 -0
- package/src/tool/webpToPdf/i18n/en.ts +37 -0
- package/src/tool/webpToPdf/i18n/es.ts +111 -0
- package/src/tool/webpToPdf/i18n/fr.ts +111 -0
- package/src/tool/webpToPdf/i18n/id.ts +111 -0
- package/src/tool/webpToPdf/i18n/it.ts +111 -0
- package/src/tool/webpToPdf/i18n/ja.ts +111 -0
- package/src/tool/webpToPdf/i18n/ko.ts +111 -0
- package/src/tool/webpToPdf/i18n/nl.ts +111 -0
- package/src/tool/webpToPdf/i18n/pl.ts +111 -0
- package/src/tool/webpToPdf/i18n/pt.ts +111 -0
- package/src/tool/webpToPdf/i18n/ru.ts +111 -0
- package/src/tool/webpToPdf/i18n/sv.ts +111 -0
- package/src/tool/webpToPdf/i18n/tr.ts +111 -0
- package/src/tool/webpToPdf/i18n/zh.ts +111 -0
- package/src/tool/webpToPdf/index.ts +11 -0
- package/src/tool/webpToPdf/seo.astro +12 -0
- package/src/tool/webpToPdf/webp-to-pdf-converter.css +3 -0
- package/src/tools.ts +9 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { PngToPdfLocaleContent } from '../entry';
|
|
4
|
+
import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'convertidor-png-a-pdf';
|
|
7
|
+
const title = "Convertidor de PNG a PDF";
|
|
8
|
+
const description = "Convierte imágenes PNG en un PDF ordenado desde tu navegador. Elige tamaño de papel, orientación y márgenes sin subir archivos.";
|
|
9
|
+
|
|
10
|
+
const ui: ImageToPdfUI = {
|
|
11
|
+
formatLabel: 'PNG',
|
|
12
|
+
dropTitle: "Crea un PDF a partir de tus imágenes PNG",
|
|
13
|
+
dropText: "Arrastra archivos PNG aquí. El orden que elijas será el orden de las páginas.",
|
|
14
|
+
selectFiles: "Seleccionar archivos PNG",
|
|
15
|
+
privacyNote: "Todo se procesa en tu navegador. Tus imágenes nunca se suben.",
|
|
16
|
+
optionsTitle: "Hoja de impresión",
|
|
17
|
+
settingsTitle: "Ajustes de papel",
|
|
18
|
+
pageSizeLabel: "Tamaño de papel",
|
|
19
|
+
a4: 'A4',
|
|
20
|
+
letter: 'Letter',
|
|
21
|
+
orientationLabel: "Orientación",
|
|
22
|
+
portrait: "Vertical",
|
|
23
|
+
landscape: "Horizontal",
|
|
24
|
+
marginLabel: "Márgenes",
|
|
25
|
+
pagesTitle: "Páginas",
|
|
26
|
+
reorderHint: "Mueve las páginas arriba o abajo antes de exportar.",
|
|
27
|
+
page: "Página",
|
|
28
|
+
pageSingular: "página",
|
|
29
|
+
pagePlural: "páginas",
|
|
30
|
+
moveUp: "Subir",
|
|
31
|
+
moveDown: "Bajar",
|
|
32
|
+
remove: "Eliminar",
|
|
33
|
+
emptyPages: "Tus imágenes seleccionadas aparecerán aquí.",
|
|
34
|
+
createPdf: "Crear PDF",
|
|
35
|
+
reset: "Empezar de nuevo",
|
|
36
|
+
ready: "Listo para tus imágenes",
|
|
37
|
+
processing: "Preparando imagen",
|
|
38
|
+
error: "No se pudo leer la imagen",
|
|
39
|
+
downloadPdf: "Descargar PDF",
|
|
40
|
+
building: "Generando PDF",
|
|
41
|
+
pdfReady: "Tu PDF está listo",
|
|
42
|
+
invalidFile: "Esta herramienta solo acepta archivos PNG y JPEG.",
|
|
43
|
+
bibliographyTitle: "Referencias",
|
|
44
|
+
faqTitle: "Preguntas frecuentes",
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const faq: PngToPdfLocaleContent['faq'] = [
|
|
48
|
+
{
|
|
49
|
+
"question": "¿Puedo juntar varias imágenes PNG en un solo PDF?",
|
|
50
|
+
"answer": "Sí. Selecciona los archivos PNG que necesites, ordena las páginas y exporta un único PDF."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"question": "¿Se suben mis imágenes a algún servidor?",
|
|
54
|
+
"answer": "No. Todo el proceso se realiza localmente en tu navegador."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"question": "¿Puedo elegir el tamaño de papel A4 o Carta?",
|
|
58
|
+
"answer": "Sí. Puedes seleccionar A4 o Letter, así como la orientación y los márgenes."
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
const howTo: PngToPdfLocaleContent['howTo'] = [
|
|
63
|
+
{
|
|
64
|
+
"name": "Selecciona las imágenes PNG",
|
|
65
|
+
"text": "Arrastra tus archivos PNG o elígelos desde tu dispositivo."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "Organiza las páginas y el papel",
|
|
69
|
+
"text": "Ordena las imágenes y configura el formato A4/Letter, orientación y márgenes."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "Genera y descarga el PDF",
|
|
73
|
+
"text": "Haz clic en Crear PDF y descarga el archivo resultante."
|
|
74
|
+
}
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
const seo: PngToPdfLocaleContent['seo'] = [
|
|
78
|
+
{
|
|
79
|
+
"type": "title",
|
|
80
|
+
"text": "Crea un documento PDF listo para imprimir desde tus imágenes PNG",
|
|
81
|
+
"level": 2
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "paragraph",
|
|
85
|
+
"html": "Este convertidor de PNG a PDF está pensado para unificar listas de fotos, escaneos o documentos en un solo archivo organizado. Reordena las páginas y ajusta el tipo de papel antes de exportar."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "title",
|
|
89
|
+
"text": "Prepara documentos digitales impecables",
|
|
90
|
+
"level": 3
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "list",
|
|
94
|
+
"icon": "mdi:check-circle",
|
|
95
|
+
"items": [
|
|
96
|
+
"Organiza las páginas para colocar portadas o fotos principales al inicio.",
|
|
97
|
+
"Elige formato vertical u horizontal según la composición de tus imágenes.",
|
|
98
|
+
"Ajusta los márgenes para asegurar una impresión limpia en cualquier impresora."
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "tip",
|
|
103
|
+
"title": "Tus fotos privadas siempre seguras",
|
|
104
|
+
"html": "Al ejecutarse completamente en tu navegador, tus recibos, documentos o fotos personales no se envían a servidores externos."
|
|
105
|
+
}
|
|
106
|
+
];
|
|
107
|
+
|
|
108
|
+
export const content: PngToPdfLocaleContent = {
|
|
109
|
+
slug, title, description, ui, seo, faq, bibliography, howTo,
|
|
110
|
+
schemas: generateSchemas({ title, description, inLanguage: 'es', faq, howTo }),
|
|
111
|
+
};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { PngToPdfLocaleContent } from '../entry';
|
|
4
|
+
import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'convertisseur-png-en-pdf';
|
|
7
|
+
const title = "Convertisseur PNG en PDF";
|
|
8
|
+
const description = "Transformez des images PNG en un PDF ordonné dans votre navigateur. Choisissez le format de papier, l orientation et les marges sans téléverser de fichier.";
|
|
9
|
+
|
|
10
|
+
const ui: ImageToPdfUI = {
|
|
11
|
+
formatLabel: 'PNG',
|
|
12
|
+
dropTitle: "Créez un PDF à partir de vos images PNG",
|
|
13
|
+
dropText: "Déposez des fichiers PNG ici. L ordre choisi sera l ordre des pages.",
|
|
14
|
+
selectFiles: "Sélectionner les fichiers PNG",
|
|
15
|
+
privacyNote: "Tout reste dans le navigateur. Vos images ne sont jamais téléchargées.",
|
|
16
|
+
optionsTitle: "Feuille d impression",
|
|
17
|
+
settingsTitle: "Paramètres du papier",
|
|
18
|
+
pageSizeLabel: "Taille du papier",
|
|
19
|
+
a4: 'A4',
|
|
20
|
+
letter: 'Letter',
|
|
21
|
+
orientationLabel: "Orientation",
|
|
22
|
+
portrait: "Portrait",
|
|
23
|
+
landscape: "Paysage",
|
|
24
|
+
marginLabel: "Marges",
|
|
25
|
+
pagesTitle: "Pages",
|
|
26
|
+
reorderHint: "Déplacez les pages avant l exportation.",
|
|
27
|
+
page: "Page",
|
|
28
|
+
pageSingular: "page",
|
|
29
|
+
pagePlural: "pages",
|
|
30
|
+
moveUp: "Monter",
|
|
31
|
+
moveDown: "Descendre",
|
|
32
|
+
remove: "Supprimer",
|
|
33
|
+
emptyPages: "Vos images sélectionnées apparaîtront ici.",
|
|
34
|
+
createPdf: "Créer le PDF",
|
|
35
|
+
reset: "Recommencer",
|
|
36
|
+
ready: "Prêt pour vos images",
|
|
37
|
+
processing: "Préparation de l image",
|
|
38
|
+
error: "Impossible de lire l image",
|
|
39
|
+
downloadPdf: "Télécharger le PDF",
|
|
40
|
+
building: "Création du PDF",
|
|
41
|
+
pdfReady: "Votre PDF est prêt",
|
|
42
|
+
invalidFile: "Cet outil accepte uniquement les fichiers PNG et JPEG.",
|
|
43
|
+
bibliographyTitle: "Références",
|
|
44
|
+
faqTitle: "Foire aux questions",
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const faq: PngToPdfLocaleContent['faq'] = [
|
|
48
|
+
{
|
|
49
|
+
"question": "Puis-je regrouper plusieurs images PNG dans un seul PDF ?",
|
|
50
|
+
"answer": "Oui. Sélectionnez autant de fichiers PNG que nécessaire, réorganisez les pages et exportez un PDF unique."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"question": "Mes images sont-elles téléversées sur un serveur ?",
|
|
54
|
+
"answer": "Non. La conversion s effectue localement dans votre navigateur."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"question": "Puis-je choisir le format de papier ?",
|
|
58
|
+
"answer": "Oui. Vous pouvez définir le format A4 ou Lettre, l orientation et les marges."
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
const howTo: PngToPdfLocaleContent['howTo'] = [
|
|
63
|
+
{
|
|
64
|
+
"name": "Sélectionnez les images PNG",
|
|
65
|
+
"text": "Glissez vos fichiers PNG ou choisissez-les depuis votre appareil."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "Organisez les pages",
|
|
69
|
+
"text": "Ajustez l ordre des pages, choisissez le format A4/Lettre et les marges."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "Créez et téléchargez",
|
|
73
|
+
"text": "Cliquez sur Créer le PDF puis téléchargez votre document."
|
|
74
|
+
}
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
const seo: PngToPdfLocaleContent['seo'] = [
|
|
78
|
+
{
|
|
79
|
+
"type": "title",
|
|
80
|
+
"text": "Convertissez vos images PNG en un PDF prêt à imprimer",
|
|
81
|
+
"level": 2
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "paragraph",
|
|
85
|
+
"html": "Ce convertisseur PNG en PDF permet d assembler plusieurs photos ou numérisations dans un seul document fluide. Ajustez la disposition des pages et les marges selon vos besoins."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "title",
|
|
89
|
+
"text": "Un rendu propre et professionnel",
|
|
90
|
+
"level": 3
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "list",
|
|
94
|
+
"icon": "mdi:check-circle",
|
|
95
|
+
"items": [
|
|
96
|
+
"Reclassez facilement vos images avant l exportation.",
|
|
97
|
+
"Choisissez l orientation portrait ou paysage adaptée à vos visuels.",
|
|
98
|
+
"Définissez des marges adaptées à votre imprimante."
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "tip",
|
|
103
|
+
"title": "Confidentialité totale",
|
|
104
|
+
"html": "Le traitement est effectué en local sur votre appareil, garantissant la sécurité de vos fichiers."
|
|
105
|
+
}
|
|
106
|
+
];
|
|
107
|
+
|
|
108
|
+
export const content: PngToPdfLocaleContent = {
|
|
109
|
+
slug, title, description, ui, seo, faq, bibliography, howTo,
|
|
110
|
+
schemas: generateSchemas({ title, description, inLanguage: 'fr', faq, howTo }),
|
|
111
|
+
};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { PngToPdfLocaleContent } from '../entry';
|
|
4
|
+
import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'konverter-png-ke-pdf';
|
|
7
|
+
const title = "Konverter PNG ke PDF";
|
|
8
|
+
const description = "Ubah gambar PNG menjadi dokumen PDF rapi di peramban. Pilih ukuran kertas, orientasi, dan margin tanpa mengunggah berkas.";
|
|
9
|
+
|
|
10
|
+
const ui: ImageToPdfUI = {
|
|
11
|
+
formatLabel: 'PNG',
|
|
12
|
+
dropTitle: "Buat PDF dari gambar PNG Anda",
|
|
13
|
+
dropText: "Tarik berkas PNG ke sini. Urutan yang Anda pilih menjadi urutan halaman.",
|
|
14
|
+
selectFiles: "Pilih berkas PNG",
|
|
15
|
+
privacyNote: "Semua diproses di peramban. Gambar Anda tidak pernah diunggah.",
|
|
16
|
+
optionsTitle: "Lembar cetak",
|
|
17
|
+
settingsTitle: "Pengaturan kertas",
|
|
18
|
+
pageSizeLabel: "Ukuran kertas",
|
|
19
|
+
a4: 'A4',
|
|
20
|
+
letter: 'Letter',
|
|
21
|
+
orientationLabel: "Orientasi",
|
|
22
|
+
portrait: "Potret",
|
|
23
|
+
landscape: "Lansekap",
|
|
24
|
+
marginLabel: "Margin",
|
|
25
|
+
pagesTitle: "Halaman",
|
|
26
|
+
reorderHint: "Ubah urutan halaman sebelum mengekspor.",
|
|
27
|
+
page: "Halaman",
|
|
28
|
+
pageSingular: "halaman",
|
|
29
|
+
pagePlural: "halaman",
|
|
30
|
+
moveUp: "Naik",
|
|
31
|
+
moveDown: "Turun",
|
|
32
|
+
remove: "Hapus",
|
|
33
|
+
emptyPages: "Gambar terpilih akan muncul di sini.",
|
|
34
|
+
createPdf: "Buat PDF",
|
|
35
|
+
reset: "Mulai ulang",
|
|
36
|
+
ready: "Siap untuk gambar Anda",
|
|
37
|
+
processing: "Menyiapkan gambar",
|
|
38
|
+
error: "Gagal membaca gambar",
|
|
39
|
+
downloadPdf: "Unduh PDF",
|
|
40
|
+
building: "Membuat PDF",
|
|
41
|
+
pdfReady: "PDF Anda siap",
|
|
42
|
+
invalidFile: "Alat ini hanya menerima berkas PNG dan JPEG.",
|
|
43
|
+
bibliographyTitle: "Referensi",
|
|
44
|
+
faqTitle: "Pertanyaan umum",
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const faq: PngToPdfLocaleContent['faq'] = [
|
|
48
|
+
{
|
|
49
|
+
"question": "Bisakah saya menggabungkan beberapa gambar PNG ke satu PDF?",
|
|
50
|
+
"answer": "Bisa. Pilih berkas PNG yang diinginkan, atur urutan halaman, dan ekspor menjadi satu dokumen PDF."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"question": "Apakah gambar saya diunggah ke internet?",
|
|
54
|
+
"answer": "Tidak. Semua proses konversi berjalan lokal di peramban Anda."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"question": "Bisakah saya memilih ukuran kertas A4 atau Letter?",
|
|
58
|
+
"answer": "Bisa. Anda dapat memilih A4 atau Letter serta mengatur orientasi dan margin."
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
const howTo: PngToPdfLocaleContent['howTo'] = [
|
|
63
|
+
{
|
|
64
|
+
"name": "Pilih gambar PNG",
|
|
65
|
+
"text": "Tarik berkas PNG atau pilih dari perangkat Anda."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "Atur halaman dan kertas",
|
|
69
|
+
"text": "Urutkan gambar lalu tentukan ukuran kertas A4/Letter, orientasi, dan margin."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "Buat dan unduh PDF",
|
|
73
|
+
"text": "Klik Buat PDF lalu unduh dokumen yang telah selesai."
|
|
74
|
+
}
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
const seo: PngToPdfLocaleContent['seo'] = [
|
|
78
|
+
{
|
|
79
|
+
"type": "title",
|
|
80
|
+
"text": "Ubah kumpulan gambar PNG menjadi dokumen PDF siap cetak",
|
|
81
|
+
"level": 2
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "paragraph",
|
|
85
|
+
"html": "Konverter PNG ke PDF ini dirancang untuk menyatukan foto atau dokumen hasil pemindaian menjadi satu berkas PDF yang rapi. Atur urutan halaman dan sesuaikan pengaturan kertas sebelum mengunduh."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "title",
|
|
89
|
+
"text": "Dokumen rapi tanpa rumit",
|
|
90
|
+
"level": 3
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "list",
|
|
94
|
+
"icon": "mdi:check-circle",
|
|
95
|
+
"items": [
|
|
96
|
+
"Urutkan foto agar halaman sampul atau gambar utama berada di depan.",
|
|
97
|
+
"Pilih orientasi potret atau lansekap sesuai jenis gambar Anda.",
|
|
98
|
+
"Sesuaikan margin agar hasil cetak di printer fisik terlihat sempurna."
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "tip",
|
|
103
|
+
"title": "Keamanan data terjamin",
|
|
104
|
+
"html": "Proses konversi berlangsung sepenuhnya di peramban Anda tanpa melalui server luar."
|
|
105
|
+
}
|
|
106
|
+
];
|
|
107
|
+
|
|
108
|
+
export const content: PngToPdfLocaleContent = {
|
|
109
|
+
slug, title, description, ui, seo, faq, bibliography, howTo,
|
|
110
|
+
schemas: generateSchemas({ title, description, inLanguage: 'id', faq, howTo }),
|
|
111
|
+
};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { PngToPdfLocaleContent } from '../entry';
|
|
4
|
+
import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'convertitore-da-png-a-pdf';
|
|
7
|
+
const title = "Convertitore da PNG a PDF";
|
|
8
|
+
const description = "Converti immagini PNG in un PDF ordinato nel tuo browser. Scegli formato carta, orientamento e margini senza caricare file.";
|
|
9
|
+
|
|
10
|
+
const ui: ImageToPdfUI = {
|
|
11
|
+
formatLabel: 'PNG',
|
|
12
|
+
dropTitle: "Crea un PDF dalle tue immagini PNG",
|
|
13
|
+
dropText: "Trascina qui i file PNG. L ordine scelto sarà l ordine delle pagine.",
|
|
14
|
+
selectFiles: "Seleziona file PNG",
|
|
15
|
+
privacyNote: "Tutto viene elaborato nel browser. Le tue immagini non vengono caricate.",
|
|
16
|
+
optionsTitle: "Foglio di stampa",
|
|
17
|
+
settingsTitle: "Impostazioni carta",
|
|
18
|
+
pageSizeLabel: "Formato carta",
|
|
19
|
+
a4: 'A4',
|
|
20
|
+
letter: 'Letter',
|
|
21
|
+
orientationLabel: "Orientamento",
|
|
22
|
+
portrait: "Verticale",
|
|
23
|
+
landscape: "Orizzontale",
|
|
24
|
+
marginLabel: "Margini",
|
|
25
|
+
pagesTitle: "Pagine",
|
|
26
|
+
reorderHint: "Sposta le pagine prima di esportare.",
|
|
27
|
+
page: "Pagina",
|
|
28
|
+
pageSingular: "pagina",
|
|
29
|
+
pagePlural: "pagine",
|
|
30
|
+
moveUp: "Sposta su",
|
|
31
|
+
moveDown: "Sposta giù",
|
|
32
|
+
remove: "Rimuovi",
|
|
33
|
+
emptyPages: "Le immagini selezionate appariranno qui.",
|
|
34
|
+
createPdf: "Crea PDF",
|
|
35
|
+
reset: "Ricomincia",
|
|
36
|
+
ready: "Pronto per le tue immagini",
|
|
37
|
+
processing: "Preparazione immagine",
|
|
38
|
+
error: "Impossibile leggere l immagine",
|
|
39
|
+
downloadPdf: "Scarica PDF",
|
|
40
|
+
building: "Creazione PDF",
|
|
41
|
+
pdfReady: "Il tuo PDF è pronto",
|
|
42
|
+
invalidFile: "Questo strumento accetta solo file PNG e JPEG.",
|
|
43
|
+
bibliographyTitle: "Riferimenti",
|
|
44
|
+
faqTitle: "Domande frequenti",
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const faq: PngToPdfLocaleContent['faq'] = [
|
|
48
|
+
{
|
|
49
|
+
"question": "Posso unire più immagini PNG in un unico PDF?",
|
|
50
|
+
"answer": "Sì. Seleziona i file PNG desiderati, ordina le pagine ed esporta un unico documento PDF."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"question": "Le mie immagini vengono caricate su un server?",
|
|
54
|
+
"answer": "No. Tutto il processo avviene localmente nel tuo browser."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"question": "Posso scegliere il formato A4 o Lettera?",
|
|
58
|
+
"answer": "Sì. Puoi selezionare A4 o Letter, l orientamento e i margini."
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
const howTo: PngToPdfLocaleContent['howTo'] = [
|
|
63
|
+
{
|
|
64
|
+
"name": "Seleziona le immagini PNG",
|
|
65
|
+
"text": "Trascina i file PNG o sceglili dal tuo dispositivo."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "Organizza le pagine",
|
|
69
|
+
"text": "Ordina le immagini e imposta formato A4/Letter, orientamento e margini."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "Crea e scarica",
|
|
73
|
+
"text": "Clicca su Crea PDF e scarica il documento finale."
|
|
74
|
+
}
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
const seo: PngToPdfLocaleContent['seo'] = [
|
|
78
|
+
{
|
|
79
|
+
"type": "title",
|
|
80
|
+
"text": "Trasforma le tue immagini PNG in un PDF pronto per la stampa",
|
|
81
|
+
"level": 2
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "paragraph",
|
|
85
|
+
"html": "Questo convertitore da PNG a PDF ti permette di unire scansioni e foto in un unico documento organizzato. Personalizza l ordine delle pagine e la disposizione del foglio."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "title",
|
|
89
|
+
"text": "Documenti ordinati in pochi clic",
|
|
90
|
+
"level": 3
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "list",
|
|
94
|
+
"icon": "mdi:check-circle",
|
|
95
|
+
"items": [
|
|
96
|
+
"Riordina le immagini prima di generare il file definitivo.",
|
|
97
|
+
"Scegli l orientamento verticale o orizzontale ideale.",
|
|
98
|
+
"Imposta i margini per una stampa senza tagli indesiderati."
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "tip",
|
|
103
|
+
"title": "Massima privacy per i tuoi file",
|
|
104
|
+
"html": "I file vengono elaborati direttamente sul tuo dispositivo senza essere trasmessi online."
|
|
105
|
+
}
|
|
106
|
+
];
|
|
107
|
+
|
|
108
|
+
export const content: PngToPdfLocaleContent = {
|
|
109
|
+
slug, title, description, ui, seo, faq, bibliography, howTo,
|
|
110
|
+
schemas: generateSchemas({ title, description, inLanguage: 'it', faq, howTo }),
|
|
111
|
+
};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { PngToPdfLocaleContent } from '../entry';
|
|
4
|
+
import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'png-to-pdf-converter';
|
|
7
|
+
const title = "PNG PDF 変換ツール";
|
|
8
|
+
const description = "ブラウザ上でPNG画像を整列されたPDFに変換。ファイルをアップロードすることなく、用紙サイズや向き、余白を設定できます。";
|
|
9
|
+
|
|
10
|
+
const ui: ImageToPdfUI = {
|
|
11
|
+
formatLabel: 'PNG',
|
|
12
|
+
dropTitle: "PNG画像からPDFを作成",
|
|
13
|
+
dropText: "ここにPNGファイルをドロップ。選択した順番がそのままページ順になります。",
|
|
14
|
+
selectFiles: "PNGファイルを選択",
|
|
15
|
+
privacyNote: "すべての処理はブラウザ内で行われます。画像がアップロードされることはありません。",
|
|
16
|
+
optionsTitle: "印刷シート",
|
|
17
|
+
settingsTitle: "用紙設定",
|
|
18
|
+
pageSizeLabel: "用紙サイズ",
|
|
19
|
+
a4: 'A4',
|
|
20
|
+
letter: 'Letter',
|
|
21
|
+
orientationLabel: "向き",
|
|
22
|
+
portrait: "縦向き",
|
|
23
|
+
landscape: "横向き",
|
|
24
|
+
marginLabel: "余白",
|
|
25
|
+
pagesTitle: "ページ一覧",
|
|
26
|
+
reorderHint: "出力前にページの順番を並べ替えます。",
|
|
27
|
+
page: "ページ",
|
|
28
|
+
pageSingular: "ページ",
|
|
29
|
+
pagePlural: "ページ",
|
|
30
|
+
moveUp: "上へ移動",
|
|
31
|
+
moveDown: "下へ移動",
|
|
32
|
+
remove: "削除",
|
|
33
|
+
emptyPages: "選択した画像がここに表示されます。",
|
|
34
|
+
createPdf: "PDFを作成",
|
|
35
|
+
reset: "リセット",
|
|
36
|
+
ready: "画像の準備完了",
|
|
37
|
+
processing: "画像を処理中",
|
|
38
|
+
error: "画像を読み込めませんでした",
|
|
39
|
+
downloadPdf: "PDFをダウンロード",
|
|
40
|
+
building: "PDFを生成中",
|
|
41
|
+
pdfReady: "PDFの作成が完了しました",
|
|
42
|
+
invalidFile: "このツールはPNGおよびJPEGファイルのみに対応しています。",
|
|
43
|
+
bibliographyTitle: "参考文献",
|
|
44
|
+
faqTitle: "よくある質問",
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const faq: PngToPdfLocaleContent['faq'] = [
|
|
48
|
+
{
|
|
49
|
+
"question": "複数のPNG画像を1つのPDFにまとめられますか?",
|
|
50
|
+
"answer": "はい。必要なだけのPNGファイルを選択し、ページ順を整えて1つのPDFファイルとして出力できます。"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"question": "画像がサーバーに送信されることはありますか?",
|
|
54
|
+
"answer": "いいえ。すべての変換処理はブラウザ内で完結するため、安全です。"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"question": "A4やLetterなどの用紙サイズを選べますか?",
|
|
58
|
+
"answer": "はい。A4やLetterサイズ、縦横の向き、余白を設定できます。"
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
const howTo: PngToPdfLocaleContent['howTo'] = [
|
|
63
|
+
{
|
|
64
|
+
"name": "PNG画像を選択",
|
|
65
|
+
"text": "PNGファイルをドラッグ&ドロップするか、デバイスから選択します。"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "ページと用紙の設定",
|
|
69
|
+
"text": "ページの順序を並べ替え、A4/Letterサイズや向き、余白を調整します。"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "PDFを作成してダウンロード",
|
|
73
|
+
"text": "「PDFを作成」をクリックし、完成したファイルを手元に保存します。"
|
|
74
|
+
}
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
const seo: PngToPdfLocaleContent['seo'] = [
|
|
78
|
+
{
|
|
79
|
+
"type": "title",
|
|
80
|
+
"text": "PNG画像を印刷に適した高品質なPDFへ変換",
|
|
81
|
+
"level": 2
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "paragraph",
|
|
85
|
+
"html": "複数枚のPNG画像やスキャンデータを、1つのきれいなPDFファイルにまとめるツールです。ページ順の変更や用紙サイズ・余白の指定も簡単に行えます。"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "title",
|
|
89
|
+
"text": "きれいなPDF書類を作成するポイント",
|
|
90
|
+
"level": 3
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "list",
|
|
94
|
+
"icon": "mdi:check-circle",
|
|
95
|
+
"items": [
|
|
96
|
+
"表紙や重要な写真を先頭にするようドラッグで並べ替え。",
|
|
97
|
+
"縦長画像は「縦向き」、横長画像は「横向き」を選択。",
|
|
98
|
+
"ご家庭のプリンターで印刷する場合は十分な余白を設定。"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "tip",
|
|
103
|
+
"title": "個人情報や機密写真も安心",
|
|
104
|
+
"html": "ブラウザローカルで処理されるため、プライベートな写真や重要書類も安心して変換できます。"
|
|
105
|
+
}
|
|
106
|
+
];
|
|
107
|
+
|
|
108
|
+
export const content: PngToPdfLocaleContent = {
|
|
109
|
+
slug, title, description, ui, seo, faq, bibliography, howTo,
|
|
110
|
+
schemas: generateSchemas({ title, description, inLanguage: 'ja', faq, howTo }),
|
|
111
|
+
};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { PngToPdfLocaleContent } from '../entry';
|
|
4
|
+
import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
|
|
5
|
+
|
|
6
|
+
const slug = 'png-to-pdf-converter';
|
|
7
|
+
const title = "PNG를 PDF로 변환하는 툴";
|
|
8
|
+
const description = "브라우저에서 PNG 이미지를 정렬된 PDF 문서로 변환하세요. 파일 업로드 없이 용지 크기, 방향, 여백을 자유롭게 설정할 수 있습니다.";
|
|
9
|
+
|
|
10
|
+
const ui: ImageToPdfUI = {
|
|
11
|
+
formatLabel: 'PNG',
|
|
12
|
+
dropTitle: "PNG 이미지로 PDF 만들기",
|
|
13
|
+
dropText: "여기에 PNG 파일을 끌어다 놓으세요. 선택한 순서가 페이지 순서가 됩니다.",
|
|
14
|
+
selectFiles: "PNG 파일 선택",
|
|
15
|
+
privacyNote: "모든 작업은 브라우저 내에서 수행됩니다. 이미지가 서버로 업로드되지 않습니다.",
|
|
16
|
+
optionsTitle: "인쇄 시트",
|
|
17
|
+
settingsTitle: "용지 설정",
|
|
18
|
+
pageSizeLabel: "용지 크기",
|
|
19
|
+
a4: 'A4',
|
|
20
|
+
letter: 'Letter',
|
|
21
|
+
orientationLabel: "방향",
|
|
22
|
+
portrait: "세로",
|
|
23
|
+
landscape: "가로",
|
|
24
|
+
marginLabel: "여백",
|
|
25
|
+
pagesTitle: "페이지 목록",
|
|
26
|
+
reorderHint: "내보내기 전에 순서를 변경하세요.",
|
|
27
|
+
page: "페이지",
|
|
28
|
+
pageSingular: "페이지",
|
|
29
|
+
pagePlural: "페이지",
|
|
30
|
+
moveUp: "위로",
|
|
31
|
+
moveDown: "아래로",
|
|
32
|
+
remove: "삭제",
|
|
33
|
+
emptyPages: "선택한 이미지가 여기에 표시됩니다.",
|
|
34
|
+
createPdf: "PDF 생성",
|
|
35
|
+
reset: "초기화",
|
|
36
|
+
ready: "이미지 준비 완료",
|
|
37
|
+
processing: "이미지 처리 중",
|
|
38
|
+
error: "이미지를 읽을 수 없습니다",
|
|
39
|
+
downloadPdf: "PDF 다운로드",
|
|
40
|
+
building: "PDF 만드는 중",
|
|
41
|
+
pdfReady: "PDF가 준비되었습니다",
|
|
42
|
+
invalidFile: "이 툴은 PNG 및 JPEG 파일만 지원합니다.",
|
|
43
|
+
bibliographyTitle: "참고자료",
|
|
44
|
+
faqTitle: "자주 묻는 질문",
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const faq: PngToPdfLocaleContent['faq'] = [
|
|
48
|
+
{
|
|
49
|
+
"question": "여러 개의 PNG 이미지를 하나의 PDF로 합칠 수 있나요?",
|
|
50
|
+
"answer": "네. 원하는 수만큼 PNG 파일을 선택하고 순서를 정한 뒤 하나의 PDF로 내보낼 수 있습니다."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"question": "이미지가 외부 서버로 전송되나요?",
|
|
54
|
+
"answer": "아니요. 모든 변환 작업은 사용자의 브라우저 내에서 안전하게 처리됩니다."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"question": "A4나 Letter 용지 크기를 선택할 수 있나요?",
|
|
58
|
+
"answer": "네. A4, Letter 용지 규격과 방향, 여백을 직접 설정할 수 있습니다."
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
const howTo: PngToPdfLocaleContent['howTo'] = [
|
|
63
|
+
{
|
|
64
|
+
"name": "PNG 이미지 선택",
|
|
65
|
+
"text": "PNG 파일을 끌어다 놓거나 기기에서 선택합니다."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "페이지 및 용지 설정",
|
|
69
|
+
"text": "이미지 순서를 정렬하고 A4/Letter 규격, 방향, 여백을 설정합니다."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "PDF 생성 및 다운로드",
|
|
73
|
+
"text": "PDF 생성 버튼을 누르고 완성된 문서를 다운로드합니다."
|
|
74
|
+
}
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
const seo: PngToPdfLocaleContent['seo'] = [
|
|
78
|
+
{
|
|
79
|
+
"type": "title",
|
|
80
|
+
"text": "PNG 이미지를 인쇄용 PDF 문서로 완벽하게 변환",
|
|
81
|
+
"level": 2
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "paragraph",
|
|
85
|
+
"html": "여러 장의 PNG 사진이나 스캔 문서를 하나의 정돈된 PDF 파일로 합쳐주는 도구입니다. 용지 사양과 방향, 여백을 자유롭게 조절하세요."
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "title",
|
|
89
|
+
"text": "깔끔한 문서 구성을 위한 팁",
|
|
90
|
+
"level": 3
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "list",
|
|
94
|
+
"icon": "mdi:check-circle",
|
|
95
|
+
"items": [
|
|
96
|
+
"원하는 페이지 순서대로 자유롭게 위치 변경.",
|
|
97
|
+
"이미지 형태에 맞춰 세로 또는 가로 방향 선택.",
|
|
98
|
+
"인쇄 시 여백이 잘리지 않도록 여백 설정 조절."
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "tip",
|
|
103
|
+
"title": "안전한 프라이버시 보장",
|
|
104
|
+
"html": "모든 작업이 내 기기의 브라우저에서 실행되므로 중요한 파일도 안심하고 변환할 수 있습니다."
|
|
105
|
+
}
|
|
106
|
+
];
|
|
107
|
+
|
|
108
|
+
export const content: PngToPdfLocaleContent = {
|
|
109
|
+
slug, title, description, ui, seo, faq, bibliography, howTo,
|
|
110
|
+
schemas: generateSchemas({ title, description, inLanguage: 'ko', faq, howTo }),
|
|
111
|
+
};
|