@jjlmoya/utils-audiovisual 1.7.0 → 1.9.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 (152) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +198 -0
  3. package/src/category/i18n/id.ts +198 -0
  4. package/src/category/i18n/it.ts +198 -0
  5. package/src/category/i18n/ja.ts +198 -0
  6. package/src/category/i18n/ko.ts +198 -0
  7. package/src/category/i18n/nl.ts +198 -0
  8. package/src/category/i18n/pl.ts +198 -0
  9. package/src/category/i18n/pt.ts +198 -0
  10. package/src/category/i18n/ru.ts +198 -0
  11. package/src/category/i18n/sv.ts +198 -0
  12. package/src/category/i18n/tr.ts +198 -0
  13. package/src/category/i18n/zh.ts +198 -0
  14. package/src/category/index.ts +31 -3
  15. package/src/tests/i18n_coverage.test.ts +36 -0
  16. package/src/tests/slug_uniqueness.test.ts +81 -0
  17. package/src/tool/chromaticLens/i18n/de.ts +246 -0
  18. package/src/tool/chromaticLens/i18n/id.ts +246 -0
  19. package/src/tool/chromaticLens/i18n/it.ts +246 -0
  20. package/src/tool/chromaticLens/i18n/ja.ts +246 -0
  21. package/src/tool/chromaticLens/i18n/ko.ts +246 -0
  22. package/src/tool/chromaticLens/i18n/nl.ts +246 -0
  23. package/src/tool/chromaticLens/i18n/pl.ts +246 -0
  24. package/src/tool/chromaticLens/i18n/pt.ts +246 -0
  25. package/src/tool/chromaticLens/i18n/ru.ts +246 -0
  26. package/src/tool/chromaticLens/i18n/sv.ts +246 -0
  27. package/src/tool/chromaticLens/i18n/tr.ts +246 -0
  28. package/src/tool/chromaticLens/i18n/zh.ts +246 -0
  29. package/src/tool/chromaticLens/index.ts +15 -7
  30. package/src/tool/collageMaker/i18n/de.ts +233 -0
  31. package/src/tool/collageMaker/i18n/id.ts +233 -0
  32. package/src/tool/collageMaker/i18n/it.ts +233 -0
  33. package/src/tool/collageMaker/i18n/ja.ts +233 -0
  34. package/src/tool/collageMaker/i18n/ko.ts +233 -0
  35. package/src/tool/collageMaker/i18n/nl.ts +233 -0
  36. package/src/tool/collageMaker/i18n/pl.ts +233 -0
  37. package/src/tool/collageMaker/i18n/pt.ts +233 -0
  38. package/src/tool/collageMaker/i18n/ru.ts +233 -0
  39. package/src/tool/collageMaker/i18n/sv.ts +233 -0
  40. package/src/tool/collageMaker/i18n/tr.ts +233 -0
  41. package/src/tool/collageMaker/i18n/zh.ts +233 -0
  42. package/src/tool/collageMaker/index.ts +15 -6
  43. package/src/tool/exifCleaner/i18n/de.ts +277 -0
  44. package/src/tool/exifCleaner/i18n/fr.ts +1 -1
  45. package/src/tool/exifCleaner/i18n/id.ts +277 -0
  46. package/src/tool/exifCleaner/i18n/it.ts +277 -0
  47. package/src/tool/exifCleaner/i18n/ja.ts +277 -0
  48. package/src/tool/exifCleaner/i18n/ko.ts +277 -0
  49. package/src/tool/exifCleaner/i18n/nl.ts +277 -0
  50. package/src/tool/exifCleaner/i18n/pl.ts +277 -0
  51. package/src/tool/exifCleaner/i18n/pt.ts +277 -0
  52. package/src/tool/exifCleaner/i18n/ru.ts +277 -0
  53. package/src/tool/exifCleaner/i18n/sv.ts +277 -0
  54. package/src/tool/exifCleaner/i18n/tr.ts +277 -0
  55. package/src/tool/exifCleaner/i18n/zh.ts +277 -0
  56. package/src/tool/exifCleaner/index.ts +16 -8
  57. package/src/tool/imageCompressor/i18n/de.ts +242 -0
  58. package/src/tool/imageCompressor/i18n/en.ts +1 -1
  59. package/src/tool/imageCompressor/i18n/es.ts +1 -1
  60. package/src/tool/imageCompressor/i18n/id.ts +242 -0
  61. package/src/tool/imageCompressor/i18n/it.ts +242 -0
  62. package/src/tool/imageCompressor/i18n/ja.ts +242 -0
  63. package/src/tool/imageCompressor/i18n/ko.ts +242 -0
  64. package/src/tool/imageCompressor/i18n/nl.ts +242 -0
  65. package/src/tool/imageCompressor/i18n/pl.ts +242 -0
  66. package/src/tool/imageCompressor/i18n/pt.ts +242 -0
  67. package/src/tool/imageCompressor/i18n/ru.ts +242 -0
  68. package/src/tool/imageCompressor/i18n/sv.ts +242 -0
  69. package/src/tool/imageCompressor/i18n/tr.ts +242 -0
  70. package/src/tool/imageCompressor/i18n/zh.ts +244 -0
  71. package/src/tool/imageCompressor/index.ts +15 -7
  72. package/src/tool/printQualityCalculator/i18n/de.ts +261 -0
  73. package/src/tool/printQualityCalculator/i18n/fr.ts +1 -1
  74. package/src/tool/printQualityCalculator/i18n/id.ts +261 -0
  75. package/src/tool/printQualityCalculator/i18n/it.ts +261 -0
  76. package/src/tool/printQualityCalculator/i18n/ja.ts +261 -0
  77. package/src/tool/printQualityCalculator/i18n/ko.ts +261 -0
  78. package/src/tool/printQualityCalculator/i18n/nl.ts +261 -0
  79. package/src/tool/printQualityCalculator/i18n/pl.ts +261 -0
  80. package/src/tool/printQualityCalculator/i18n/pt.ts +261 -0
  81. package/src/tool/printQualityCalculator/i18n/ru.ts +261 -0
  82. package/src/tool/printQualityCalculator/i18n/sv.ts +261 -0
  83. package/src/tool/printQualityCalculator/i18n/tr.ts +261 -0
  84. package/src/tool/printQualityCalculator/i18n/zh.ts +261 -0
  85. package/src/tool/printQualityCalculator/index.ts +15 -7
  86. package/src/tool/privacyBlur/i18n/de.ts +238 -0
  87. package/src/tool/privacyBlur/i18n/id.ts +238 -0
  88. package/src/tool/privacyBlur/i18n/it.ts +238 -0
  89. package/src/tool/privacyBlur/i18n/ja.ts +238 -0
  90. package/src/tool/privacyBlur/i18n/ko.ts +238 -0
  91. package/src/tool/privacyBlur/i18n/nl.ts +238 -0
  92. package/src/tool/privacyBlur/i18n/pl.ts +238 -0
  93. package/src/tool/privacyBlur/i18n/pt.ts +238 -0
  94. package/src/tool/privacyBlur/i18n/ru.ts +238 -0
  95. package/src/tool/privacyBlur/i18n/sv.ts +238 -0
  96. package/src/tool/privacyBlur/i18n/tr.ts +238 -0
  97. package/src/tool/privacyBlur/i18n/zh.ts +238 -0
  98. package/src/tool/privacyBlur/index.ts +15 -7
  99. package/src/tool/subtitleSync/i18n/de.ts +241 -0
  100. package/src/tool/subtitleSync/i18n/fr.ts +5 -5
  101. package/src/tool/subtitleSync/i18n/id.ts +241 -0
  102. package/src/tool/subtitleSync/i18n/it.ts +241 -0
  103. package/src/tool/subtitleSync/i18n/ja.ts +241 -0
  104. package/src/tool/subtitleSync/i18n/ko.ts +241 -0
  105. package/src/tool/subtitleSync/i18n/nl.ts +241 -0
  106. package/src/tool/subtitleSync/i18n/pl.ts +241 -0
  107. package/src/tool/subtitleSync/i18n/pt.ts +241 -0
  108. package/src/tool/subtitleSync/i18n/ru.ts +241 -0
  109. package/src/tool/subtitleSync/i18n/sv.ts +241 -0
  110. package/src/tool/subtitleSync/i18n/tr.ts +241 -0
  111. package/src/tool/subtitleSync/i18n/zh.ts +241 -0
  112. package/src/tool/subtitleSync/index.ts +15 -7
  113. package/src/tool/timelapseCalculator/i18n/de.ts +169 -0
  114. package/src/tool/timelapseCalculator/i18n/fr.ts +2 -2
  115. package/src/tool/timelapseCalculator/i18n/id.ts +169 -0
  116. package/src/tool/timelapseCalculator/i18n/it.ts +169 -0
  117. package/src/tool/timelapseCalculator/i18n/ja.ts +169 -0
  118. package/src/tool/timelapseCalculator/i18n/ko.ts +169 -0
  119. package/src/tool/timelapseCalculator/i18n/nl.ts +169 -0
  120. package/src/tool/timelapseCalculator/i18n/pl.ts +169 -0
  121. package/src/tool/timelapseCalculator/i18n/pt.ts +169 -0
  122. package/src/tool/timelapseCalculator/i18n/ru.ts +169 -0
  123. package/src/tool/timelapseCalculator/i18n/sv.ts +169 -0
  124. package/src/tool/timelapseCalculator/i18n/tr.ts +169 -0
  125. package/src/tool/timelapseCalculator/i18n/zh.ts +169 -0
  126. package/src/tool/timelapseCalculator/index.ts +16 -8
  127. package/src/tool/tvDistance/i18n/de.ts +223 -0
  128. package/src/tool/tvDistance/i18n/id.ts +223 -0
  129. package/src/tool/tvDistance/i18n/it.ts +223 -0
  130. package/src/tool/tvDistance/i18n/ja.ts +223 -0
  131. package/src/tool/tvDistance/i18n/ko.ts +223 -0
  132. package/src/tool/tvDistance/i18n/nl.ts +223 -0
  133. package/src/tool/tvDistance/i18n/pl.ts +223 -0
  134. package/src/tool/tvDistance/i18n/pt.ts +223 -0
  135. package/src/tool/tvDistance/i18n/ru.ts +223 -0
  136. package/src/tool/tvDistance/i18n/sv.ts +223 -0
  137. package/src/tool/tvDistance/i18n/tr.ts +223 -0
  138. package/src/tool/tvDistance/i18n/zh.ts +223 -0
  139. package/src/tool/tvDistance/index.ts +15 -7
  140. package/src/tool/videoFrameExtractor/i18n/de.ts +235 -0
  141. package/src/tool/videoFrameExtractor/i18n/id.ts +235 -0
  142. package/src/tool/videoFrameExtractor/i18n/it.ts +235 -0
  143. package/src/tool/videoFrameExtractor/i18n/ja.ts +235 -0
  144. package/src/tool/videoFrameExtractor/i18n/ko.ts +235 -0
  145. package/src/tool/videoFrameExtractor/i18n/nl.ts +235 -0
  146. package/src/tool/videoFrameExtractor/i18n/pl.ts +235 -0
  147. package/src/tool/videoFrameExtractor/i18n/pt.ts +235 -0
  148. package/src/tool/videoFrameExtractor/i18n/ru.ts +235 -0
  149. package/src/tool/videoFrameExtractor/i18n/sv.ts +235 -0
  150. package/src/tool/videoFrameExtractor/i18n/tr.ts +235 -0
  151. package/src/tool/videoFrameExtractor/i18n/zh.ts +235 -0
  152. package/src/tool/videoFrameExtractor/index.ts +16 -8
@@ -0,0 +1,261 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { PrintQualityCalculatorUI, PrintQualityCalculatorLocaleContent } from '../index';
3
+
4
+ const slug = 'druckqualitaetsrechner-pixel-zu-cm-dpi';
5
+ const title = 'Druckqualitätsrechner: Pixel in CM und DPI';
6
+ const description = 'Berechnen Sie die maximale Druckgröße Ihrer Fotos basierend auf deren Auflösung. Konvertieren Sie Pixel in Zentimeter und Zoll für professionelle Druckergebnisse.';
7
+
8
+ const ui: PrintQualityCalculatorUI = {
9
+ dropTitle: "Auflösung analysieren",
10
+ dropSubtitle: "Ziehen Sie Ihr Bild hierher, um dessen Druckgröße zu berechnen.",
11
+ resultsTitle: "Dateispezifikationen",
12
+ dpiDensityLabel: "Gewünschte Druckdichte (DPI)",
13
+ dpiPointsLabel: "Punkte pro Zoll",
14
+ maxPrintTitle: "Maximale Druckgröße",
15
+ standardFormatsTitle: "Unterstützte Standardformate",
16
+ formatColumn: "Format",
17
+ measureColumn: "Maße",
18
+ supportColumn: "Unterstützt?",
19
+ qualityExcellent: "Hervorragende Qualität",
20
+ qualityGood: "Gute Qualität",
21
+ qualityFair: "Bildschirmqualität",
22
+ qualityPoor: "Nicht geeignet",
23
+ qualityExcellentDesc: "Ideal für Kunstmagazine, Fotobücher und Nahaufnahmen.",
24
+ qualityGoodDesc: "Ausreichend für Poster und Betrachtung aus mittlerer Entfernung.",
25
+ qualityFairDesc: "Geeignet für digitale Betrachtung oder weit entfernte Plakate.",
26
+ qualityPoorDesc: "Das Bild wird verpixelt wirken. Drucken wird nicht empfohlen.",
27
+ unitCm: "cm",
28
+ unitInches: "Zoll",
29
+ dpiScreenLabel: "Bildschirm",
30
+ dpiNewspaperLabel: "Zeitung",
31
+ dpiPrintLabel: "Druck",
32
+ dpiFineArtLabel: "Fine Art",
33
+ formatPostal: "Postkarte",
34
+ formatQuartilla: "Quartilla",
35
+ formatFolio: "Folio",
36
+ formatDoubleFolio: "Doppelfolio",
37
+ formatSmallPoster: "Kleines Poster",
38
+ formatLargePoster: "Großes Poster",
39
+ formatPlane: "Plan",
40
+ supportedText: "Ja (Abgedeckt)",
41
+ notSupportedPrefix: "Nein (",
42
+ invalidImageError: "Bitte wählen Sie ein gültiges Bild aus",
43
+ faqTitle: "Häufig gestellte Fragen",
44
+ bibliographyTitle: "Referenzen"
45
+ };
46
+
47
+ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
48
+ {
49
+ question: "Was ist DPI und warum ist es wichtig?",
50
+ answer: "DPI (Dots Per Inch) gibt an, wie viele Tintenpunkte der Drucker auf einem linearen Zoll setzt. Je höher die DPI, desto schärfer das Bild, aber desto kleiner die physische Gesamtgröße, die Ihre Pixel abdecken.",
51
+ },
52
+ {
53
+ question: "Was ist die ideale DPI für den Druck eines Fotos?",
54
+ answer: "Der Industriestandard für hervorragende Fotoqualität liegt bei 300 DPI. Für große Drucke, die aus der Ferne betrachtet werden, können 150 DPI ausreichen.",
55
+ },
56
+ {
57
+ question: "Kann ich die DPI meines Bildes erhöhen, ohne an Qualität zu verlieren?",
58
+ answer: "Nein. Erhöhen Sie die DPI, ohne die Pixel zu ändern, verringert sich einfach die Druckgröße. Wenn Sie Pixel mit Software „erfinden“ (Upscaling), kann das Bild unscharf wirken.",
59
+ },
60
+ ];
61
+
62
+ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
63
+ {
64
+ name: "Bild hochladen",
65
+ text: "Laden Sie das Foto hoch, das Sie drucken möchten, um dessen Abmessungen in Pixeln zu erfahren.",
66
+ },
67
+ {
68
+ name: "DPI anpassen",
69
+ text: "Bewegen Sie den Schieberegler, um zu sehen, wie sich die Endgröße je nach Punktdichte ändert (72 bis 600 DPI).",
70
+ },
71
+ {
72
+ name: "Format prüfen",
73
+ text: "Überprüfen Sie die Tabelle der Standardformate (A4, A3 usw.), um zu sehen, ob Ihre Auflösung für das gewünschte Papier ausreicht.",
74
+ },
75
+ {
76
+ name: "Qualität bestätigen",
77
+ text: "Stellen Sie sicher, dass die Anzeige „Hervorragende Qualität“ anzeigt, bevor Sie den Druck in Auftrag geben.",
78
+ },
79
+ ];
80
+
81
+ const bibliography: PrintQualityCalculatorLocaleContent['bibliography'] = [
82
+ {
83
+ name: "Internationale Papierformate (ISO 216)",
84
+ url: "https://www.iso.org/standard/36631.html",
85
+ },
86
+ {
87
+ name: "Leitfaden zur Bildauflösung - Adobe",
88
+ url: "https://www.adobe.com/de/creativecloud/photography/discover/image-resolution.html",
89
+ },
90
+ ];
91
+
92
+ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
93
+ {
94
+ type: 'summary',
95
+ title: 'Professionelle Berechnung der Druckauflösung',
96
+ items: [
97
+ 'Genaue Umrechnung von Pixeln in Zentimeter und Zoll',
98
+ 'Berechnung der Maximalgröße basierend auf gewünschten DPI',
99
+ 'Kompatibilität mit Standardformaten (A4, A3 usw.)',
100
+ 'Leitfaden zu 4 Qualitätsstufen: Hervorragend bis Nicht geeignet'
101
+ ]
102
+ },
103
+ { type: 'title', text: 'Der ultimative Leitfaden für Druckqualität und DPI', level: 2 },
104
+ { type: 'paragraph', html: 'Haben Sie jemals ein Foto gedruckt und es war unscharf oder verpixelt? Das Geheimnis liegt im mathematischen Verhältnis zwischen <strong>Pixeln</strong> und <strong>DPI</strong> (Dots Per Inch). Dieses Tool berechnet die exakte Maximalgröße, in der Sie Ihre Bilder ohne professionellen Qualitätsverlust drucken können.' },
105
+
106
+ { type: 'stats', items: [
107
+ { value: '300', label: 'Professioneller Standard DPI', icon: 'mdi:target' },
108
+ { value: '100%', label: 'Präzise Berechnungen', icon: 'mdi:check' },
109
+ { value: 'ISO 216', label: 'Unterstützte Formate', icon: 'mdi:file-document' }
110
+ ], columns: 3 },
111
+
112
+ { type: 'title', text: 'DPI verstehen: Pixel vs. Punkte', level: 3 },
113
+ { type: 'paragraph', html: 'Die häufigste Verwechslung besteht darin, dass DPI und Pixel dasselbe sind. Das sind sie nicht. Pixel befinden sich IN Ihrer digitalen Datei. DPI ist die Art und Weise, wie der Drucker diese in Tinte auf Papier umwandelt.' },
114
+ { type: 'list', items: [
115
+ '<strong>DPI (Dots Per Inch):</strong> Wie viele Tintenpunkte der Drucker auf einem linearen Zoll (2,54 cm) platziert.',
116
+ '<strong>Pixel:</strong> Kleine Datenquadrate in Ihrer digitalen Datei. Ein Foto mit 3000x2000 Pixeln hat konstante Informationen, unabhängig von der DPI.',
117
+ '<strong>Die Formel:</strong> Druckgröße (Zoll) = Pixel / DPI. Beispiel: 3000 Pixel / 300 DPI = 10 Zoll (25,4 cm)'
118
+ ], icon: 'mdi:check' },
119
+
120
+ { type: 'title', text: 'Erläuterung der DPI Qualitätsstufen', level: 3 },
121
+ { type: 'table', headers: ['DPI', 'Visuelle Qualität', 'Anwendungsfälle', 'Betrachtungsabstand'], rows: [
122
+ ['600+ DPI', 'Hervorragend (Perfekt)', 'Kunstbücher, Luxusmagazine, feine Fotografie', 'Weniger als 10 cm'],
123
+ ['300-400 DPI', 'Hervorragend (Professionell)', 'Fotografie, Bücher, Firmenkataloge', '20-30 cm (Hand)'],
124
+ ['150-200 DPI', 'Gut (Web-Druck)', 'Poster, Kalender, mittlere Betrachtung', '1-2 Meter'],
125
+ ['72-100 DPI', 'Bildschirm (Akzeptabel)', 'Plakate, weit entfernte Banner', '5+ Meter'],
126
+ ['10-30 DPI', 'Niedrig (Nicht geeignet)', 'Riesenplakate, extrem weit entfernte Betrachtung', '50+ Meter']
127
+ ] },
128
+
129
+ { type: 'card', title: 'Die Goldene Regel der 300 DPI', html: 'Für fotografischen und professionellen redaktionellen Druck liegt der Industriestandard bei <strong>300 DPI</strong>. Dies stellt sicher, dass das menschliche Auge aus normaler Entfernung (20-30 cm) keine einzelnen Tintenpunkte wahrnimmt. Bei weniger als 300 DPI wird ein Pixelraster sichtbar.' },
130
+
131
+ { type: 'comparative', items: [
132
+ {
133
+ title: 'Handfotografie (10x15 Fotos)',
134
+ description: '300 DPI zwingend - wird aus der Nähe betrachtet',
135
+ icon: 'mdi:image',
136
+ points: [
137
+ 'Bei 3000x2000 Pixeln = maximal 10x6,7 Zoll',
138
+ 'Hervorragende Qualität garantiert',
139
+ 'Standard für Alben und Geschenke'
140
+ ]
141
+ },
142
+ {
143
+ title: 'Wandposter A3 (30x42 cm)',
144
+ description: '150 DPI ausreichend - wird aus der Ferne betrachtet',
145
+ icon: 'mdi:wall-fire',
146
+ points: [
147
+ 'Betrachtung aus 1-2 Metern Entfernung',
148
+ 'Weniger Pixel benötigt',
149
+ 'Schont die Kameraqualität'
150
+ ],
151
+ highlight: true
152
+ },
153
+ {
154
+ title: 'Plakatwand (200x300 cm)',
155
+ description: '15-30 DPI - wird aus vielen Metern Entfernung betrachtet',
156
+ icon: 'mdi:sign',
157
+ points: [
158
+ 'Beobachtung aus über 20 Metern Entfernung',
159
+ 'Sogar niedrige Auflösung sieht gut aus',
160
+ 'Optimierung großer Dateien'
161
+ ]
162
+ }
163
+ ], columns: 3 },
164
+
165
+ { type: 'title', text: 'Dateien für professionellen Druck vorbereiten', level: 3 },
166
+ { type: 'proscons', items: [
167
+ {
168
+ pro: 'CMYK vs. RGB: Drucker verwenden Tinte (CMYK), Bildschirme Licht (RGB). Konvertieren Sie, um Farbüberraschungen zu vermeiden.',
169
+ con: 'Farben können sich beim Konvertieren ändern – erst Vorschau prüfen'
170
+ },
171
+ {
172
+ pro: 'Beschnitt: Fügen Sie 3 mm extra pro Seite hinzu, wenn das Bild bis zum Papierrand reichen soll',
173
+ con: 'Ohne Beschnitt können Schnittkanten weiß bleiben'
174
+ },
175
+ {
176
+ pro: 'Upscaling funktioniert NICHT: Das Erhöhen der Pixel in Photoshop fügt falsche Informationen hinzu (Glättung)',
177
+ con: 'Wenn Sie groß drucken möchten, benötigen Sie ein hochauflösendes Originalfoto'
178
+ },
179
+ {
180
+ pro: 'Formate: TIFF ohne Komprimierung oder hochwertige JPEG für Fotos; Vektor (AI, EPS) für Logos',
181
+ con: 'PNG unterstützt natives CMYK in den meisten Web-Druckereien nicht'
182
+ }
183
+ ], proTitle: 'Empfehlungen', conTitle: 'Gegenanzeigen' },
184
+
185
+ { type: 'diagnostic', variant: 'warning', title: 'Häufiger Fehler: Der Upscaling Mythos', icon: 'mdi:alert', badge: 'Kritisch', html: '<strong>Erhöhen Sie DPI in Photoshop NICHT ohne die Pixel zu ändern.</strong> Eine Erhöhung von 72 DPI auf 300 DPI verringert einfach die physische Druckgröße. Wenn Sie Pixel durch Interpolation (Upscaling) „hinzufügen“, wirkt das Bild geglättet oder unscharf. Sie benötigen REAL-Pixel von der Quelle.' },
186
+
187
+ { type: 'glossary', items: [
188
+ {
189
+ term: 'DPI (Dots Per Inch)',
190
+ definition: 'Maß für die Druckauflösung: wie viele Tintenpunkte pro linearem Zoll (2,54 cm). 300 DPI = 300x300 = 90.000 Punkte pro Quadratzoll.'
191
+ },
192
+ {
193
+ term: 'CMYK',
194
+ definition: 'Druckfarbraum: Cyan, Magenta, Yellow, blacK. Basierend auf subtraktiver Tinte. Anders als RGB (additives Licht von Bildschirmen).'
195
+ },
196
+ {
197
+ term: 'Beschnitt',
198
+ definition: 'Zusätzlicher Bereich (meist 3 mm), der gedruckt und dann am Rand beschnitten wird. Stellt sicher, dass das Bild bis zum Rand reicht, ohne weiße Ränder zu hinterlassen.'
199
+ },
200
+ {
201
+ term: 'Native Auflösung',
202
+ definition: 'ECHTE, von der Kamera erfasste Pixel ohne Manipulation. DPI-Erhöhung ohne Pixeländerung erzeugt keine „native Auflösung“.'
203
+ },
204
+ {
205
+ term: 'Interpolation (Upscaling)',
206
+ definition: 'Algorithmus, der neue Pixel basierend auf vorhandenen erfindet. Nützlich für kleine Vergrößerungen, verliert aber bei starken Vergrößerungen an Schärfe.'
207
+ }
208
+ ] },
209
+
210
+ { type: 'message', title: 'Technische Präzision für professionelle Ergebnisse', ariaLabel: 'Informationen zu Druckberechnungen', html: 'Unser Rechner rechnet Pixel unter Berücksichtigung internationaler Standards (ISO 216 für Papier) in Zentimeter um. Es ist nicht nur ein Rechner: Er validiert, ob das Foto für diese Druckgröße passt, während die professionelle Qualität erhalten bleibt.' },
211
+
212
+ { type: 'title', text: 'Fazit: Drucken ohne Überraschungen', level: 3 },
213
+ { type: 'paragraph', html: 'Der Unterschied zwischen einem schönen Druck und einem enttäuschenden Ergebnis liegt in der Kenntnis des Verhältnisses zwischen Pixeln und DPI. Nutzen Sie diesen Rechner, um Ihre Dateien zu validieren, BEVOR Sie in die Druckerei gehen. So vermeiden Sie unnötige Kosten und frustrierende Ergebnisse.' }
214
+ ];
215
+
216
+ const faqSchema: WithContext<FAQPage> = {
217
+ '@context': 'https://schema.org',
218
+ '@type': 'FAQPage',
219
+ mainEntity: faq.map((item) => ({
220
+ '@type': 'Question',
221
+ name: item.question,
222
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
223
+ })),
224
+ };
225
+
226
+ const howToSchema: WithContext<HowTo> = {
227
+ '@context': 'https://schema.org',
228
+ '@type': 'HowTo',
229
+ name: title,
230
+ description,
231
+ step: howTo.map((step) => ({
232
+ '@type': 'HowToStep',
233
+ name: step.name,
234
+ text: step.text,
235
+ })),
236
+ };
237
+
238
+ const appSchema: WithContext<SoftwareApplication> = {
239
+ '@context': 'https://schema.org',
240
+ '@type': 'SoftwareApplication',
241
+ name: title,
242
+ description,
243
+ applicationCategory: 'UtilitiesApplication',
244
+ operatingSystem: 'Web',
245
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
246
+ inLanguage: 'de',
247
+ };
248
+
249
+ export const content: PrintQualityCalculatorLocaleContent = {
250
+ slug,
251
+ title,
252
+ description,
253
+ ui,
254
+ seo,
255
+ faqTitle: "Häufig gestellte Fragen",
256
+ faq,
257
+ bibliographyTitle: "Referenzen",
258
+ bibliography,
259
+ howTo,
260
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
261
+ };
@@ -72,7 +72,7 @@ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
72
72
  },
73
73
  {
74
74
  name: "Confirmez la qualité",
75
- text: "Assurez-vous que l'indicateur marque 'Qualité Excellente' avant d'envoyer à l'impression.",
75
+ text: "Assurez vous que l'indicateur marque 'Qualité Excellente' avant d'envoyer à l'impression.",
76
76
  },
77
77
  ];
78
78
 
@@ -0,0 +1,261 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { PrintQualityCalculatorUI, PrintQualityCalculatorLocaleContent } from '../index';
3
+
4
+ const slug = 'kalkulator-kualitas-cetak-piksel-ke-cm-dpi';
5
+ const title = 'Kalkulator Kualitas Cetak: Piksel ke CM dan DPI';
6
+ const description = 'Hitung ukuran cetak maksimum foto Anda berdasarkan resolusinya. Konversi piksel ke sentimeter dan inci untuk memastikan pencetakan profesional.';
7
+
8
+ const ui: PrintQualityCalculatorUI = {
9
+ dropTitle: "Analisis Resolusi",
10
+ dropSubtitle: "Seret gambar Anda untuk menghitung ukuran cetaknya.",
11
+ resultsTitle: "Spesifikasi File",
12
+ dpiDensityLabel: "Kepadatan Cetak yang Diinginkan (DPI)",
13
+ dpiPointsLabel: "titik per inci",
14
+ maxPrintTitle: "Ukuran Cetak Maksimum",
15
+ standardFormatsTitle: "Format Standar yang Didukung",
16
+ formatColumn: "Format",
17
+ measureColumn: "Ukuran",
18
+ supportColumn: "Didukung?",
19
+ qualityExcellent: "Kualitas Luar Biasa",
20
+ qualityGood: "Kualitas Bagus",
21
+ qualityFair: "Kualitas Layar",
22
+ qualityPoor: "Tidak Cocok",
23
+ qualityExcellentDesc: "Ideal untuk majalah seni, buku fotografi, dan tampilan jarak dekat.",
24
+ qualityGoodDesc: "Cukup untuk poster dan tampilan jarak menengah.",
25
+ qualityFairDesc: "Cocok untuk tampilan digital atau papan iklan jauh.",
26
+ qualityPoorDesc: "Gambar akan terlihat berpiksel. Pencetakan tidak disarankan.",
27
+ unitCm: "cm",
28
+ unitInches: "inci",
29
+ dpiScreenLabel: "Layar",
30
+ dpiNewspaperLabel: "Koran",
31
+ dpiPrintLabel: "Pencetakan",
32
+ dpiFineArtLabel: "Seni Rupa",
33
+ formatPostal: "Kartu Pos",
34
+ formatQuartilla: "Kwarto",
35
+ formatFolio: "Folio",
36
+ formatDoubleFolio: "Double Folio",
37
+ formatSmallPoster: "Poster Kecil",
38
+ formatLargePoster: "Poster Besar",
39
+ formatPlane: "Denah",
40
+ supportedText: "Ya (Tercover)",
41
+ notSupportedPrefix: "Tidak (",
42
+ invalidImageError: "Silakan pilih gambar yang valid",
43
+ faqTitle: "Pertanyaan yang Sering Diajukan",
44
+ bibliographyTitle: "Referensi"
45
+ };
46
+
47
+ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
48
+ {
49
+ question: "Apa itu DPI dan mengapa itu penting?",
50
+ answer: "DPI (Dots Per Inch) menunjukkan berapa banyak titik tinta yang akan diletakkan printer dalam satu inci linier. Semakin tinggi DPI, semakin tajam gambarnya, tetapi semakin kecil ukuran fisik total yang akan dicakup oleh piksel Anda.",
51
+ },
52
+ {
53
+ question: "Berapa DPI ideal untuk mencetak foto?",
54
+ answer: "Standar industri adalah 300 DPI untuk kualitas fotografi yang luar biasa. Untuk cetakan besar yang akan dilihat dari jauh, 150 DPI bisa cukup.",
55
+ },
56
+ {
57
+ question: "Dapatkah saya meningkatkan DPI gambar saya tanpa kehilangan kualitas?",
58
+ answer: "Tidak. Meningkatkan DPI tanpa mengubah piksel hanya akan memperkecil ukuran cetakan. Jika Anda 'menciptakan' piksel menggunakan perangkat lunak (upscaling), gambar mungkin akan terlihat kabur.",
59
+ },
60
+ ];
61
+
62
+ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
63
+ {
64
+ name: "Unggah gambar Anda",
65
+ text: "Unggah foto yang ingin Anda cetak untuk mengetahui dimensinya dalam piksel.",
66
+ },
67
+ {
68
+ name: "Sesuaikan DPI",
69
+ text: "Geser bilah untuk melihat bagaimana ukuran akhir berubah sesuai dengan kepadatan titik (72 hingga 600 DPI).",
70
+ },
71
+ {
72
+ name: "Verifikasi format",
73
+ text: "Periksa tabel format standar (A4, A3, dll.) untuk melihat apakah resolusi Anda mencakup kertas yang diinginkan.",
74
+ },
75
+ {
76
+ name: "Konfirmasi kualitas",
77
+ text: "Pastikan indikator menunjukkan 'Kualitas Luar Biasa' sebelum mengirim untuk dicetak.",
78
+ },
79
+ ];
80
+
81
+ const bibliography: PrintQualityCalculatorLocaleContent['bibliography'] = [
82
+ {
83
+ name: "Ukuran Kertas Internasional (ISO 216)",
84
+ url: "https://www.iso.org/standard/36631.html",
85
+ },
86
+ {
87
+ name: "Panduan resolusi gambar - Adobe",
88
+ url: "https://www.adobe.com/id/creativecloud/photography/discover/image-resolution.html",
89
+ },
90
+ ];
91
+
92
+ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
93
+ {
94
+ type: 'summary',
95
+ title: 'Perhitungan Resolusi Cetak Profesional',
96
+ items: [
97
+ 'Konversi piksel ke sentimeter dan inci dengan akurat',
98
+ 'Hitung ukuran maksimum berdasarkan DPI yang diinginkan',
99
+ 'Kompatibilitas dengan format standar (A4, A3, dll.)',
100
+ 'Panduan untuk 4 tingkat kualitas: Luar Biasa hingga Tidak Cocok'
101
+ ]
102
+ },
103
+ { type: 'title', text: 'Panduan Definitif untuk Kualitas Cetak dan DPI', level: 2 },
104
+ { type: 'paragraph', html: 'Pernahkah Anda mencetak foto dan hasilnya kabur atau berpiksel? Rahasianya terletak pada hubungan matematis antara <strong>Piksel</strong> dan <strong>DPI</strong> (Dots Per Inch). Alat ini menghitung ukuran maksimum yang tepat untuk mencetak gambar Anda tanpa kehilangan kualitas profesional.' },
105
+
106
+ { type: 'stats', items: [
107
+ { value: '300', label: 'DPI Standar Profesional', icon: 'mdi:target' },
108
+ { value: '100%', label: 'Perhitungan Presisi', icon: 'mdi:check' },
109
+ { value: 'ISO 216', label: 'Format yang Didukung', icon: 'mdi:file-document' }
110
+ ], columns: 3 },
111
+
112
+ { type: 'title', text: 'Memahami DPI: Piksel vs Titik', level: 3 },
113
+ { type: 'paragraph', html: 'Kebingungan umum adalah menganggap bahwa DPI dan piksel adalah hal yang sama. Padahal bukan. Piksel berada DI DALAM file digital Anda. DPI adalah cara printer mengubahnya menjadi tinta di atas kertas.' },
114
+ { type: 'list', items: [
115
+ '<strong>DPI (Dots Per Inch):</strong> Berapa banyak titik tinta yang diletakkan printer dalam satu inci linier (2,54 cm).',
116
+ '<strong>Piksel:</strong> Kotak data kecil di file digital Anda. Foto berukuran 3000x2000 piksel memiliki informasi yang konstan, terlepas dari DPI-nya.',
117
+ '<strong>Rumusnya:</strong> Ukuran cetak (inci) = Piksel / DPI. Contoh: 3000 piksel / 300 DPI = 10 inci (25,4 cm)'
118
+ ], icon: 'mdi:check' },
119
+
120
+ { type: 'title', text: 'Penjelasan Tingkat Kualitas DPI', level: 3 },
121
+ { type: 'table', headers: ['DPI', 'Kualitas Visual', 'Kasus Penggunaan', 'Jarak Pandang'], rows: [
122
+ ['600+ DPI', 'Luar Biasa (Sempurna)', 'Buku seni, majalah mewah, fotografi rupa', 'Kurang dari 10 cm'],
123
+ ['300-400 DPI', 'Luar Biasa (Profesional)', 'Fotografi, buku, katalog perusahaan', '20-30 cm (tangan)'],
124
+ ['150-200 DPI', 'Bagus (Cetak Web)', 'Poster, kalender, tampilan menengah', '1-2 meter'],
125
+ ['72-100 DPI', 'Layar (Cukup)', 'Papan iklan, spanduk jauh', '5+ meter'],
126
+ ['10-30 DPI', 'Rendah (Tidak Cocok)', 'Papan iklan raksasa, tampilan sangat jauh', '50+ meter']
127
+ ] },
128
+
129
+ { type: 'card', title: 'Aturan Emas 300 DPI', html: 'Untuk pencetakan fotografi dan editorial profesional, standar industrinya adalah <strong>300 DPI</strong>. Ini memastikan bahwa mata manusia pada jarak normal (20-30 cm) tidak merasakan titik tinta individu. Kurang dari 300 DPI dan kotak piksel akan mulai terlihat.' },
130
+
131
+ { type: 'comparative', items: [
132
+ {
133
+ title: 'Fotografi Genggam (Foto 10x15)',
134
+ description: 'Wajib 300 DPI - dilihat dari dekat',
135
+ icon: 'mdi:image',
136
+ points: [
137
+ 'Pada 3000x2000 piksel = maksimum 10x6,7 inci',
138
+ 'Kualitas Luar Biasa terjamin',
139
+ 'Standar untuk album dan hadiah'
140
+ ]
141
+ },
142
+ {
143
+ title: 'Poster Dinding A3 (30x42 cm)',
144
+ description: '150 DPI cukup - dilihat dari jarak jauh',
145
+ icon: 'mdi:wall-fire',
146
+ points: [
147
+ 'Dilihat dari jarak 1-2 meter',
148
+ 'Lebih sedikit piksel yang dibutuhkan',
149
+ 'Hemat pada kualitas kamera'
150
+ ],
151
+ highlight: true
152
+ },
153
+ {
154
+ title: 'Papan Iklan (200x300 cm)',
155
+ description: '15-30 DPI - dilihat dari jarak berkilo-kilo meter',
156
+ icon: 'mdi:sign',
157
+ points: [
158
+ 'Diamati dari jarak 20+ meter',
159
+ 'Resolusi rendah pun terlihat bagus',
160
+ 'Optimalkan file besar'
161
+ ]
162
+ }
163
+ ], columns: 3 },
164
+
165
+ { type: 'title', text: 'Menyiapkan File untuk Pencetakan Profesional', level: 3 },
166
+ { type: 'proscons', items: [
167
+ {
168
+ pro: 'CMYK vs RGB: Printer menggunakan tinta (CMYK), layar menggunakan cahaya (RGB). Konversi untuk menghindari kejutan warna.',
169
+ con: 'Warna dapat berubah saat mengonversi - periksa pratinjau terlebih dahulu'
170
+ },
171
+ {
172
+ pro: 'Bleed: Tambahkan ekstra 3mm per sisi jika gambar harus mencapai tepi kertas',
173
+ con: 'Tanpa bleed, tepi potongan bisa tetap putih'
174
+ },
175
+ {
176
+ pro: 'Upscaling TIDAK bekerja: Meningkatkan piksel di Photoshop menambahkan informasi palsu (penghalusan)',
177
+ con: 'Jika Anda ingin mencetak besar, Anda memerlukan foto asli beresolusi tinggi'
178
+ },
179
+ {
180
+ pro: 'Format: TIFF tanpa kompresi atau JPEG kualitas tinggi untuk foto; vektor (AI, EPS) untuk logo',
181
+ con: 'PNG tidak mendukung CMYK secara native di sebagian besar tempat percetakan'
182
+ }
183
+ ], proTitle: 'Rekomendasi', conTitle: 'Kontraindikasi' },
184
+
185
+ { type: 'diagnostic', variant: 'warning', title: 'Kesalahan Umum: Mitos Upscaling', icon: 'mdi:alert', badge: 'Kritis', html: '<strong>JANGAN tingkatkan DPI di Photoshop tanpa mengubah piksel.</strong> Meningkatkan dari 72 DPI ke 300 DPI hanya akan mengecilkan ukuran cetak fisik. Jika Anda "menambah piksel" melalui interpolasi (upscaling), gambar akan terlihat halus atau kabur. Anda memerlukan piksel ASLI dari sumbernya.' },
186
+
187
+ { type: 'glossary', items: [
188
+ {
189
+ term: 'DPI (Dots Per Inch)',
190
+ definition: 'Ukuran resolusi cetak: berapa banyak titik tinta per inci linier (2,54 cm). 300 DPI = 300x300 = 90.000 titik per inci persegi.'
191
+ },
192
+ {
193
+ term: 'CMYK',
194
+ definition: 'Ruang warna cetak: Cyan, Magenta, Yellow, blacK. Berdasarkan tinta subtraktif. Berbeda dengan RGB (cahaya aditif pada layar).'
195
+ },
196
+ {
197
+ term: 'Bleed',
198
+ definition: 'Area ekstra (biasanya 3mm) yang dicetak lalu dipotong. Memastikan gambar mencapai tepi tanpa menyisakan margin putih.'
199
+ },
200
+ {
201
+ term: 'Resolusi Native',
202
+ definition: 'Piksel ASLI yang ditangkap oleh kamera, tanpa manipulasi. Meningkatkan DPI tanpa mengubah piksel tidak menghasilkan "resolusi native".'
203
+ },
204
+ {
205
+ term: 'Interpolasi (Upscaling)',
206
+ definition: 'Algoritma yang menciptakan piksel baru berdasarkan piksel yang sudah ada. Berguna untuk peningkatan kecil, tetapi kehilangan ketajaman pada pembesaran besar.'
207
+ }
208
+ ] },
209
+
210
+ { type: 'message', title: 'Presisi Teknik untuk Hasil Profesional', ariaLabel: 'Informasi tentang perhitungan cetak', html: 'Kalkulator kami mengonversi piksel ke sentimeter dengan mempertimbangkan standar internasional (ISO 216 untuk kertas). Ini bukan sekadar kalkulator: ini adalah validator Anda untuk menentukan apakah foto tersebut cocok untuk ukuran cetak tersebut sambil menjaga kualitas profesional.' },
211
+
212
+ { type: 'title', text: 'Kesimpulan: Cetak Tanpa Kejutan', level: 3 },
213
+ { type: 'paragraph', html: 'Perbedaan antara cetakan yang indah dan cetakan yang mengecewakan adalah mengetahui hubungan antara piksel dan DPI. Gunakan kalkulator ini untuk memvalidasi file Anda SEBELUM pergi ke percetakan. Dengan cara ini Anda menghindari biaya yang tidak perlu dan hasil yang membuat frustrasi.' }
214
+ ];
215
+
216
+ const faqSchema: WithContext<FAQPage> = {
217
+ '@context': 'https://schema.org',
218
+ '@type': 'FAQPage',
219
+ mainEntity: faq.map((item) => ({
220
+ '@type': 'Question',
221
+ name: item.question,
222
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
223
+ })),
224
+ };
225
+
226
+ const howToSchema: WithContext<HowTo> = {
227
+ '@context': 'https://schema.org',
228
+ '@type': 'HowTo',
229
+ name: title,
230
+ description,
231
+ step: howTo.map((step) => ({
232
+ '@type': 'HowToStep',
233
+ name: step.name,
234
+ text: step.text,
235
+ })),
236
+ };
237
+
238
+ const appSchema: WithContext<SoftwareApplication> = {
239
+ '@context': 'https://schema.org',
240
+ '@type': 'SoftwareApplication',
241
+ name: title,
242
+ description,
243
+ applicationCategory: 'UtilitiesApplication',
244
+ operatingSystem: 'Web',
245
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
246
+ inLanguage: 'id',
247
+ };
248
+
249
+ export const content: PrintQualityCalculatorLocaleContent = {
250
+ slug,
251
+ title,
252
+ description,
253
+ ui,
254
+ seo,
255
+ faqTitle: "Pertanyaan yang Sering Diajukan",
256
+ faq,
257
+ bibliographyTitle: "Referensi",
258
+ bibliography,
259
+ howTo,
260
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
261
+ };