@jjlmoya/utils-audiovisual 1.18.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/category/i18n/de.ts +1 -1
- package/src/category/i18n/fr.ts +1 -1
- package/src/category/i18n/ru.ts +1 -1
- package/src/category/index.ts +2 -0
- package/src/entries.ts +4 -1
- package/src/index.ts +1 -0
- package/src/tests/diacritics_density.test.ts +118 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/chromaticLens/i18n/de.ts +6 -6
- package/src/tool/chromaticLens/i18n/fr.ts +3 -3
- package/src/tool/chromaticLens/i18n/pl.ts +1 -1
- package/src/tool/chromaticLens/i18n/ru.ts +10 -10
- package/src/tool/chromaticLens/i18n/zh.ts +2 -2
- package/src/tool/collageMaker/i18n/de.ts +6 -6
- package/src/tool/collageMaker/i18n/fr.ts +4 -4
- package/src/tool/collageMaker/i18n/pl.ts +5 -5
- package/src/tool/collageMaker/i18n/ru.ts +12 -12
- package/src/tool/collageMaker/i18n/sv.ts +3 -3
- package/src/tool/collageMaker/i18n/zh.ts +1 -1
- package/src/tool/depthOfFieldCalculator/i18n/de.ts +3 -3
- package/src/tool/depthOfFieldCalculator/i18n/en.ts +7 -7
- package/src/tool/depthOfFieldCalculator/i18n/es.ts +2 -2
- package/src/tool/depthOfFieldCalculator/i18n/fr.ts +6 -6
- package/src/tool/depthOfFieldCalculator/i18n/id.ts +2 -2
- package/src/tool/depthOfFieldCalculator/i18n/it.ts +2 -2
- package/src/tool/depthOfFieldCalculator/i18n/ja.ts +1 -1
- package/src/tool/depthOfFieldCalculator/i18n/ko.ts +1 -1
- package/src/tool/depthOfFieldCalculator/i18n/nl.ts +2 -2
- package/src/tool/depthOfFieldCalculator/i18n/pl.ts +2 -2
- package/src/tool/depthOfFieldCalculator/i18n/pt.ts +2 -2
- package/src/tool/depthOfFieldCalculator/i18n/ru.ts +6 -6
- package/src/tool/depthOfFieldCalculator/i18n/sv.ts +2 -2
- package/src/tool/depthOfFieldCalculator/i18n/tr.ts +1 -1
- package/src/tool/depthOfFieldCalculator/i18n/zh.ts +3 -3
- package/src/tool/exifCleaner/i18n/de.ts +8 -8
- package/src/tool/exifCleaner/i18n/fr.ts +11 -11
- package/src/tool/exifCleaner/i18n/pl.ts +6 -6
- package/src/tool/exifCleaner/i18n/ru.ts +14 -14
- package/src/tool/exifCleaner/i18n/zh.ts +3 -3
- package/src/tool/imageCompressor/i18n/de.ts +16 -16
- package/src/tool/imageCompressor/i18n/fr.ts +8 -8
- package/src/tool/imageCompressor/i18n/pl.ts +1 -1
- package/src/tool/imageCompressor/i18n/ru.ts +9 -9
- package/src/tool/imageCompressor/i18n/zh.ts +1 -1
- package/src/tool/printQualityCalculator/component.astro +118 -110
- package/src/tool/printQualityCalculator/i18n/de.ts +5 -5
- package/src/tool/printQualityCalculator/i18n/fr.ts +11 -11
- package/src/tool/printQualityCalculator/i18n/pl.ts +4 -4
- package/src/tool/printQualityCalculator/i18n/ru.ts +11 -11
- package/src/tool/printQualityCalculator/i18n/zh.ts +4 -4
- package/src/tool/printQualityCalculator/print-quality-calculator-pixels-to-cm-dpi.css +193 -40
- package/src/tool/privacyBlur/i18n/de.ts +5 -5
- package/src/tool/privacyBlur/i18n/fr.ts +9 -9
- package/src/tool/privacyBlur/i18n/ru.ts +6 -6
- package/src/tool/subtitleSync/i18n/de.ts +1 -1
- package/src/tool/subtitleSync/i18n/fr.ts +9 -9
- package/src/tool/subtitleSync/i18n/ru.ts +6 -6
- package/src/tool/subtitleSync/i18n/sv.ts +4 -4
- package/src/tool/timelapseCalculator/i18n/fr.ts +6 -6
- package/src/tool/timelapseCalculator/i18n/ru.ts +3 -3
- package/src/tool/timelapseCalculator/i18n/zh.ts +4 -4
- package/src/tool/tvDistance/i18n/fr.ts +2 -2
- package/src/tool/tvDistance/i18n/ru.ts +9 -9
- package/src/tool/tvDistance/i18n/zh.ts +4 -4
- package/src/tool/videoFrameExtractor/i18n/fr.ts +8 -8
- package/src/tool/videoFrameExtractor/i18n/ru.ts +2 -2
- package/src/tool/videoMerger/bibliography.astro +17 -0
- package/src/tool/videoMerger/bibliography.ts +16 -0
- package/src/tool/videoMerger/component.astro +400 -0
- package/src/tool/videoMerger/entry.ts +51 -0
- package/src/tool/videoMerger/i18n/de.ts +205 -0
- package/src/tool/videoMerger/i18n/en.ts +205 -0
- package/src/tool/videoMerger/i18n/es.ts +205 -0
- package/src/tool/videoMerger/i18n/fr.ts +205 -0
- package/src/tool/videoMerger/i18n/id.ts +205 -0
- package/src/tool/videoMerger/i18n/it.ts +205 -0
- package/src/tool/videoMerger/i18n/ja.ts +205 -0
- package/src/tool/videoMerger/i18n/ko.ts +205 -0
- package/src/tool/videoMerger/i18n/nl.ts +205 -0
- package/src/tool/videoMerger/i18n/pl.ts +205 -0
- package/src/tool/videoMerger/i18n/pt.ts +205 -0
- package/src/tool/videoMerger/i18n/ru.ts +205 -0
- package/src/tool/videoMerger/i18n/sv.ts +205 -0
- package/src/tool/videoMerger/i18n/tr.ts +205 -0
- package/src/tool/videoMerger/i18n/zh.ts +205 -0
- package/src/tool/videoMerger/index.ts +11 -0
- package/src/tool/videoMerger/logic.ts +263 -0
- package/src/tool/videoMerger/online-video-merger.css +440 -0
- package/src/tool/videoMerger/seo.astro +15 -0
- package/src/tools.ts +2 -0
|
@@ -158,7 +158,7 @@ const seo: ImageCompressorLocaleContent['seo'] = [
|
|
|
158
158
|
{ type: 'glossary', items: [
|
|
159
159
|
{
|
|
160
160
|
term: '有损压缩',
|
|
161
|
-
definition: '
|
|
161
|
+
definition: '删除人眼视为\"噪声\"的视觉数据。摄影的理想选择。JPEG、有损 WebP、HEIC 均属于有损压缩。'
|
|
162
162
|
},
|
|
163
163
|
{
|
|
164
164
|
term: '无损压缩',
|
|
@@ -10,126 +10,134 @@ const { ui } = Astro.props;
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
<div class="pq-wrapper" id="pq-root" data-ui={JSON.stringify(ui)}>
|
|
13
|
-
<div
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
<div class="pq-
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
<
|
|
25
|
-
|
|
13
|
+
<div class="pq-tool-card">
|
|
14
|
+
<div
|
|
15
|
+
id="drop-zone"
|
|
16
|
+
class="pq-drop-zone pq-group"
|
|
17
|
+
>
|
|
18
|
+
<input type="file" id="file-input" class="pq-hidden" accept="image/webp, image/jpeg, image/png, image/tiff" />
|
|
19
|
+
|
|
20
|
+
<div class="pq-drop-inner">
|
|
21
|
+
<div class="pq-upload-icon-wrap pq-group-icon">
|
|
22
|
+
<Icon name="mdi:cloud-upload" style="width:2.5rem;height:2.5rem" />
|
|
23
|
+
</div>
|
|
24
|
+
<div>
|
|
25
|
+
<h3 class="pq-drop-title">{ui.dropTitle}</h3>
|
|
26
|
+
<p class="pq-drop-sub">{ui.dropSubtitle}</p>
|
|
27
|
+
</div>
|
|
26
28
|
</div>
|
|
27
|
-
</div>
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
<div class="pq-drop-overlay"></div>
|
|
31
|
+
</div>
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
<span
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
<span
|
|
52
|
-
|
|
33
|
+
<div id="results-area" class="pq-results pq-hidden">
|
|
34
|
+
<div class="pq-file-card">
|
|
35
|
+
<div class="pq-file-left">
|
|
36
|
+
<div class="pq-preview-wrap" id="preview-wrap">
|
|
37
|
+
<img id="preview-img" class="pq-preview-img" src="#" alt="Preview" />
|
|
38
|
+
</div>
|
|
39
|
+
<div class="pq-file-info">
|
|
40
|
+
<div class="pq-file-header">
|
|
41
|
+
<p id="file-name" class="pq-file-name">nombre_archivo.jpg</p>
|
|
42
|
+
<button type="button" id="replace-image-btn" class="pq-replace-btn">
|
|
43
|
+
<Icon name="mdi:image-refresh" style="width:1rem;height:1rem" />
|
|
44
|
+
<span>{ui.dropTitle}</span>
|
|
45
|
+
</button>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="pq-file-meta">
|
|
48
|
+
<span class="pq-meta-item">
|
|
49
|
+
<Icon name="mdi:arrow-expand" style="width:1rem;height:1rem" />
|
|
50
|
+
<span id="pixel-dims">0 x 0 px</span>
|
|
51
|
+
</span>
|
|
52
|
+
<span class="pq-meta-item">
|
|
53
|
+
<Icon name="mdi:harddisk" style="width:1rem;height:1rem" />
|
|
54
|
+
<span id="file-size">0 MB</span>
|
|
55
|
+
</span>
|
|
56
|
+
<span class="pq-meta-item">
|
|
57
|
+
<Icon name="mdi:image-filter-hdr" style="width:1rem;height:1rem" />
|
|
58
|
+
<span id="megapixels">0 MP</span>
|
|
59
|
+
</span>
|
|
60
|
+
</div>
|
|
53
61
|
</div>
|
|
54
62
|
</div>
|
|
55
63
|
</div>
|
|
56
|
-
</div>
|
|
57
64
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
<input
|
|
63
|
-
type="range"
|
|
64
|
-
id="dpi-slider"
|
|
65
|
-
min="72"
|
|
66
|
-
max="600"
|
|
67
|
-
value="300"
|
|
68
|
-
step="1"
|
|
69
|
-
class="pq-slider"
|
|
70
|
-
/>
|
|
71
|
-
|
|
72
|
-
<div class="pq-dpi-row">
|
|
65
|
+
<div class="pq-main-grid">
|
|
66
|
+
<div class="pq-config-panel">
|
|
67
|
+
<label class="pq-config-label">{ui.dpiDensityLabel}</label>
|
|
68
|
+
|
|
73
69
|
<input
|
|
74
|
-
type="
|
|
75
|
-
id="dpi-
|
|
70
|
+
type="range"
|
|
71
|
+
id="dpi-slider"
|
|
72
|
+
min="72"
|
|
73
|
+
max="600"
|
|
76
74
|
value="300"
|
|
77
|
-
|
|
75
|
+
step="1"
|
|
76
|
+
class="pq-slider"
|
|
78
77
|
/>
|
|
79
|
-
<span class="pq-dpi-label">{ui.dpiPointsLabel}</span>
|
|
80
|
-
</div>
|
|
81
78
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
<div class="pq-output-panel">
|
|
91
|
-
<div class="pq-output-gradient">
|
|
92
|
-
<div class="pq-output-blur-bg"></div>
|
|
93
|
-
<h3 class="pq-output-subtitle">{ui.maxPrintTitle}</h3>
|
|
94
|
-
|
|
95
|
-
<div class="pq-output-size">
|
|
96
|
-
<span id="print-cm-w">0</span>
|
|
97
|
-
<span class="pq-size-sep">x</span>
|
|
98
|
-
<span id="print-cm-h">0</span>
|
|
99
|
-
<span class="pq-size-unit">cm</span>
|
|
79
|
+
<div class="pq-dpi-row">
|
|
80
|
+
<input
|
|
81
|
+
type="number"
|
|
82
|
+
id="dpi-input"
|
|
83
|
+
value="300"
|
|
84
|
+
class="pq-dpi-number"
|
|
85
|
+
/>
|
|
86
|
+
<span class="pq-dpi-label">{ui.dpiPointsLabel}</span>
|
|
100
87
|
</div>
|
|
101
88
|
|
|
102
|
-
<div class="pq-
|
|
103
|
-
<
|
|
89
|
+
<div class="pq-presets">
|
|
90
|
+
<button class="pq-preset-btn" data-val="72">{ui.dpiScreenLabel} (72)</button>
|
|
91
|
+
<button class="pq-preset-btn" data-val="150">{ui.dpiNewspaperLabel} (150)</button>
|
|
92
|
+
<button class="pq-preset-btn pq-preset-active" data-val="300">{ui.dpiPrintLabel} (300)</button>
|
|
93
|
+
<button class="pq-preset-btn" data-val="600">{ui.dpiFineArtLabel} (600)</button>
|
|
104
94
|
</div>
|
|
95
|
+
</div>
|
|
105
96
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
<
|
|
97
|
+
<div class="pq-output-panel">
|
|
98
|
+
<div class="pq-output-gradient">
|
|
99
|
+
<div class="pq-output-blur-bg"></div>
|
|
100
|
+
<h3 class="pq-output-subtitle">{ui.maxPrintTitle}</h3>
|
|
101
|
+
|
|
102
|
+
<div class="pq-output-size">
|
|
103
|
+
<span id="print-cm-w">0</span>
|
|
104
|
+
<span class="pq-size-sep">x</span>
|
|
105
|
+
<span id="print-cm-h">0</span>
|
|
106
|
+
<span class="pq-size-unit">cm</span>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
<div class="pq-output-inches">
|
|
110
|
+
<span id="print-in-w">0</span>" x <span id="print-in-h">0</span>"
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<div class="pq-quality-section">
|
|
114
|
+
<span id="quality-badge" class="pq-quality-badge">
|
|
115
|
+
<Icon name="mdi:check-decagram" style="width:1rem;height:1rem" />
|
|
116
|
+
<span id="quality-text">{ui.qualityExcellent}</span>
|
|
117
|
+
</span>
|
|
118
|
+
<p id="quality-desc" class="pq-quality-desc">{ui.qualityExcellentDesc}</p>
|
|
119
|
+
</div>
|
|
112
120
|
</div>
|
|
113
121
|
</div>
|
|
114
122
|
</div>
|
|
115
|
-
</div>
|
|
116
123
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
124
|
+
<div class="pq-formats-card">
|
|
125
|
+
<h4 class="pq-formats-title">
|
|
126
|
+
<Icon name="mdi:ruler-square" style="width:1.2rem;height:1.2rem;color:#6366f1" />
|
|
127
|
+
{ui.standardFormatsTitle}
|
|
128
|
+
</h4>
|
|
129
|
+
<div class="pq-formats-scroll">
|
|
130
|
+
<table class="pq-formats-table">
|
|
131
|
+
<thead>
|
|
132
|
+
<tr>
|
|
133
|
+
<th>{ui.formatColumn}</th>
|
|
134
|
+
<th>{ui.measureColumn} (cm)</th>
|
|
135
|
+
<th>{ui.supportColumn}</th>
|
|
136
|
+
</tr>
|
|
137
|
+
</thead>
|
|
138
|
+
<tbody id="formats-table-body"></tbody>
|
|
139
|
+
</table>
|
|
140
|
+
</div>
|
|
133
141
|
</div>
|
|
134
142
|
</div>
|
|
135
143
|
</div>
|
|
@@ -150,10 +158,6 @@ const { ui } = Astro.props;
|
|
|
150
158
|
];
|
|
151
159
|
|
|
152
160
|
function initPQCalc() {
|
|
153
|
-
console.log('DEBUG: initPQCalc called');
|
|
154
|
-
console.log('DEBUG: ui object:', ui);
|
|
155
|
-
console.log('DEBUG: ui.formatPostal:', ui.formatPostal);
|
|
156
|
-
|
|
157
161
|
function getFormatName(format) {
|
|
158
162
|
const keyMap = {
|
|
159
163
|
postal: 'formatPostal',
|
|
@@ -165,9 +169,7 @@ const { ui } = Astro.props;
|
|
|
165
169
|
plane: 'formatPlane'
|
|
166
170
|
};
|
|
167
171
|
const uiKey = keyMap[format.key];
|
|
168
|
-
|
|
169
|
-
console.log('DEBUG: getFormatName for', format.key, '=', result, '(uiKey:', uiKey, ', ui[uiKey]:', ui[uiKey], ')');
|
|
170
|
-
return result;
|
|
172
|
+
return format.label + ' (' + (ui[uiKey] || format.key) + ')';
|
|
171
173
|
}
|
|
172
174
|
|
|
173
175
|
const dropZone = document.getElementById("drop-zone");
|
|
@@ -176,6 +178,8 @@ const { ui } = Astro.props;
|
|
|
176
178
|
if (!dropZone || !fileInput || !resultsArea) return;
|
|
177
179
|
|
|
178
180
|
const previewImg = document.getElementById("preview-img");
|
|
181
|
+
const previewWrap = document.getElementById("preview-wrap");
|
|
182
|
+
const replaceImageBtn = document.getElementById("replace-image-btn");
|
|
179
183
|
const fileNameEl = document.getElementById("file-name");
|
|
180
184
|
const pixelDimsEl = document.getElementById("pixel-dims");
|
|
181
185
|
const fileSizeEl = document.getElementById("file-size");
|
|
@@ -212,6 +216,11 @@ const { ui } = Astro.props;
|
|
|
212
216
|
});
|
|
213
217
|
|
|
214
218
|
dropZone.addEventListener("click", function() { fileInput.click(); });
|
|
219
|
+
if (replaceImageBtn) {
|
|
220
|
+
replaceImageBtn.addEventListener("click", function() {
|
|
221
|
+
fileInput.click();
|
|
222
|
+
});
|
|
223
|
+
}
|
|
215
224
|
|
|
216
225
|
fileInput.addEventListener("change", function() {
|
|
217
226
|
if (fileInput.files && fileInput.files.length > 0) processFile(fileInput.files[0]);
|
|
@@ -251,6 +260,7 @@ const { ui } = Astro.props;
|
|
|
251
260
|
resultsArea.classList.remove("pq-hidden");
|
|
252
261
|
dropZone.classList.add("pq-hidden");
|
|
253
262
|
if (previewImg) previewImg.src = src;
|
|
263
|
+
if (previewWrap) previewWrap.classList.toggle("pq-hidden", !src);
|
|
254
264
|
if (fileNameEl) fileNameEl.textContent = file.name;
|
|
255
265
|
if (pixelDimsEl) pixelDimsEl.textContent = currentWidth + " x " + currentHeight + " px";
|
|
256
266
|
if (fileSizeEl) fileSizeEl.textContent = (file.size / (1024 * 1024)).toFixed(2) + " MB";
|
|
@@ -311,13 +321,11 @@ const { ui } = Astro.props;
|
|
|
311
321
|
}
|
|
312
322
|
|
|
313
323
|
function updateFormatsTable(cmW, cmH) {
|
|
314
|
-
console.log('DEBUG: updateFormatsTable called, ui.supportedText:', ui.supportedText);
|
|
315
324
|
if (!formatsTableBody) return;
|
|
316
325
|
formatsTableBody.innerHTML = "";
|
|
317
326
|
const imgMin = Math.min(cmW, cmH);
|
|
318
327
|
const imgMax = Math.max(cmW, cmH);
|
|
319
328
|
PAPER_FORMATS.forEach(function(paper) {
|
|
320
|
-
console.log('DEBUG: Processing paper format:', paper.key);
|
|
321
329
|
const paperMin = Math.min(paper.w, paper.h);
|
|
322
330
|
const paperMax = Math.max(paper.w, paper.h);
|
|
323
331
|
const covers = imgMin >= paperMin - 0.1 && imgMax >= paperMax - 0.1;
|
|
@@ -54,7 +54,7 @@ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
|
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
question: "Kann ich die DPI meines Bildes erhöhen, ohne an Qualität zu verlieren?",
|
|
57
|
-
answer: "Nein. Erhöhen Sie die DPI, ohne die Pixel zu ändern, verringert sich einfach die Druckgröße. Wenn Sie Pixel mit Software
|
|
57
|
+
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.",
|
|
58
58
|
},
|
|
59
59
|
];
|
|
60
60
|
|
|
@@ -73,7 +73,7 @@ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
|
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
name: "Qualität bestätigen",
|
|
76
|
-
text: "Stellen Sie sicher, dass die Anzeige
|
|
76
|
+
text: "Stellen Sie sicher, dass die Anzeige \"Hervorragende Qualität\" anzeigt, bevor Sie den Druck in Auftrag geben.",
|
|
77
77
|
},
|
|
78
78
|
];
|
|
79
79
|
|
|
@@ -154,7 +154,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
154
154
|
{ type: 'proscons', items: [
|
|
155
155
|
{
|
|
156
156
|
pro: 'CMYK vs. RGB: Drucker verwenden Tinte (CMYK), Bildschirme Licht (RGB). Konvertieren Sie, um Farbüberraschungen zu vermeiden.',
|
|
157
|
-
con: 'Farben können sich beim Konvertieren ändern
|
|
157
|
+
con: 'Farben können sich beim Konvertieren ändern - erst Vorschau prüfen'
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
pro: 'Beschnitt: Fügen Sie 3 mm extra pro Seite hinzu, wenn das Bild bis zum Papierrand reichen soll',
|
|
@@ -170,7 +170,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
170
170
|
}
|
|
171
171
|
], proTitle: 'Empfehlungen', conTitle: 'Gegenanzeigen' },
|
|
172
172
|
|
|
173
|
-
{ 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)
|
|
173
|
+
{ 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.' },
|
|
174
174
|
|
|
175
175
|
{ type: 'glossary', items: [
|
|
176
176
|
{
|
|
@@ -187,7 +187,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
term: 'Native Auflösung',
|
|
190
|
-
definition: 'ECHTE, von der Kamera erfasste Pixel ohne Manipulation. DPI-Erhöhung ohne Pixeländerung erzeugt keine
|
|
190
|
+
definition: 'ECHTE, von der Kamera erfasste Pixel ohne Manipulation. DPI-Erhöhung ohne Pixeländerung erzeugt keine \"native Auflösung\".'
|
|
191
191
|
},
|
|
192
192
|
{
|
|
193
193
|
term: 'Interpolation (Upscaling)',
|
|
@@ -85,7 +85,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
85
85
|
'Convertissez les pixels en centimètres et pouces avec précision',
|
|
86
86
|
'Calculez la taille maximale selon le DPI souhaité',
|
|
87
87
|
'Compatibilité avec les formats standards (A4, A3, etc.)',
|
|
88
|
-
'Guide de 4 niveaux de
|
|
88
|
+
'Guide de 4 niveaux de qualité: Excellente à Non Adapté'
|
|
89
89
|
]
|
|
90
90
|
},
|
|
91
91
|
{ type: 'title', text: 'Guide Ultime de la Qualité d\'Impression et du DPI', level: 2 },
|
|
@@ -97,12 +97,12 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
97
97
|
{ value: 'ISO 216', label: 'Formats Supportés', icon: 'mdi:file-document' }
|
|
98
98
|
], columns: 3 },
|
|
99
99
|
|
|
100
|
-
{ type: 'title', text: 'Comprendre le DPI
|
|
100
|
+
{ type: 'title', text: 'Comprendre le DPI: Pixels vs Points', level: 3 },
|
|
101
101
|
{ type: 'paragraph', html: 'La confusion courante est de penser que le DPI et les pixels sont identiques. Ce n\'est pas le cas. Les pixels sont DANS votre fichier numérique. Le DPI est la façon dont l\'imprimante les convertit en encre sur le papier.' },
|
|
102
102
|
{ type: 'list', items: [
|
|
103
103
|
'<strong>DPI (Dots Per Inch) :</strong> Combien de points d\'encre l\'imprimante place dans un pouce linéaire (2,54 cm).',
|
|
104
104
|
'<strong>Pixels :</strong> Petits carrés de données dans votre fichier numérique. Une photo de 3000x2000 pixels possède une information constante, quel que soit le DPI.',
|
|
105
|
-
'<strong>La Formule :</strong> Taille d\'impression (pouces) = Pixels / DPI. Exemple
|
|
105
|
+
'<strong>La Formule :</strong> Taille d\'impression (pouces) = Pixels / DPI. Exemple: 3000 pixels / 300 DPI = 10 pouces (25,4 cm)'
|
|
106
106
|
], icon: 'mdi:check' },
|
|
107
107
|
|
|
108
108
|
{ type: 'title', text: 'Niveaux de Qualité DPI Expliqués', level: 3 },
|
|
@@ -153,33 +153,33 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
153
153
|
{ type: 'title', text: 'Préparation des Fichiers pour l\'Impression Professionnelle', level: 3 },
|
|
154
154
|
{ type: 'proscons', items: [
|
|
155
155
|
{
|
|
156
|
-
pro: 'CMJN vs RVB
|
|
156
|
+
pro: 'CMJN vs RVB: Les imprimantes utilisent de l\'encre (CMJN), les écrans de la lumière (RVB). Convertissez pour éviter les mauvaises surprises.',
|
|
157
157
|
con: 'Les couleurs peuvent changer lors de la conversion - prévisualisez d\'abord'
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
|
-
pro: 'Fond Perdu (Bleed)
|
|
160
|
+
pro: 'Fond Perdu (Bleed): Ajoutez 3 mm de chaque côté si l\'image doit atteindre le bord du papier',
|
|
161
161
|
con: 'Sans fond perdu, les bords coupés peuvent rester blancs'
|
|
162
162
|
},
|
|
163
163
|
{
|
|
164
|
-
pro: 'L\'Upscaling NE FONCTIONNE PAS
|
|
164
|
+
pro: 'L\'Upscaling NE FONCTIONNE PAS: Augmenter les pixels dans Photoshop ajoute de fausses informations (lissage)',
|
|
165
165
|
con: 'Si vous devez imprimer en grand, il vous faut la photo originale haute résolution'
|
|
166
166
|
},
|
|
167
167
|
{
|
|
168
|
-
pro: 'Formats
|
|
168
|
+
pro: 'Formats: TIFF sans compression ou JPEG haute qualité ; vectoriel (AI, EPS) pour les logos',
|
|
169
169
|
con: 'Le PNG ne supporte pas nativement le CMJN dans la plupart des imprimeries'
|
|
170
170
|
}
|
|
171
171
|
], proTitle: 'Recommandations', conTitle: 'Contre-indications' },
|
|
172
172
|
|
|
173
|
-
{ type: 'diagnostic', variant: 'warning', title: 'Erreur Commune
|
|
173
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Erreur Commune: Le Mythe de l\'Upscaling', icon: 'mdi:alert', badge: 'Critique', html: '<strong>N\'augmentez PAS le DPI dans Photoshop sans changer les pixels.</strong> Passer de 72 DPI à 300 DPI réduit simplement la taille physique car le nombre de pixels reste le même. Si vous "ajoutez des pixels" par interpolation, l\'image sera floue. Il faut des pixels RÉELS dès l\'origine.' },
|
|
174
174
|
|
|
175
175
|
{ type: 'glossary', items: [
|
|
176
176
|
{
|
|
177
177
|
term: 'DPI (Dots Per Inch)',
|
|
178
|
-
definition: 'Mesure de résolution en impression
|
|
178
|
+
definition: 'Mesure de résolution en impression: combien de points d\'encre par pouce linéaire (2,54 cm). 300 DPI = 90 000 points par pouce carré.'
|
|
179
179
|
},
|
|
180
180
|
{
|
|
181
181
|
term: 'CMJN',
|
|
182
|
-
definition: 'Espace colorimétrique d\'impression
|
|
182
|
+
definition: 'Espace colorimétrique d\'impression: Cyan, Magenta, Jaune, Noir (CMYK en anglais). Basé sur l\'encre soustractive.'
|
|
183
183
|
},
|
|
184
184
|
{
|
|
185
185
|
term: 'Fond Perdu (Bleed)',
|
|
@@ -197,7 +197,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
197
197
|
|
|
198
198
|
{ type: 'message', title: 'Précision Technique pour des Résultats Professionnels', ariaLabel: 'Informations sur les calculs d\'impression', html: 'Notre calculatrice convertit les pixels en centimètres en tenant compte des normes internationales (ISO 216 pour le papier). C\'est l\'outil idéal pour valider vos fichiers avant l\'impression.' },
|
|
199
199
|
|
|
200
|
-
{ type: 'title', text: 'Conclusion
|
|
200
|
+
{ type: 'title', text: 'Conclusion: Imprimez Sans Mauvaises Surprises', level: 3 },
|
|
201
201
|
{ type: 'paragraph', html: 'La différence entre une impression magnifique et décevante réside dans la relation entre pixels et DPI. Utilisez cet outil pour valider vos fichiers AVANT de passer à l\'imprimerie.' }
|
|
202
202
|
];
|
|
203
203
|
|
|
@@ -54,7 +54,7 @@ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
|
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
question: "Czy mogę zwiększyć DPI mojego obrazu bez utraty jakości?",
|
|
57
|
-
answer: "Nie. Zwiększenie DPI bez zmiany liczby pikseli po prostu zmniejsza rozmiar wydruku. Jeśli
|
|
57
|
+
answer: "Nie. Zwiększenie DPI bez zmiany liczby pikseli po prostu zmniejsza rozmiar wydruku. Jeśli \"wymyślisz\" piksele za pomocą oprogramowania (upscaling), obraz może wyglądać na rozmyty.",
|
|
58
58
|
},
|
|
59
59
|
];
|
|
60
60
|
|
|
@@ -73,7 +73,7 @@ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
|
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
name: "Potwierdź jakość",
|
|
76
|
-
text: "Upewnij się, że wskaźnik pokazuje
|
|
76
|
+
text: "Upewnij się, że wskaźnik pokazuje \"Doskonała Jakość\" przed wysłaniem do druku.",
|
|
77
77
|
},
|
|
78
78
|
];
|
|
79
79
|
|
|
@@ -170,7 +170,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
170
170
|
}
|
|
171
171
|
], proTitle: 'Rekomendacje', conTitle: 'Przeciwwskazania' },
|
|
172
172
|
|
|
173
|
-
{ type: 'diagnostic', variant: 'warning', title: 'Częsty Błąd: Mit Upscalingu', icon: 'mdi:alert', badge: 'Krytyczne', html: '<strong>NIE zwiększaj DPI w Photoshopie bez zmiany liczby pikseli.</strong> Zwiększenie z 72 DPI do 300 DPI po prostu zmniejsza fizyczny rozmiar wydruku. Jeśli
|
|
173
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Częsty Błąd: Mit Upscalingu', icon: 'mdi:alert', badge: 'Krytyczne', html: '<strong>NIE zwiększaj DPI w Photoshopie bez zmiany liczby pikseli.</strong> Zwiększenie z 72 DPI do 300 DPI po prostu zmniejsza fizyczny rozmiar wydruku. Jeśli \"dodasz piksele\" poprzez interpolację (upscaling), obraz będzie wyglądał na wygładzony lub rozmyty. Potrzebujesz PRAWDZIWYCH pikseli ze źródła.' },
|
|
174
174
|
|
|
175
175
|
{ type: 'glossary', items: [
|
|
176
176
|
{
|
|
@@ -187,7 +187,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
term: 'Rozdzielczość Natywna',
|
|
190
|
-
definition: 'PRAWDZIWE piksele uchwycone przez aparat, bez manipulacji. Zwiększenie DPI bez zmiany liczby pikseli nie generuje
|
|
190
|
+
definition: 'PRAWDZIWE piksele uchwycone przez aparat, bez manipulacji. Zwiększenie DPI bez zmiany liczby pikseli nie generuje \"rozdzielczości natywnej\".'
|
|
191
191
|
},
|
|
192
192
|
{
|
|
193
193
|
term: 'Interpolacja (Upscaling)',
|
|
@@ -54,7 +54,7 @@ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
|
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
question: "Можно ли увеличить DPI изображения без потери качества?",
|
|
57
|
-
answer: "Нет. Увеличение DPI без изменения количества пикселей просто уменьшает размер отпечатка. Если вы
|
|
57
|
+
answer: "Нет. Увеличение DPI без изменения количества пикселей просто уменьшает размер отпечатка. Если вы \"придумываете\" пиксели с помощью ПО (апскейлинг), изображение может выглядеть размытым.",
|
|
58
58
|
},
|
|
59
59
|
];
|
|
60
60
|
|
|
@@ -73,7 +73,7 @@ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
|
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
name: "Подтвердите качество",
|
|
76
|
-
text: "Перед отправкой на печать убедитесь, что индикатор показывает
|
|
76
|
+
text: "Перед отправкой на печать убедитесь, что индикатор показывает \"Отличное качество\".",
|
|
77
77
|
},
|
|
78
78
|
];
|
|
79
79
|
|
|
@@ -98,7 +98,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
98
98
|
], columns: 3 },
|
|
99
99
|
|
|
100
100
|
{ type: 'title', text: 'Понимание DPI: пиксели против точек', level: 3 },
|
|
101
|
-
{ type: 'paragraph', html: 'Распространенное заблуждение
|
|
101
|
+
{ type: 'paragraph', html: 'Распространенное заблуждение - думать, что DPI и пиксели это одно и то же. Это не так. Пиксели находятся ВНУТРИ вашего цифрового файла. DPI - это то, как принтер превращает их в чернила на бумаге.' },
|
|
102
102
|
{ type: 'list', items: [
|
|
103
103
|
'<strong>DPI (Dots Per Inch):</strong> сколько чернильных точек принтер размещает на одном погонном дюйме (2,54 см).',
|
|
104
104
|
'<strong>Пиксели:</strong> маленькие квадраты данных в вашем цифровом файле. Фото 3000x2000 пикселей имеет постоянный объем информации независимо от DPI.',
|
|
@@ -119,7 +119,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
119
119
|
{ type: 'comparative', items: [
|
|
120
120
|
{
|
|
121
121
|
title: 'Фото в руках (фото 10x15)',
|
|
122
|
-
description: '300 DPI обязательно
|
|
122
|
+
description: '300 DPI обязательно - просмотр вблизи',
|
|
123
123
|
icon: 'mdi:image',
|
|
124
124
|
points: [
|
|
125
125
|
'При 3000x2000 пикселей = макс. 10x6,7 дюймов',
|
|
@@ -129,7 +129,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
129
129
|
},
|
|
130
130
|
{
|
|
131
131
|
title: 'Настенный постер A3 (30x42 см)',
|
|
132
|
-
description: '150 DPI достаточно
|
|
132
|
+
description: '150 DPI достаточно - просмотр с дистанции',
|
|
133
133
|
icon: 'mdi:wall-fire',
|
|
134
134
|
points: [
|
|
135
135
|
'Просмотр с 1-2 метров',
|
|
@@ -140,7 +140,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
title: 'Билборд (200x300 см)',
|
|
143
|
-
description: '15-30 DPI
|
|
143
|
+
description: '15-30 DPI - просмотр с многих метров',
|
|
144
144
|
icon: 'mdi:sign',
|
|
145
145
|
points: [
|
|
146
146
|
'Наблюдение с расстояния 20+ метров',
|
|
@@ -153,8 +153,8 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
153
153
|
{ type: 'title', text: 'Подготовка файлов для профессиональной печати', level: 3 },
|
|
154
154
|
{ type: 'proscons', items: [
|
|
155
155
|
{
|
|
156
|
-
pro: 'CMYK против RGB: Принтеры используют чернила (CMYK), экраны
|
|
157
|
-
con: 'Цвета могут измениться при конвертации
|
|
156
|
+
pro: 'CMYK против RGB: Принтеры используют чернила (CMYK), экраны - свет (RGB). Конвертируйте, чтобы избежать сюрпризов с цветом.',
|
|
157
|
+
con: 'Цвета могут измениться при конвертации - сначала проверьте превью'
|
|
158
158
|
},
|
|
159
159
|
{
|
|
160
160
|
pro: 'Вылеты (Bleed): Добавьте по 3 мм с каждой стороны, если изображение должно доходить до края бумаги',
|
|
@@ -170,7 +170,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
170
170
|
}
|
|
171
171
|
], proTitle: 'Рекомендации', conTitle: 'Противопоказания' },
|
|
172
172
|
|
|
173
|
-
{ type: 'diagnostic', variant: 'warning', title: 'Частая ошибка: Миф об апскейлинге', icon: 'mdi:alert', badge: 'Критично', html: '<strong>НЕ увеличивайте DPI в Photoshop без изменения количества пикселей.</strong> Увеличение с 72 до 300 DPI просто уменьшит физический размер печати. Если вы
|
|
173
|
+
{ type: 'diagnostic', variant: 'warning', title: 'Частая ошибка: Миф об апскейлинге', icon: 'mdi:alert', badge: 'Критично', html: '<strong>НЕ увеличивайте DPI в Photoshop без изменения количества пикселей.</strong> Увеличение с 72 до 300 DPI просто уменьшит физический размер печати. Если вы \"добавите пиксели\" путем интерполяции (апскейлинга), изображение будет выглядеть размытым. Вам нужны РЕАЛЬНЫЕ пиксели из источника.' },
|
|
174
174
|
|
|
175
175
|
{ type: 'glossary', items: [
|
|
176
176
|
{
|
|
@@ -187,7 +187,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
term: 'Нативное разрешение',
|
|
190
|
-
definition: 'РЕАЛЬНЫЕ пиксели, снятые камерой, без манипуляций. Увеличение DPI без изменения пикселей не создает
|
|
190
|
+
definition: 'РЕАЛЬНЫЕ пиксели, снятые камерой, без манипуляций. Увеличение DPI без изменения пикселей не создает \"нативное разрешение\".'
|
|
191
191
|
},
|
|
192
192
|
{
|
|
193
193
|
term: 'Интерполяция (Апскейлинг)',
|
|
@@ -198,7 +198,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
198
198
|
{ type: 'message', title: 'Техническая точность для профи результатов', ariaLabel: 'Информация о расчетах печати', html: 'Наш калькулятор конвертирует пиксели в сантиметры с учетом международных стандартов (ISO 216 для бумаги). Это не просто калькулятор: это ваш валидатор того, подходит ли это фото для этого размера печати с сохранением профи-качества.' },
|
|
199
199
|
|
|
200
200
|
{ type: 'title', text: 'Заключение: печать без сюрпризов', level: 3 },
|
|
201
|
-
{ type: 'paragraph', html: 'Разница между красивым отпечатком и разочарованием
|
|
201
|
+
{ type: 'paragraph', html: 'Разница между красивым отпечатком и разочарованием - в знании связи между пикселями и DPI. Используйте этот калькулятор для проверки файлов ПЕРЕД походом в типографию. Так вы избежите лишних трат и плохих результатов.' }
|
|
202
202
|
];
|
|
203
203
|
|
|
204
204
|
const faqSchema: WithContext<FAQPage> = {
|
|
@@ -54,7 +54,7 @@ const faq: PrintQualityCalculatorLocaleContent['faq'] = [
|
|
|
54
54
|
},
|
|
55
55
|
{
|
|
56
56
|
question: "我可以在不损失质量的情况下增加图像的 DPI 吗?",
|
|
57
|
-
answer: "不可以。在不改变像素的情况下增加 DPI
|
|
57
|
+
answer: "不可以。在不改变像素的情况下增加 DPI 只会减小打印尺寸。如果您尝试使用软件\"发明\"像素(插值放大),图像可能会看起来很模。糊",
|
|
58
58
|
},
|
|
59
59
|
];
|
|
60
60
|
|
|
@@ -73,7 +73,7 @@ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
|
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
name: "确认质量",
|
|
76
|
-
text: "
|
|
76
|
+
text: "在发送打印之前,请确保指示器标记为\"极佳质量\"。",
|
|
77
77
|
},
|
|
78
78
|
];
|
|
79
79
|
|
|
@@ -170,7 +170,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
170
170
|
}
|
|
171
171
|
], proTitle: '建议', conTitle: '禁忌' },
|
|
172
172
|
|
|
173
|
-
{ type: 'diagnostic', variant: 'warning', title: '常见错误:插值放大的迷思', icon: 'mdi:alert', badge: '关键', html: '<strong>请勿在不改变像素的情况下增加 Photoshop 中的 DPI。</strong> 将 72 DPI 增加到 300 DPI 只是单纯减小了物理打印尺寸。如果您通过插值(upscaling
|
|
173
|
+
{ type: 'diagnostic', variant: 'warning', title: '常见错误:插值放大的迷思', icon: 'mdi:alert', badge: '关键', html: '<strong>请勿在不改变像素的情况下增加 Photoshop 中的 DPI。</strong> 将 72 DPI 增加到 300 DPI 只是单纯减小了物理打印尺寸。如果您通过插值(upscaling)\"添加像素\",图像看起来会变平滑或模糊。您需要来自源文件的真实像素。' },
|
|
174
174
|
|
|
175
175
|
{ type: 'glossary', items: [
|
|
176
176
|
{
|
|
@@ -187,7 +187,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
term: '原生分辨率',
|
|
190
|
-
definition: '由相机捕捉的、未经处理的真实像素。在不改变像素的情况下增加 DPI
|
|
190
|
+
definition: '由相机捕捉的、未经处理的真实像素。在不改变像素的情况下增加 DPI 并不产生\"原生分辨率\"。'
|
|
191
191
|
},
|
|
192
192
|
{
|
|
193
193
|
term: '插值 (Upscaling)',
|