@jjlmoya/utils-audiovisual 1.6.0 → 1.8.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 (175) hide show
  1. package/package.json +59 -58
  2. package/src/category/i18n/de.ts +198 -0
  3. package/src/category/i18n/fr.ts +1 -1
  4. package/src/category/i18n/id.ts +198 -0
  5. package/src/category/i18n/it.ts +198 -0
  6. package/src/category/i18n/ja.ts +198 -0
  7. package/src/category/i18n/ko.ts +198 -0
  8. package/src/category/i18n/nl.ts +198 -0
  9. package/src/category/i18n/pl.ts +198 -0
  10. package/src/category/i18n/pt.ts +198 -0
  11. package/src/category/i18n/ru.ts +198 -0
  12. package/src/category/i18n/sv.ts +198 -0
  13. package/src/category/i18n/tr.ts +198 -0
  14. package/src/category/i18n/zh.ts +198 -0
  15. package/src/category/index.ts +31 -3
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/schemas_fulfillment.test.ts +23 -0
  18. package/src/tests/title_quality.test.ts +55 -0
  19. package/src/tool/chromaticLens/i18n/de.ts +246 -0
  20. package/src/tool/chromaticLens/i18n/en.ts +1 -1
  21. package/src/tool/chromaticLens/i18n/es.ts +1 -1
  22. package/src/tool/chromaticLens/i18n/fr.ts +1 -1
  23. package/src/tool/chromaticLens/i18n/id.ts +246 -0
  24. package/src/tool/chromaticLens/i18n/it.ts +246 -0
  25. package/src/tool/chromaticLens/i18n/ja.ts +246 -0
  26. package/src/tool/chromaticLens/i18n/ko.ts +246 -0
  27. package/src/tool/chromaticLens/i18n/nl.ts +246 -0
  28. package/src/tool/chromaticLens/i18n/pl.ts +246 -0
  29. package/src/tool/chromaticLens/i18n/pt.ts +246 -0
  30. package/src/tool/chromaticLens/i18n/ru.ts +246 -0
  31. package/src/tool/chromaticLens/i18n/sv.ts +246 -0
  32. package/src/tool/chromaticLens/i18n/tr.ts +246 -0
  33. package/src/tool/chromaticLens/i18n/zh.ts +246 -0
  34. package/src/tool/chromaticLens/index.ts +15 -7
  35. package/src/tool/collageMaker/i18n/de.ts +233 -0
  36. package/src/tool/collageMaker/i18n/en.ts +1 -1
  37. package/src/tool/collageMaker/i18n/es.ts +1 -1
  38. package/src/tool/collageMaker/i18n/fr.ts +1 -1
  39. package/src/tool/collageMaker/i18n/id.ts +233 -0
  40. package/src/tool/collageMaker/i18n/it.ts +233 -0
  41. package/src/tool/collageMaker/i18n/ja.ts +233 -0
  42. package/src/tool/collageMaker/i18n/ko.ts +233 -0
  43. package/src/tool/collageMaker/i18n/nl.ts +233 -0
  44. package/src/tool/collageMaker/i18n/pl.ts +233 -0
  45. package/src/tool/collageMaker/i18n/pt.ts +233 -0
  46. package/src/tool/collageMaker/i18n/ru.ts +233 -0
  47. package/src/tool/collageMaker/i18n/sv.ts +233 -0
  48. package/src/tool/collageMaker/i18n/tr.ts +233 -0
  49. package/src/tool/collageMaker/i18n/zh.ts +233 -0
  50. package/src/tool/collageMaker/index.ts +15 -6
  51. package/src/tool/exifCleaner/i18n/de.ts +277 -0
  52. package/src/tool/exifCleaner/i18n/en.ts +2 -2
  53. package/src/tool/exifCleaner/i18n/es.ts +2 -2
  54. package/src/tool/exifCleaner/i18n/fr.ts +4 -4
  55. package/src/tool/exifCleaner/i18n/id.ts +277 -0
  56. package/src/tool/exifCleaner/i18n/it.ts +277 -0
  57. package/src/tool/exifCleaner/i18n/ja.ts +277 -0
  58. package/src/tool/exifCleaner/i18n/ko.ts +277 -0
  59. package/src/tool/exifCleaner/i18n/nl.ts +277 -0
  60. package/src/tool/exifCleaner/i18n/pl.ts +277 -0
  61. package/src/tool/exifCleaner/i18n/pt.ts +277 -0
  62. package/src/tool/exifCleaner/i18n/ru.ts +277 -0
  63. package/src/tool/exifCleaner/i18n/sv.ts +277 -0
  64. package/src/tool/exifCleaner/i18n/tr.ts +277 -0
  65. package/src/tool/exifCleaner/i18n/zh.ts +277 -0
  66. package/src/tool/exifCleaner/index.ts +16 -8
  67. package/src/tool/imageCompressor/i18n/de.ts +242 -0
  68. package/src/tool/imageCompressor/i18n/en.ts +2 -2
  69. package/src/tool/imageCompressor/i18n/es.ts +2 -2
  70. package/src/tool/imageCompressor/i18n/id.ts +242 -0
  71. package/src/tool/imageCompressor/i18n/it.ts +242 -0
  72. package/src/tool/imageCompressor/i18n/ja.ts +242 -0
  73. package/src/tool/imageCompressor/i18n/ko.ts +242 -0
  74. package/src/tool/imageCompressor/i18n/nl.ts +242 -0
  75. package/src/tool/imageCompressor/i18n/pl.ts +242 -0
  76. package/src/tool/imageCompressor/i18n/pt.ts +242 -0
  77. package/src/tool/imageCompressor/i18n/ru.ts +242 -0
  78. package/src/tool/imageCompressor/i18n/sv.ts +242 -0
  79. package/src/tool/imageCompressor/i18n/tr.ts +242 -0
  80. package/src/tool/imageCompressor/i18n/zh.ts +244 -0
  81. package/src/tool/imageCompressor/index.ts +15 -7
  82. package/src/tool/printQualityCalculator/i18n/de.ts +261 -0
  83. package/src/tool/printQualityCalculator/i18n/en.ts +2 -2
  84. package/src/tool/printQualityCalculator/i18n/es.ts +3 -3
  85. package/src/tool/printQualityCalculator/i18n/fr.ts +3 -3
  86. package/src/tool/printQualityCalculator/i18n/id.ts +261 -0
  87. package/src/tool/printQualityCalculator/i18n/it.ts +261 -0
  88. package/src/tool/printQualityCalculator/i18n/ja.ts +261 -0
  89. package/src/tool/printQualityCalculator/i18n/ko.ts +261 -0
  90. package/src/tool/printQualityCalculator/i18n/nl.ts +261 -0
  91. package/src/tool/printQualityCalculator/i18n/pl.ts +261 -0
  92. package/src/tool/printQualityCalculator/i18n/pt.ts +261 -0
  93. package/src/tool/printQualityCalculator/i18n/ru.ts +261 -0
  94. package/src/tool/printQualityCalculator/i18n/sv.ts +261 -0
  95. package/src/tool/printQualityCalculator/i18n/tr.ts +261 -0
  96. package/src/tool/printQualityCalculator/i18n/zh.ts +261 -0
  97. package/src/tool/printQualityCalculator/index.ts +15 -7
  98. package/src/tool/privacyBlur/i18n/de.ts +238 -0
  99. package/src/tool/privacyBlur/i18n/en.ts +1 -1
  100. package/src/tool/privacyBlur/i18n/es.ts +1 -1
  101. package/src/tool/privacyBlur/i18n/fr.ts +1 -1
  102. package/src/tool/privacyBlur/i18n/id.ts +238 -0
  103. package/src/tool/privacyBlur/i18n/it.ts +238 -0
  104. package/src/tool/privacyBlur/i18n/ja.ts +238 -0
  105. package/src/tool/privacyBlur/i18n/ko.ts +238 -0
  106. package/src/tool/privacyBlur/i18n/nl.ts +238 -0
  107. package/src/tool/privacyBlur/i18n/pl.ts +238 -0
  108. package/src/tool/privacyBlur/i18n/pt.ts +238 -0
  109. package/src/tool/privacyBlur/i18n/ru.ts +238 -0
  110. package/src/tool/privacyBlur/i18n/sv.ts +238 -0
  111. package/src/tool/privacyBlur/i18n/tr.ts +238 -0
  112. package/src/tool/privacyBlur/i18n/zh.ts +238 -0
  113. package/src/tool/privacyBlur/index.ts +15 -7
  114. package/src/tool/subtitleSync/i18n/de.ts +241 -0
  115. package/src/tool/subtitleSync/i18n/en.ts +1 -1
  116. package/src/tool/subtitleSync/i18n/es.ts +1 -1
  117. package/src/tool/subtitleSync/i18n/fr.ts +8 -8
  118. package/src/tool/subtitleSync/i18n/id.ts +241 -0
  119. package/src/tool/subtitleSync/i18n/it.ts +241 -0
  120. package/src/tool/subtitleSync/i18n/ja.ts +241 -0
  121. package/src/tool/subtitleSync/i18n/ko.ts +241 -0
  122. package/src/tool/subtitleSync/i18n/nl.ts +241 -0
  123. package/src/tool/subtitleSync/i18n/pl.ts +241 -0
  124. package/src/tool/subtitleSync/i18n/pt.ts +241 -0
  125. package/src/tool/subtitleSync/i18n/ru.ts +241 -0
  126. package/src/tool/subtitleSync/i18n/sv.ts +241 -0
  127. package/src/tool/subtitleSync/i18n/tr.ts +241 -0
  128. package/src/tool/subtitleSync/i18n/zh.ts +241 -0
  129. package/src/tool/subtitleSync/index.ts +15 -7
  130. package/src/tool/timelapseCalculator/i18n/de.ts +169 -0
  131. package/src/tool/timelapseCalculator/i18n/fr.ts +2 -2
  132. package/src/tool/timelapseCalculator/i18n/id.ts +169 -0
  133. package/src/tool/timelapseCalculator/i18n/it.ts +169 -0
  134. package/src/tool/timelapseCalculator/i18n/ja.ts +169 -0
  135. package/src/tool/timelapseCalculator/i18n/ko.ts +169 -0
  136. package/src/tool/timelapseCalculator/i18n/nl.ts +169 -0
  137. package/src/tool/timelapseCalculator/i18n/pl.ts +169 -0
  138. package/src/tool/timelapseCalculator/i18n/pt.ts +169 -0
  139. package/src/tool/timelapseCalculator/i18n/ru.ts +169 -0
  140. package/src/tool/timelapseCalculator/i18n/sv.ts +169 -0
  141. package/src/tool/timelapseCalculator/i18n/tr.ts +169 -0
  142. package/src/tool/timelapseCalculator/i18n/zh.ts +169 -0
  143. package/src/tool/timelapseCalculator/index.ts +16 -8
  144. package/src/tool/tvDistance/i18n/de.ts +223 -0
  145. package/src/tool/tvDistance/i18n/en.ts +1 -1
  146. package/src/tool/tvDistance/i18n/es.ts +1 -1
  147. package/src/tool/tvDistance/i18n/fr.ts +1 -1
  148. package/src/tool/tvDistance/i18n/id.ts +223 -0
  149. package/src/tool/tvDistance/i18n/it.ts +223 -0
  150. package/src/tool/tvDistance/i18n/ja.ts +223 -0
  151. package/src/tool/tvDistance/i18n/ko.ts +223 -0
  152. package/src/tool/tvDistance/i18n/nl.ts +223 -0
  153. package/src/tool/tvDistance/i18n/pl.ts +223 -0
  154. package/src/tool/tvDistance/i18n/pt.ts +223 -0
  155. package/src/tool/tvDistance/i18n/ru.ts +223 -0
  156. package/src/tool/tvDistance/i18n/sv.ts +223 -0
  157. package/src/tool/tvDistance/i18n/tr.ts +223 -0
  158. package/src/tool/tvDistance/i18n/zh.ts +223 -0
  159. package/src/tool/tvDistance/index.ts +15 -7
  160. package/src/tool/videoFrameExtractor/i18n/de.ts +235 -0
  161. package/src/tool/videoFrameExtractor/i18n/en.ts +1 -1
  162. package/src/tool/videoFrameExtractor/i18n/es.ts +1 -1
  163. package/src/tool/videoFrameExtractor/i18n/fr.ts +1 -1
  164. package/src/tool/videoFrameExtractor/i18n/id.ts +235 -0
  165. package/src/tool/videoFrameExtractor/i18n/it.ts +235 -0
  166. package/src/tool/videoFrameExtractor/i18n/ja.ts +235 -0
  167. package/src/tool/videoFrameExtractor/i18n/ko.ts +235 -0
  168. package/src/tool/videoFrameExtractor/i18n/nl.ts +235 -0
  169. package/src/tool/videoFrameExtractor/i18n/pl.ts +235 -0
  170. package/src/tool/videoFrameExtractor/i18n/pt.ts +235 -0
  171. package/src/tool/videoFrameExtractor/i18n/ru.ts +235 -0
  172. package/src/tool/videoFrameExtractor/i18n/sv.ts +235 -0
  173. package/src/tool/videoFrameExtractor/i18n/tr.ts +235 -0
  174. package/src/tool/videoFrameExtractor/i18n/zh.ts +235 -0
  175. 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 = 'calculadora-qualidade-impressao-pixeis-para-cm-dpi';
5
+ const title = 'Calculadora de Qualidade de Impressão: Pixais para CM e DPI';
6
+ const description = 'Calcule o tamanho máximo de impressão das suas fotos com base na resolução. Converta píxeis em centímetros e polegadas para garantir uma impressão profissional.';
7
+
8
+ const ui: PrintQualityCalculatorUI = {
9
+ dropTitle: "Analisar Resolução",
10
+ dropSubtitle: "Arraste a sua imagem para calcular o seu tamanho de impressão.",
11
+ resultsTitle: "Especificações do Ficheiro",
12
+ dpiDensityLabel: "Densidade de Impressão Desejada (DPI)",
13
+ dpiPointsLabel: "pontos por polegada",
14
+ maxPrintTitle: "Tamanho Máximo de Impressão",
15
+ standardFormatsTitle: "Formatos Padrão Suportados",
16
+ formatColumn: "Formato",
17
+ measureColumn: "Medidas",
18
+ supportColumn: "Suportado?",
19
+ qualityExcellent: "Qualidade Excelente",
20
+ qualityGood: "Boa Qualidade",
21
+ qualityFair: "Qualidade de Ecrã",
22
+ qualityPoor: "Não Adequado",
23
+ qualityExcellentDesc: "Ideal para revistas de arte, livros de fotografia e visualização de perto.",
24
+ qualityGoodDesc: "Suficiente para pósteres e visualização a média distância.",
25
+ qualityFairDesc: "Adequado para visualização digital ou painéis publicitários distantes.",
26
+ qualityPoorDesc: "A imagem parecerá pixelizada. A impressão não é recomendada.",
27
+ unitCm: "cm",
28
+ unitInches: "pol",
29
+ dpiScreenLabel: "Ecrã",
30
+ dpiNewspaperLabel: "Jornal",
31
+ dpiPrintLabel: "Impressão",
32
+ dpiFineArtLabel: "Fine Art",
33
+ formatPostal: "Postal",
34
+ formatQuartilla: "Quartilha",
35
+ formatFolio: "Fólio",
36
+ formatDoubleFolio: "Duplo Fólio",
37
+ formatSmallPoster: "Póster Pequeno",
38
+ formatLargePoster: "Póster Grande",
39
+ formatPlane: "Planta",
40
+ supportedText: "Sim (Coberto)",
41
+ notSupportedPrefix: "Não (",
42
+ invalidImageError: "Por favor, selecione uma imagem válida",
43
+ faqTitle: "Perguntas Frequentes",
44
+ bibliographyTitle: "Referências"
45
+ };
46
+
47
+ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
48
+ {
49
+ question: "O que é DPI e por que é importante?",
50
+ answer: "DPI (Dots Per Inch - Pontos por Polegada) indica quantos pontos de tinta a impressora colocará numa polegada linear. Quanto maior o DPI, mais nítida será a imagem, mas menor será o tamanho físico total que os seus píxeis cobrirão.",
51
+ },
52
+ {
53
+ question: "Qual é o DPI ideal para imprimir uma foto?",
54
+ answer: "O padrão industrial é de 300 DPI para uma excelente qualidade fotográfica. Para impressões de grande formato que serão vistas de longe, 150 DPI podem ser suficientes.",
55
+ },
56
+ {
57
+ question: "Posso aumentar o DPI da minha imagem sem perder qualidade?",
58
+ answer: "Não. Aumentar o DPI sem alterar os píxeis simplesmente reduz o tamanho da impressão. Se \"inventar\" píxeis através de software (upscaling), a imagem poderá parecer desfocada.",
59
+ },
60
+ ];
61
+
62
+ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
63
+ {
64
+ name: "Carregue a sua imagem",
65
+ text: "Carregue a fotografia que deseja imprimir para conhecer as suas dimensões em píxeis.",
66
+ },
67
+ {
68
+ name: "Ajuste o DPI",
69
+ text: "Deslize a barra para ver como o tamanho final muda de acordo com a densidade de pontos (72 a 600 DPI).",
70
+ },
71
+ {
72
+ name: "Verifique o formato",
73
+ text: "Consulte a tabela de formatos padrão (A4, A3, etc.) para ver se a sua resolução cobre o papel desejado.",
74
+ },
75
+ {
76
+ name: "Confirme a qualidade",
77
+ text: "Certifique se de que o indicador marca \"Qualidade Excelente\" antes de enviar para impressão.",
78
+ },
79
+ ];
80
+
81
+ const bibliography: PrintQualityCalculatorLocaleContent['bibliography'] = [
82
+ {
83
+ name: "Formatos de papel internacionais (ISO 216)",
84
+ url: "https://www.iso.org/standard/36631.html",
85
+ },
86
+ {
87
+ name: "Guia de resolução de imagem - Adobe",
88
+ url: "https://www.adobe.com/pt/creativecloud/photography/discover/image-resolution.html",
89
+ },
90
+ ];
91
+
92
+ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
93
+ {
94
+ type: 'summary',
95
+ title: 'Cálculo Profissional de Resolução de Impressão',
96
+ items: [
97
+ 'Converta píxeis em centímetros e polegadas com precisão',
98
+ 'Calcule o tamanho máximo com base no DPI desejado',
99
+ 'Compatibilidade com formatos padrão (A4, A3, etc.)',
100
+ 'Guia para 4 níveis de qualidade: Excelente a Não Adequado'
101
+ ]
102
+ },
103
+ { type: 'title', text: 'Guia Definitivo de Qualidade de Impressão e DPI', level: 2 },
104
+ { type: 'paragraph', html: 'Já alguma vez imprimiu uma foto e o resultado foi desfocado ou pixelizado? O segredo reside na relação matemática entre <strong>Píxeis</strong> e <strong>DPI</strong> (Pontos por Polegada). Esta ferramenta calcula o tamanho máximo exato a que pode imprimir as suas imagens sem perder a qualidade profissional.' },
105
+
106
+ { type: 'stats', items: [
107
+ { value: '300', label: 'DPI Padrão Profissional', icon: 'mdi:target' },
108
+ { value: '100%', label: 'Cálculos Precisos', icon: 'mdi:check' },
109
+ { value: 'ISO 216', label: 'Formatos Suportados', icon: 'mdi:file-document' }
110
+ ], columns: 3 },
111
+
112
+ { type: 'title', text: 'Compreender o DPI: Píxeis vs Pontos', level: 3 },
113
+ { type: 'paragraph', html: 'A confusão comum é pensar que DPI e píxeis são a mesma coisa. Não são. Os píxeis estão NO seu ficheiro digital. O DPI é a forma como a impressora os converte em tinta no papel.' },
114
+ { type: 'list', items: [
115
+ '<strong>DPI (Pontos por Polegada):</strong> Quantos pontos de tinta a impressora coloca numa polegada linear (2,54 cm).',
116
+ '<strong>Píxeis:</strong> Pequenos quadrados de dados no seu ficheiro digital. Uma foto de 3000x2000 píxeis tem informação constante, independentemente do DPI.',
117
+ '<strong>A Fórmula:</strong> Tamanho de impressão (polegadas) = Píxeis / DPI. Exemplo: 3000 píxeis / 300 DPI = 10 polegadas (25,4 cm)'
118
+ ], icon: 'mdi:check' },
119
+
120
+ { type: 'title', text: 'Níveis de Qualidade DPI Explicados', level: 3 },
121
+ { type: 'table', headers: ['DPI', 'Qualidade Visual', 'Casos de Uso', 'Distância de Visualização'], rows: [
122
+ ['600+ DPI', 'Excelente (Perfeito)', 'Livros de arte, revistas de luxo, fotografia fine art', 'Menos de 10 cm'],
123
+ ['300-400 DPI', 'Excelente (Profissional)', 'Fotografia, livros, catálogos de empresas', '20-30 cm (mão)'],
124
+ ['150-200 DPI', 'Boa (Impressão Web)', 'Pósteres, calendários, visualização média', '1-2 metros'],
125
+ ['72-100 DPI', 'Ecrã (Aceitável)', 'Painéis publicitários, faixas distantes', '5+ metros'],
126
+ ['10-30 DPI', 'Baixa (Não Adequado)', 'Painéis gigantes, visualização extremamente distante', '50+ metros']
127
+ ] },
128
+
129
+ { type: 'card', title: 'A Regra de Ouro dos 300 DPI', html: 'Para impressão fotográfica e editorial profissional, o padrão industrial é <strong>300 DPI</strong>. Isto garante que o olho humano a uma distância normal (20-30 cm) não perceba os pontos individuais de tinta. Com menos de 300 DPI, a grelha de píxeis torna-se visível.' },
130
+
131
+ { type: 'comparative', items: [
132
+ {
133
+ title: 'Fotografia de Mão (Fotos 10x15)',
134
+ description: '300 DPI obrigatórios - visualização de perto',
135
+ icon: 'mdi:image',
136
+ points: [
137
+ 'A 3000x2000 píxeis = máximo 10x6,7 polegadas',
138
+ 'Qualidade Excelente garantida',
139
+ 'Padrão para álbuns e presentes'
140
+ ]
141
+ },
142
+ {
143
+ title: 'Póster de Parede A3 (30x42 cm)',
144
+ description: '150 DPI suficientes - visualização à distância',
145
+ icon: 'mdi:wall-fire',
146
+ points: [
147
+ 'Visualização de 1-2 metros',
148
+ 'Menos píxeis necessários',
149
+ 'Poupe na qualidade da câmara'
150
+ ],
151
+ highlight: true
152
+ },
153
+ {
154
+ title: 'Painel Publicitário (200x300 cm)',
155
+ description: '15-30 DPI - visualização de muitos metros',
156
+ icon: 'mdi:sign',
157
+ points: [
158
+ 'Observado a mais de 20 metros de distância',
159
+ 'Mesmo a baixa resolução parece bem',
160
+ 'Otimize ficheiros grandes'
161
+ ]
162
+ }
163
+ ], columns: 3 },
164
+
165
+ { type: 'title', text: 'Preparar Ficheiros para Impressão Profissional', level: 3 },
166
+ { type: 'proscons', items: [
167
+ {
168
+ pro: 'CMYK vs RGB: As impressoras usam tinta (CMYK), os ecrãs usam luz (RGB). Converta para evitar surpresas nas cores.',
169
+ con: 'As cores podem mudar ao converter - verifique a pré-visualização primeiro'
170
+ },
171
+ {
172
+ pro: 'Sangria: Adicione 3mm extra por lado se a imagem deve chegar à borda do papel',
173
+ con: 'Sem sangria, as bordas cortadas podem ficar brancas'
174
+ },
175
+ {
176
+ pro: 'O upscaling NÃO funciona: Aumentar os píxeis no Photoshop adiciona informação falsa (desfocagem)',
177
+ con: 'Se deseja imprimir em grande, precisa da foto original em alta resolução'
178
+ },
179
+ {
180
+ pro: 'Formatos: TIFF sem compressão ou JPEG de alta qualidade para fotos; vetorial (AI, EPS) para logótipos',
181
+ con: 'O PNG não suporta nativamente CMYK na maioria das tipografias'
182
+ }
183
+ ], proTitle: 'Recomendações', conTitle: 'Contrapartidas' },
184
+
185
+ { type: 'diagnostic', variant: 'warning', title: 'Erro Comum: O Mito do Upscaling', icon: 'mdi:alert', badge: 'Crítico', html: '<strong>NÃO aumente o DPI no Photoshop sem alterar os píxeis.</strong> Aumentar de 72 DPI para 300 DPI simplesmente reduz o tamanho físico da impressão. Se \"adicionar píxeis\" através de interpolação (upscaling), a imagem parecerá desfocada. Precisa de píxeis REAIS da fonte.' },
186
+
187
+ { type: 'glossary', items: [
188
+ {
189
+ term: 'DPI (Pontos por Polegada)',
190
+ definition: 'Medida de resolução de impressão: quantos pontos de tinta por polegada linear (2,54 cm). 300 DPI = 300x300 = 90.000 pontos por polegada quadrada.'
191
+ },
192
+ {
193
+ term: 'CMYK',
194
+ definition: 'Espaço de cor de impressão: Ciano, Magenta, Amarelo, Preto (Key black). Baseado em tinta subtrativa. Diferente de RGB (luz aditiva de ecrãs).'
195
+ },
196
+ {
197
+ term: 'Sangria (Bleed)',
198
+ definition: 'Área extra (tipicamente 3mm) que é impressa e depois cortada. Garante que a imagem chegue ao bordo sem deixar margens brancas.'
199
+ },
200
+ {
201
+ term: 'Resolução Nativa',
202
+ definition: 'Píxeis REAIS captados pela câmara, sem manipulação. Aumentar o DPI sem alterar píxeis não gera \"resolução nativa\".'
203
+ },
204
+ {
205
+ term: 'Interpolação (Upscaling)',
206
+ definition: 'Algoritmo que inventa novos píxeis com base nos existentes. Útil para pequenos aumentos, mas perde nitidez em grandes ampliações.'
207
+ }
208
+ ] },
209
+
210
+ { type: 'message', title: 'Precisão Técnica para Resultados Profissionais', ariaLabel: 'Informações sobre cálculos de impressão', html: 'A nossa calculadora converte píxeis em centímetros considerando os padrões internacionais (ISO 216 para papel). Não é apenas uma calculadora: é o seu validador para saber se essa foto serve para esse tamanho de impressão mantendo a qualidade profissional.' },
211
+
212
+ { type: 'title', text: 'Conclusão: Imprima Sem Surpresas', level: 3 },
213
+ { type: 'paragraph', html: 'A diferença entre uma bela impressão e uma dececionante é conhecer a relação entre píxeis e DPI. Use esta calculadora para validar os seus ficheiros ANTES de ir à tipografia. Assim evita gastos desnecessários e resultados frustrantes.' }
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: 'pt',
247
+ };
248
+
249
+ export const content: PrintQualityCalculatorLocaleContent = {
250
+ slug,
251
+ title,
252
+ description,
253
+ ui,
254
+ seo,
255
+ faqTitle: "Perguntas Frequentes",
256
+ faq,
257
+ bibliographyTitle: "Referências",
258
+ bibliography,
259
+ howTo,
260
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
261
+ };
@@ -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 = 'kalkulyator-kachestva-pechati-pikseli-v-sm-i-dpi';
5
+ const title = 'Калькулятор качества печати: пиксели в СМ и DPI';
6
+ const description = 'Рассчитайте максимальный размер печати ваших фотографий на основе их разрешения. Конвертируйте пиксели в сантиметры и дюймы для обеспечения профессиональной печати.';
7
+
8
+ const ui: PrintQualityCalculatorUI = {
9
+ dropTitle: "Анализ разрешения",
10
+ dropSubtitle: "Перетащите изображение, чтобы рассчитать размер печати.",
11
+ resultsTitle: "Характеристики файла",
12
+ dpiDensityLabel: "Желаемая плотность печати (DPI)",
13
+ dpiPointsLabel: "точек на дюйм",
14
+ maxPrintTitle: "Максимальный размер печати",
15
+ standardFormatsTitle: "Поддерживаемые стандартные форматы",
16
+ formatColumn: "Формат",
17
+ measureColumn: "Размеры",
18
+ supportColumn: "Поддерживается?",
19
+ qualityExcellent: "Отличное качество",
20
+ qualityGood: "Хорошее качество",
21
+ qualityFair: "Экранное качество",
22
+ qualityPoor: "Не подходит",
23
+ qualityExcellentDesc: "Идеально для художественных журналов, фотокниг и просмотра вблизи.",
24
+ qualityGoodDesc: "Достаточно для постеров и просмотра со среднего расстояния.",
25
+ qualityFairDesc: "Подходит для просмотра на цифровых устройствах или удаленных рекламных щитов.",
26
+ qualityPoorDesc: "Изображение будет выглядеть пикселизированным. Печать не рекомендуется.",
27
+ unitCm: "см",
28
+ unitInches: "дюймов",
29
+ dpiScreenLabel: "Экран",
30
+ dpiNewspaperLabel: "Газета",
31
+ dpiPrintLabel: "Печать",
32
+ dpiFineArtLabel: "Fine Art",
33
+ formatPostal: "Открытка",
34
+ formatQuartilla: "Квартилья",
35
+ formatFolio: "Фолио",
36
+ formatDoubleFolio: "Двойное фолио",
37
+ formatSmallPoster: "Малый постер",
38
+ formatLargePoster: "Большой постер",
39
+ formatPlane: "Чертеж",
40
+ supportedText: "Да (Покрывает)",
41
+ notSupportedPrefix: "Нет (",
42
+ invalidImageError: "Пожалуйста, выберите корректное изображение",
43
+ faqTitle: "Часто задаваемые вопросы",
44
+ bibliographyTitle: "Ссылки"
45
+ };
46
+
47
+ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
48
+ {
49
+ question: "Что такое DPI и почему это важно?",
50
+ answer: "DPI (Dots Per Inch) показывает, сколько чернильных точек принтер нанесет на один погонный дюйм. Чем выше DPI, тем четче изображение, но тем меньше общий физический размер, который покроют ваши пиксели.",
51
+ },
52
+ {
53
+ question: "Какой DPI идеален для печати фото?",
54
+ answer: "Промышленным стандартом для отличного фотографического качества является 300 DPI. Для больших отпечатков, которые будут рассматриваться издалека, может быть достаточно 150 DPI.",
55
+ },
56
+ {
57
+ question: "Можно ли увеличить DPI изображения без потери качества?",
58
+ answer: "Нет. Увеличение DPI без изменения количества пикселей просто уменьшает размер отпечатка. Если вы «придумываете» пиксели с помощью ПО (апскейлинг), изображение может выглядеть размытым.",
59
+ },
60
+ ];
61
+
62
+ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
63
+ {
64
+ name: "Загрузите изображение",
65
+ text: "Загрузите фотографию, которую хотите распечатать, чтобы узнать ее размеры в пикселях.",
66
+ },
67
+ {
68
+ name: "Настройте DPI",
69
+ text: "Передвигайте ползунок, чтобы увидеть, как меняется итоговый размер в зависимости от плотности точек (от 72 до 600 DPI).",
70
+ },
71
+ {
72
+ name: "Проверьте формат",
73
+ text: "Сверьтесь с таблицей стандартных форматов (A4, A3 и т. д.), чтобы увидеть, подходит ли ваше разрешение для желаемого листа бумаги.",
74
+ },
75
+ {
76
+ name: "Подтвердите качество",
77
+ text: "Перед отправкой на печать убедитесь, что индикатор показывает «Отличное качество».",
78
+ },
79
+ ];
80
+
81
+ const bibliography: PrintQualityCalculatorLocaleContent['bibliography'] = [
82
+ {
83
+ name: "Международные форматы бумаги (ISO 216)",
84
+ url: "https://www.iso.org/standard/36631.html",
85
+ },
86
+ {
87
+ name: "Руководство по разрешению изображений - Adobe",
88
+ url: "https://www.adobe.com/ru/creativecloud/photography/discover/image-resolution.html",
89
+ },
90
+ ];
91
+
92
+ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
93
+ {
94
+ type: 'summary',
95
+ title: 'Профессиональный расчет разрешения печати',
96
+ items: [
97
+ 'Точная конвертация пикселей в сантиметры и дюймы',
98
+ 'Расчет максимального размера на основе желаемого DPI',
99
+ 'Совместимость со стандартными форматами (A4, A3 и т. д.)',
100
+ 'Руководство по 4 уровням качества: от отличного до неподходящего'
101
+ ]
102
+ },
103
+ { type: 'title', text: 'Полное руководство по качеству печати и DPI', level: 2 },
104
+ { type: 'paragraph', html: 'Вы когда-нибудь печатали фото, и оно получалось размытым или пикселизированным? Секрет кроется в математической связи между <strong>Пикселями</strong> и <strong>DPI</strong> (точками на дюйм). Этот инструмент рассчитывает точный максимальный размер, при котором вы можете распечатать свои изображения без потери профессионального качества.' },
105
+
106
+ { type: 'stats', items: [
107
+ { value: '300', label: 'Проф. стандарт DPI', icon: 'mdi:target' },
108
+ { value: '100%', label: 'Точные расчеты', icon: 'mdi:check' },
109
+ { value: 'ISO 216', label: 'Поддержка форматов', icon: 'mdi:file-document' }
110
+ ], columns: 3 },
111
+
112
+ { type: 'title', text: 'Понимание DPI: пиксели против точек', level: 3 },
113
+ { type: 'paragraph', html: 'Распространенное заблуждение — думать, что DPI и пиксели это одно и то же. Это не так. Пиксели находятся ВНУТРИ вашего цифрового файла. DPI — это то, как принтер превращает их в чернила на бумаге.' },
114
+ { type: 'list', items: [
115
+ '<strong>DPI (Dots Per Inch):</strong> сколько чернильных точек принтер размещает на одном погонном дюйме (2,54 см).',
116
+ '<strong>Пиксели:</strong> маленькие квадраты данных в вашем цифровом файле. Фото 3000x2000 пикселей имеет постоянный объем информации независимо от DPI.',
117
+ '<strong>Формула:</strong> размер печати (дюймы) = Пиксели / DPI. Пример: 3000 пикселей / 300 DPI = 10 дюймов (25,4 см)'
118
+ ], icon: 'mdi:check' },
119
+
120
+ { type: 'title', text: 'Объяснение уровней качества DPI', level: 3 },
121
+ { type: 'table', headers: ['DPI', 'Визуальное качество', 'Примеры использования', 'Дистанция просмотра'], rows: [
122
+ ['600+ DPI', 'Отличное (Идеально)', 'Арт-книги, люксовые журналы, художественная фотография', 'Менее 10 см'],
123
+ ['300-400 DPI', 'Отличное (Профи)', 'Фотография, книги, каталоги компаний', '20-30 см (в руках)'],
124
+ ['150-200 DPI', 'Хорошее (Веб-печать)', 'Постеры, календари, среднее расстояние', '1-2 метра'],
125
+ ['72-100 DPI', 'Экранное (Среднее)', 'Билборды, удаленные баннеры', '5+ метров'],
126
+ ['10-30 DPI', 'Низкое (Не подходит)', 'Гигантские билборды, экстремально далекий просмотр', '50+ метров']
127
+ ] },
128
+
129
+ { type: 'card', title: 'Золотое правило 300 DPI', html: 'Для фотографической и профессиональной редакционной печати отраслевым стандартом является <strong>300 DPI</strong>. Это гарантирует, что человеческий глаз на нормальном расстоянии (20-30 см) не заметит отдельных чернильных точек. При разрешении ниже 300 DPI становится видна пиксельная сетка.' },
130
+
131
+ { type: 'comparative', items: [
132
+ {
133
+ title: 'Фото в руках (фото 10x15)',
134
+ description: '300 DPI обязательно — просмотр вблизи',
135
+ icon: 'mdi:image',
136
+ points: [
137
+ 'При 3000x2000 пикселей = макс. 10x6,7 дюймов',
138
+ 'Гарантированное отличное качество',
139
+ 'Стандарт для альбомов и подарков'
140
+ ]
141
+ },
142
+ {
143
+ title: 'Настенный постер A3 (30x42 см)',
144
+ description: '150 DPI достаточно — просмотр с дистанции',
145
+ icon: 'mdi:wall-fire',
146
+ points: [
147
+ 'Просмотр с 1-2 метров',
148
+ 'Нужно меньше пикселей',
149
+ 'Экономия на качестве камеры'
150
+ ],
151
+ highlight: true
152
+ },
153
+ {
154
+ title: 'Билборд (200x300 см)',
155
+ description: '15-30 DPI — просмотр с многих метров',
156
+ icon: 'mdi:sign',
157
+ points: [
158
+ 'Наблюдение с расстояния 20+ метров',
159
+ 'Даже низкое разрешение выглядит хорошо',
160
+ 'Оптимизация больших файлов'
161
+ ]
162
+ }
163
+ ], columns: 3 },
164
+
165
+ { type: 'title', text: 'Подготовка файлов для профессиональной печати', level: 3 },
166
+ { type: 'proscons', items: [
167
+ {
168
+ pro: 'CMYK против RGB: Принтеры используют чернила (CMYK), экраны — свет (RGB). Конвертируйте, чтобы избежать сюрпризов с цветом.',
169
+ con: 'Цвета могут измениться при конвертации — сначала проверьте превью'
170
+ },
171
+ {
172
+ pro: 'Вылеты (Bleed): Добавьте по 3 мм с каждой стороны, если изображение должно доходить до края бумаги',
173
+ con: 'Без вылетов края после обрезки могут остаться белыми'
174
+ },
175
+ {
176
+ pro: 'Апскейлинг НЕ работает: Увеличение пикселей в Photoshop добавляет ложную информацию (размытие)',
177
+ con: 'Если нужно напечатать крупно, нужно исходное фото в высоком разрешении'
178
+ },
179
+ {
180
+ pro: 'Форматы: TIFF без сжатия или качественный JPEG для фото; вектор (AI, EPS) для логотипов',
181
+ con: 'PNG нативно не поддерживает CMYK в большинстве типографий'
182
+ }
183
+ ], proTitle: 'Рекомендации', conTitle: 'Противопоказания' },
184
+
185
+ { type: 'diagnostic', variant: 'warning', title: 'Частая ошибка: Миф об апскейлинге', icon: 'mdi:alert', badge: 'Критично', html: '<strong>НЕ увеличивайте DPI в Photoshop без изменения количества пикселей.</strong> Увеличение с 72 до 300 DPI просто уменьшит физический размер печати. Если вы «добавите пиксели» путем интерполяции (апскейлинга), изображение будет выглядеть размытым. Вам нужны РЕАЛЬНЫЕ пиксели из источника.' },
186
+
187
+ { type: 'glossary', items: [
188
+ {
189
+ term: 'DPI (Dots Per Inch)',
190
+ definition: 'Мера разрешения печати: сколько чернильных точек на один погонный дюйм (2,54 см). 300 DPI = 300x300 = 90 000 точек на квадратный дюйм.'
191
+ },
192
+ {
193
+ term: 'CMYK',
194
+ definition: 'Цветовое пространство печати: Cyan, Magenta, Yellow, blacK. Основано на субтрактивной модели (чернила). Отличается от RGB (свет).'
195
+ },
196
+ {
197
+ term: 'Вылеты (Bleed)',
198
+ definition: 'Дополнительная область (обычно 3 мм), которая запечатывается, а затем обрезается. Гарантирует, что изображение дойдет до края без белых полей.'
199
+ },
200
+ {
201
+ term: 'Нативное разрешение',
202
+ definition: 'РЕАЛЬНЫЕ пиксели, снятые камерой, без манипуляций. Увеличение DPI без изменения пикселей не создает «нативное разрешение».'
203
+ },
204
+ {
205
+ term: 'Интерполяция (Апскейлинг)',
206
+ definition: 'Алгоритм, придумывающий новые пиксели на основе существующих. Полезен для небольшого увеличения, но ведет к потере четкости при больших масштабах.'
207
+ }
208
+ ] },
209
+
210
+ { type: 'message', title: 'Техническая точность для профи результатов', ariaLabel: 'Информация о расчетах печати', html: 'Наш калькулятор конвертирует пиксели в сантиметры с учетом международных стандартов (ISO 216 для бумаги). Это не просто калькулятор: это ваш валидатор того, подходит ли это фото для этого размера печати с сохранением профи-качества.' },
211
+
212
+ { type: 'title', text: 'Заключение: печать без сюрпризов', level: 3 },
213
+ { type: 'paragraph', html: 'Разница между красивым отпечатком и разочарованием — в знании связи между пикселями и DPI. Используйте этот калькулятор для проверки файлов ПЕРЕД походом в типографию. Так вы избежите лишних трат и плохих результатов.' }
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: 'ru',
247
+ };
248
+
249
+ export const content: PrintQualityCalculatorLocaleContent = {
250
+ slug,
251
+ title,
252
+ description,
253
+ ui,
254
+ seo,
255
+ faqTitle: "Часто задаваемые вопросы",
256
+ faq,
257
+ bibliographyTitle: "Ссылки",
258
+ bibliography,
259
+ howTo,
260
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
261
+ };