@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.
Files changed (88) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +4 -0
  3. package/src/entries.ts +4 -1
  4. package/src/index.ts +3 -0
  5. package/src/shared/ImageToPdfConverter.astro +80 -0
  6. package/src/shared/image-to-pdf/controller.ts +173 -0
  7. package/src/shared/image-to-pdf/dom-views.ts +55 -0
  8. package/src/shared/image-to-pdf/evaluator.ts +18 -0
  9. package/src/shared/image-to-pdf/logic.test.ts +29 -0
  10. package/src/shared/image-to-pdf/logic.ts +214 -0
  11. package/src/shared/image-to-pdf/storage.ts +36 -0
  12. package/src/shared/image-to-pdf/ui.ts +39 -0
  13. package/src/shared/image-to-pdf.css +394 -0
  14. package/src/tests/i18n_coverage.test.ts +2 -3
  15. package/src/tests/locale_completeness.test.ts +2 -3
  16. package/src/tests/seo_translation_completeness.test.ts +69 -0
  17. package/src/tests/spanish_leakage.test.ts +5 -1
  18. package/src/tests/tool_validation.test.ts +2 -2
  19. package/src/tool/jpgToPdf/bibliography.astro +11 -0
  20. package/src/tool/jpgToPdf/bibliography.ts +12 -0
  21. package/src/tool/jpgToPdf/component.astro +10 -0
  22. package/src/tool/jpgToPdf/entry.ts +26 -0
  23. package/src/tool/jpgToPdf/i18n/de.ts +111 -0
  24. package/src/tool/jpgToPdf/i18n/en.ts +37 -0
  25. package/src/tool/jpgToPdf/i18n/es.ts +111 -0
  26. package/src/tool/jpgToPdf/i18n/fr.ts +111 -0
  27. package/src/tool/jpgToPdf/i18n/id.ts +111 -0
  28. package/src/tool/jpgToPdf/i18n/it.ts +111 -0
  29. package/src/tool/jpgToPdf/i18n/ja.ts +111 -0
  30. package/src/tool/jpgToPdf/i18n/ko.ts +111 -0
  31. package/src/tool/jpgToPdf/i18n/nl.ts +111 -0
  32. package/src/tool/jpgToPdf/i18n/pl.ts +111 -0
  33. package/src/tool/jpgToPdf/i18n/pt.ts +111 -0
  34. package/src/tool/jpgToPdf/i18n/ru.ts +111 -0
  35. package/src/tool/jpgToPdf/i18n/sv.ts +111 -0
  36. package/src/tool/jpgToPdf/i18n/tr.ts +111 -0
  37. package/src/tool/jpgToPdf/i18n/zh.ts +111 -0
  38. package/src/tool/jpgToPdf/index.ts +11 -0
  39. package/src/tool/jpgToPdf/jpg-to-pdf-converter.css +3 -0
  40. package/src/tool/jpgToPdf/seo.astro +12 -0
  41. package/src/tool/pngAJpg/i18n/ko.ts +1 -1
  42. package/src/tool/pngAJpg/i18n/ru.ts +1 -1
  43. package/src/tool/pngAJpg/i18n/zh.ts +1 -1
  44. package/src/tool/pngToPdf/bibliography.astro +11 -0
  45. package/src/tool/pngToPdf/bibliography.ts +12 -0
  46. package/src/tool/pngToPdf/component.astro +10 -0
  47. package/src/tool/pngToPdf/entry.ts +26 -0
  48. package/src/tool/pngToPdf/i18n/de.ts +111 -0
  49. package/src/tool/pngToPdf/i18n/en.ts +37 -0
  50. package/src/tool/pngToPdf/i18n/es.ts +111 -0
  51. package/src/tool/pngToPdf/i18n/fr.ts +111 -0
  52. package/src/tool/pngToPdf/i18n/id.ts +111 -0
  53. package/src/tool/pngToPdf/i18n/it.ts +111 -0
  54. package/src/tool/pngToPdf/i18n/ja.ts +111 -0
  55. package/src/tool/pngToPdf/i18n/ko.ts +111 -0
  56. package/src/tool/pngToPdf/i18n/nl.ts +111 -0
  57. package/src/tool/pngToPdf/i18n/pl.ts +111 -0
  58. package/src/tool/pngToPdf/i18n/pt.ts +111 -0
  59. package/src/tool/pngToPdf/i18n/ru.ts +111 -0
  60. package/src/tool/pngToPdf/i18n/sv.ts +111 -0
  61. package/src/tool/pngToPdf/i18n/tr.ts +111 -0
  62. package/src/tool/pngToPdf/i18n/zh.ts +111 -0
  63. package/src/tool/pngToPdf/index.ts +11 -0
  64. package/src/tool/pngToPdf/png-to-pdf-converter.css +3 -0
  65. package/src/tool/pngToPdf/seo.astro +12 -0
  66. package/src/tool/webpToPdf/bibliography.astro +11 -0
  67. package/src/tool/webpToPdf/bibliography.ts +12 -0
  68. package/src/tool/webpToPdf/component.astro +10 -0
  69. package/src/tool/webpToPdf/entry.ts +26 -0
  70. package/src/tool/webpToPdf/i18n/de.ts +111 -0
  71. package/src/tool/webpToPdf/i18n/en.ts +37 -0
  72. package/src/tool/webpToPdf/i18n/es.ts +111 -0
  73. package/src/tool/webpToPdf/i18n/fr.ts +111 -0
  74. package/src/tool/webpToPdf/i18n/id.ts +111 -0
  75. package/src/tool/webpToPdf/i18n/it.ts +111 -0
  76. package/src/tool/webpToPdf/i18n/ja.ts +111 -0
  77. package/src/tool/webpToPdf/i18n/ko.ts +111 -0
  78. package/src/tool/webpToPdf/i18n/nl.ts +111 -0
  79. package/src/tool/webpToPdf/i18n/pl.ts +111 -0
  80. package/src/tool/webpToPdf/i18n/pt.ts +111 -0
  81. package/src/tool/webpToPdf/i18n/ru.ts +111 -0
  82. package/src/tool/webpToPdf/i18n/sv.ts +111 -0
  83. package/src/tool/webpToPdf/i18n/tr.ts +111 -0
  84. package/src/tool/webpToPdf/i18n/zh.ts +111 -0
  85. package/src/tool/webpToPdf/index.ts +11 -0
  86. package/src/tool/webpToPdf/seo.astro +12 -0
  87. package/src/tool/webpToPdf/webp-to-pdf-converter.css +3 -0
  88. 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 { WebpToPdfLocaleContent } from '../entry';
4
+ import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
5
+
6
+ const slug = 'konverter-webp-ke-pdf';
7
+ const title = "Konverter WebP ke PDF";
8
+ const description = "Ubah gambar WebP menjadi dokumen PDF rapi di peramban. Pilih ukuran kertas, orientasi, dan margin tanpa mengunggah berkas.";
9
+
10
+ const ui: ImageToPdfUI = {
11
+ formatLabel: 'WebP',
12
+ dropTitle: "Buat PDF dari gambar WebP Anda",
13
+ dropText: "Tarik berkas WebP ke sini. Urutan yang Anda pilih menjadi urutan halaman.",
14
+ selectFiles: "Pilih berkas WebP",
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 WebP dan JPEG.",
43
+ bibliographyTitle: "Referensi",
44
+ faqTitle: "Pertanyaan umum",
45
+ };
46
+
47
+ const faq: WebpToPdfLocaleContent['faq'] = [
48
+ {
49
+ "question": "Bisakah saya menggabungkan beberapa gambar WebP ke satu PDF?",
50
+ "answer": "Bisa. Pilih berkas WebP 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: WebpToPdfLocaleContent['howTo'] = [
63
+ {
64
+ "name": "Pilih gambar WebP",
65
+ "text": "Tarik berkas WebP 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: WebpToPdfLocaleContent['seo'] = [
78
+ {
79
+ "type": "title",
80
+ "text": "Ubah kumpulan gambar WebP menjadi dokumen PDF siap cetak",
81
+ "level": 2
82
+ },
83
+ {
84
+ "type": "paragraph",
85
+ "html": "Konverter WebP 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: WebpToPdfLocaleContent = {
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 { WebpToPdfLocaleContent } from '../entry';
4
+ import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
5
+
6
+ const slug = 'convertitore-da-webp-a-pdf';
7
+ const title = "Convertitore da WebP a PDF";
8
+ const description = "Converti immagini WebP in un PDF ordinato nel tuo browser. Scegli formato carta, orientamento e margini senza caricare file.";
9
+
10
+ const ui: ImageToPdfUI = {
11
+ formatLabel: 'WebP',
12
+ dropTitle: "Crea un PDF dalle tue immagini WebP",
13
+ dropText: "Trascina qui i file WebP. L ordine scelto sarà l ordine delle pagine.",
14
+ selectFiles: "Seleziona file WebP",
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 WebP e JPEG.",
43
+ bibliographyTitle: "Riferimenti",
44
+ faqTitle: "Domande frequenti",
45
+ };
46
+
47
+ const faq: WebpToPdfLocaleContent['faq'] = [
48
+ {
49
+ "question": "Posso unire più immagini WebP in un unico PDF?",
50
+ "answer": "Sì. Seleziona i file WebP 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: WebpToPdfLocaleContent['howTo'] = [
63
+ {
64
+ "name": "Seleziona le immagini WebP",
65
+ "text": "Trascina i file WebP 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: WebpToPdfLocaleContent['seo'] = [
78
+ {
79
+ "type": "title",
80
+ "text": "Trasforma le tue immagini WebP in un PDF pronto per la stampa",
81
+ "level": 2
82
+ },
83
+ {
84
+ "type": "paragraph",
85
+ "html": "Questo convertitore da WebP 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: WebpToPdfLocaleContent = {
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 { WebpToPdfLocaleContent } from '../entry';
4
+ import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
5
+
6
+ const slug = 'webp-to-pdf-converter';
7
+ const title = "WebP PDF 変換ツール";
8
+ const description = "ブラウザ上でWebP画像を整列されたPDFに変換。ファイルをアップロードすることなく、用紙サイズや向き、余白を設定できます。";
9
+
10
+ const ui: ImageToPdfUI = {
11
+ formatLabel: 'WebP',
12
+ dropTitle: "WebP画像からPDFを作成",
13
+ dropText: "ここにWebPファイルをドロップ。選択した順番がそのままページ順になります。",
14
+ selectFiles: "WebPファイルを選択",
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: "このツールはWebPおよびJPEGファイルのみに対応しています。",
43
+ bibliographyTitle: "参考文献",
44
+ faqTitle: "よくある質問",
45
+ };
46
+
47
+ const faq: WebpToPdfLocaleContent['faq'] = [
48
+ {
49
+ "question": "複数のWebP画像を1つのPDFにまとめられますか?",
50
+ "answer": "はい。必要なだけのWebPファイルを選択し、ページ順を整えて1つのPDFファイルとして出力できます。"
51
+ },
52
+ {
53
+ "question": "画像がサーバーに送信されることはありますか?",
54
+ "answer": "いいえ。すべての変換処理はブラウザ内で完結するため、安全です。"
55
+ },
56
+ {
57
+ "question": "A4やLetterなどの用紙サイズを選べますか?",
58
+ "answer": "はい。A4やLetterサイズ、縦横の向き、余白を設定できます。"
59
+ }
60
+ ];
61
+
62
+ const howTo: WebpToPdfLocaleContent['howTo'] = [
63
+ {
64
+ "name": "WebP画像を選択",
65
+ "text": "WebPファイルをドラッグ&ドロップするか、デバイスから選択します。"
66
+ },
67
+ {
68
+ "name": "ページと用紙の設定",
69
+ "text": "ページの順序を並べ替え、A4/Letterサイズや向き、余白を調整します。"
70
+ },
71
+ {
72
+ "name": "PDFを作成してダウンロード",
73
+ "text": "「PDFを作成」をクリックし、完成したファイルを手元に保存します。"
74
+ }
75
+ ];
76
+
77
+ const seo: WebpToPdfLocaleContent['seo'] = [
78
+ {
79
+ "type": "title",
80
+ "text": "WebP画像を印刷に適した高品質なPDFへ変換",
81
+ "level": 2
82
+ },
83
+ {
84
+ "type": "paragraph",
85
+ "html": "複数枚のWebP画像やスキャンデータを、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: WebpToPdfLocaleContent = {
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 { WebpToPdfLocaleContent } from '../entry';
4
+ import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
5
+
6
+ const slug = 'webp-to-pdf-converter';
7
+ const title = "WebP를 PDF로 변환하는 툴";
8
+ const description = "브라우저에서 WebP 이미지를 정렬된 PDF 문서로 변환하세요. 파일 업로드 없이 용지 크기, 방향, 여백을 자유롭게 설정할 수 있습니다.";
9
+
10
+ const ui: ImageToPdfUI = {
11
+ formatLabel: 'WebP',
12
+ dropTitle: "WebP 이미지로 PDF 만들기",
13
+ dropText: "여기에 WebP 파일을 끌어다 놓으세요. 선택한 순서가 페이지 순서가 됩니다.",
14
+ selectFiles: "WebP 파일 선택",
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: "이 툴은 WebP 및 JPEG 파일만 지원합니다.",
43
+ bibliographyTitle: "참고자료",
44
+ faqTitle: "자주 묻는 질문",
45
+ };
46
+
47
+ const faq: WebpToPdfLocaleContent['faq'] = [
48
+ {
49
+ "question": "여러 개의 WebP 이미지를 하나의 PDF로 합칠 수 있나요?",
50
+ "answer": "네. 원하는 수만큼 WebP 파일을 선택하고 순서를 정한 뒤 하나의 PDF로 내보낼 수 있습니다."
51
+ },
52
+ {
53
+ "question": "이미지가 외부 서버로 전송되나요?",
54
+ "answer": "아니요. 모든 변환 작업은 사용자의 브라우저 내에서 안전하게 처리됩니다."
55
+ },
56
+ {
57
+ "question": "A4나 Letter 용지 크기를 선택할 수 있나요?",
58
+ "answer": "네. A4, Letter 용지 규격과 방향, 여백을 직접 설정할 수 있습니다."
59
+ }
60
+ ];
61
+
62
+ const howTo: WebpToPdfLocaleContent['howTo'] = [
63
+ {
64
+ "name": "WebP 이미지 선택",
65
+ "text": "WebP 파일을 끌어다 놓거나 기기에서 선택합니다."
66
+ },
67
+ {
68
+ "name": "페이지 및 용지 설정",
69
+ "text": "이미지 순서를 정렬하고 A4/Letter 규격, 방향, 여백을 설정합니다."
70
+ },
71
+ {
72
+ "name": "PDF 생성 및 다운로드",
73
+ "text": "PDF 생성 버튼을 누르고 완성된 문서를 다운로드합니다."
74
+ }
75
+ ];
76
+
77
+ const seo: WebpToPdfLocaleContent['seo'] = [
78
+ {
79
+ "type": "title",
80
+ "text": "WebP 이미지를 인쇄용 PDF 문서로 완벽하게 변환",
81
+ "level": 2
82
+ },
83
+ {
84
+ "type": "paragraph",
85
+ "html": "여러 장의 WebP 사진이나 스캔 문서를 하나의 정돈된 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: WebpToPdfLocaleContent = {
109
+ slug, title, description, ui, seo, faq, bibliography, howTo,
110
+ schemas: generateSchemas({ title, description, inLanguage: 'ko', faq, howTo }),
111
+ };
@@ -0,0 +1,111 @@
1
+ import { generateSchemas } from '../../../shared/logic/schemas';
2
+ import { bibliography } from '../bibliography';
3
+ import type { WebpToPdfLocaleContent } from '../entry';
4
+ import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
5
+
6
+ const slug = 'jpg-naar-pdf-omzetten';
7
+ const title = "WebP naar PDF Omzetter";
8
+ const description = "Zet WebP-afbeeldingen in uw browser om naar een geordende PDF. Kies papierformaat, oriëntatie en marges zonder bestanden te uploaden.";
9
+
10
+ const ui: ImageToPdfUI = {
11
+ formatLabel: 'WebP',
12
+ dropTitle: "Maak een PDF van uw WebP-afbeeldingen",
13
+ dropText: "Sleep WebP-bestanden hier naartoe. De gekozen volgorde wordt de paginavolgorde.",
14
+ selectFiles: "WebP-bestanden selecteren",
15
+ privacyNote: "Alles blijft in de browser. Uw afbeeldingen worden nooit geüpload.",
16
+ optionsTitle: "Afdrukblad",
17
+ settingsTitle: "Papierinstellingen",
18
+ pageSizeLabel: "Papierformaat",
19
+ a4: 'A4',
20
+ letter: 'Letter',
21
+ orientationLabel: "Oriëntatie",
22
+ portrait: "Staand",
23
+ landscape: "Liggend",
24
+ marginLabel: "Marges",
25
+ pagesTitle: "Pagina s",
26
+ reorderHint: "Verplaats pagina s voor het exporteren.",
27
+ page: "Pagina",
28
+ pageSingular: "pagina",
29
+ pagePlural: "pagina s",
30
+ moveUp: "Omhoog",
31
+ moveDown: "Omlaag",
32
+ remove: "Verwijderen",
33
+ emptyPages: "Uw geselecteerde afbeeldingen verschijnen hier.",
34
+ createPdf: "PDF maken",
35
+ reset: "Opnieuw beginnen",
36
+ ready: "Klaar voor uw afbeeldingen",
37
+ processing: "Afbeelding voorbereiden",
38
+ error: "Kan afbeelding niet lezen",
39
+ downloadPdf: "PDF downloaden",
40
+ building: "PDF wordt gemaakt",
41
+ pdfReady: "Uw PDF is klaar",
42
+ invalidFile: "Deze tool accepteert alleen WebP- en JPEG-bestanden.",
43
+ bibliographyTitle: "Referenties",
44
+ faqTitle: "Veelgestelde vragen",
45
+ };
46
+
47
+ const faq: WebpToPdfLocaleContent['faq'] = [
48
+ {
49
+ "question": "Kan ik meerdere WebP-afbeeldingen samenvoegen tot één PDF?",
50
+ "answer": "Ja. Selecteer de WebP-bestanden, pas de volgorde aan en exporteer één PDF-document."
51
+ },
52
+ {
53
+ "question": "Worden mijn afbeeldingen geüpload?",
54
+ "answer": "Nee. De verwerking vindt volledig lokaal plaats in uw browser."
55
+ },
56
+ {
57
+ "question": "Kan ik A4 of Letter kiezen?",
58
+ "answer": "Ja. U kunt kiezen uit A4 of Letter en de oriëntatie en marges aanpassen."
59
+ }
60
+ ];
61
+
62
+ const howTo: WebpToPdfLocaleContent['howTo'] = [
63
+ {
64
+ "name": "Selecteer WebP-afbeeldingen",
65
+ "text": "Sleep uw WebP-bestanden of kies ze vanaf uw apparaat."
66
+ },
67
+ {
68
+ "name": "Schik de pagina s",
69
+ "text": "Pas de volgorde aan en kies papierformaat A4/Letter, oriëntatie en marges."
70
+ },
71
+ {
72
+ "name": "Maak en download de PDF",
73
+ "text": "Klik op PDF maken en download het bestand."
74
+ }
75
+ ];
76
+
77
+ const seo: WebpToPdfLocaleContent['seo'] = [
78
+ {
79
+ "type": "title",
80
+ "text": "Maak een printklare PDF van uw WebP-afbeeldingen",
81
+ "level": 2
82
+ },
83
+ {
84
+ "type": "paragraph",
85
+ "html": "Deze WebP naar PDF omzetter is ideaal om meerdere foto s of scans samen te voegen tot één overzichtelijk document. Stel eenvoudig volgorde en paginaformaat in."
86
+ },
87
+ {
88
+ "type": "title",
89
+ "text": "Nette documenten in een handomdraai",
90
+ "level": 3
91
+ },
92
+ {
93
+ "type": "list",
94
+ "icon": "mdi:check-circle",
95
+ "items": [
96
+ "Orden de pagina s zodat het document logisch opbouwt.",
97
+ "Kies staand of liggend afhankelijk van de foto-oriëntatie.",
98
+ "Pas marges aan voor een optimaal afdrukresultaat op uw printer."
99
+ ]
100
+ },
101
+ {
102
+ "type": "tip",
103
+ "title": "100% Privacy gegarandeerd",
104
+ "html": "De bestanden blijven op uw eigen apparaat en worden niet naar externe servers gestuurd."
105
+ }
106
+ ];
107
+
108
+ export const content: WebpToPdfLocaleContent = {
109
+ slug, title, description, ui, seo, faq, bibliography, howTo,
110
+ schemas: generateSchemas({ title, description, inLanguage: 'nl', faq, howTo }),
111
+ };
@@ -0,0 +1,111 @@
1
+ import { generateSchemas } from '../../../shared/logic/schemas';
2
+ import { bibliography } from '../bibliography';
3
+ import type { WebpToPdfLocaleContent } from '../entry';
4
+ import type { ImageToPdfUI } from '../../../shared/image-to-pdf/ui';
5
+
6
+ const slug = 'konwerter-webp-na-pdf';
7
+ const title = "Konwerter WebP na PDF";
8
+ const description = "Konwertuj obrazy WebP w uporządkowany plik PDF w przeglądarce. Wybierz rozmiar papieru, orientację i marginesy bez przesyłania plików.";
9
+
10
+ const ui: ImageToPdfUI = {
11
+ formatLabel: 'WebP',
12
+ dropTitle: "Utwórz PDF z obrazów WebP",
13
+ dropText: "Przeciągnij pliki WebP tutaj. Wybrana kolejność stanie się kolejnością stron.",
14
+ selectFiles: "Wybierz pliki WebP",
15
+ privacyNote: "Wszystko odbywa się w przeglądarce. Twoje obrazy nie są wysyłane.",
16
+ optionsTitle: "Arkusz druku",
17
+ settingsTitle: "Ustawienia papieru",
18
+ pageSizeLabel: "Rozmiar papieru",
19
+ a4: 'A4',
20
+ letter: 'Letter',
21
+ orientationLabel: "Orientacja",
22
+ portrait: "Pionowa",
23
+ landscape: "Pozioma",
24
+ marginLabel: "Marginesy",
25
+ pagesTitle: "Strony",
26
+ reorderHint: "Zmień kolejność stron przed eksportem.",
27
+ page: "Strona",
28
+ pageSingular: "strona",
29
+ pagePlural: "strony",
30
+ moveUp: "W górę",
31
+ moveDown: "W dół",
32
+ remove: "Usuń",
33
+ emptyPages: "Wybrane obrazy pojawią się tutaj.",
34
+ createPdf: "Utwórz PDF",
35
+ reset: "Zacznij od nowa",
36
+ ready: "Gotowy na obrazy",
37
+ processing: "Przygotowywanie obrazu",
38
+ error: "Nie można odczytać obrazu",
39
+ downloadPdf: "Pobierz PDF",
40
+ building: "Tworzenie PDF",
41
+ pdfReady: "Twój PDF jest gotowy",
42
+ invalidFile: "To narzędzie akceptuje tylko pliki WebP i JPEG.",
43
+ bibliographyTitle: "Bibliografia",
44
+ faqTitle: "Często zadawane pytania",
45
+ };
46
+
47
+ const faq: WebpToPdfLocaleContent['faq'] = [
48
+ {
49
+ "question": "Czy mogę połączyć kilka obrazów WebP w jeden PDF?",
50
+ "answer": "Tak. Wybierz pliki WebP, ustal kolejność stron i wyeksportuj pojedynczy dokument PDF."
51
+ },
52
+ {
53
+ "question": "Czy moje obrazy są wysyłane na serwer?",
54
+ "answer": "Nie. Konwersja odbywa się lokalnie w Twojej przeglądarce."
55
+ },
56
+ {
57
+ "question": "Czy mogę wybrać rozmiar papieru A4 lub Letter?",
58
+ "answer": "Tak. Możesz wybrać format A4 lub Letter, orientację oraz marginesy."
59
+ }
60
+ ];
61
+
62
+ const howTo: WebpToPdfLocaleContent['howTo'] = [
63
+ {
64
+ "name": "Wybierz obrazy WebP",
65
+ "text": "Przeciągnij pliki WebP lub wybierz je z urządzenia."
66
+ },
67
+ {
68
+ "name": "Ułóż strony i papier",
69
+ "text": "Ustaw kolejność obrazów, rozmiar A4/Letter, orientację i marginesy."
70
+ },
71
+ {
72
+ "name": "Wygeneruj i pobierz PDF",
73
+ "text": "Kliknij Utwórz PDF i pobierz gotowy dokument."
74
+ }
75
+ ];
76
+
77
+ const seo: WebpToPdfLocaleContent['seo'] = [
78
+ {
79
+ "type": "title",
80
+ "text": "Zamień obrazy WebP w gotowy do druku dokument PDF",
81
+ "level": 2
82
+ },
83
+ {
84
+ "type": "paragraph",
85
+ "html": "Ten konwerter WebP na PDF umożliwia połączenie zdjęć i skanów w jeden uporządkowany plik. Dostosuj kolejność stron, rozmiar papieru i marginesy."
86
+ },
87
+ {
88
+ "type": "title",
89
+ "text": "Przygotuj estetyczny plik PDF",
90
+ "level": 3
91
+ },
92
+ {
93
+ "type": "list",
94
+ "icon": "mdi:check-circle",
95
+ "items": [
96
+ "Ustaw kolejność stron, aby zachować właściwy układ dokumentu.",
97
+ "Wybierz orientację pionową lub poziomą w zależności od zdjęć.",
98
+ "Dostosuj marginesy, aby uniknąć obcięcia krawędzi przy druku."
99
+ ]
100
+ },
101
+ {
102
+ "type": "tip",
103
+ "title": "Pełna ochrona prywatności",
104
+ "html": "Konwersja odbywa się w Twojej przeglądarce, dzięki czemu poufne dokumenty nie opuszczają Twojego urządzenia."
105
+ }
106
+ ];
107
+
108
+ export const content: WebpToPdfLocaleContent = {
109
+ slug, title, description, ui, seo, faq, bibliography, howTo,
110
+ schemas: generateSchemas({ title, description, inLanguage: 'pl', faq, howTo }),
111
+ };