@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.
- package/package.json +59 -58
- package/src/category/i18n/de.ts +198 -0
- package/src/category/i18n/fr.ts +1 -1
- package/src/category/i18n/id.ts +198 -0
- package/src/category/i18n/it.ts +198 -0
- package/src/category/i18n/ja.ts +198 -0
- package/src/category/i18n/ko.ts +198 -0
- package/src/category/i18n/nl.ts +198 -0
- package/src/category/i18n/pl.ts +198 -0
- package/src/category/i18n/pt.ts +198 -0
- package/src/category/i18n/ru.ts +198 -0
- package/src/category/i18n/sv.ts +198 -0
- package/src/category/i18n/tr.ts +198 -0
- package/src/category/i18n/zh.ts +198 -0
- package/src/category/index.ts +31 -3
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/chromaticLens/i18n/de.ts +246 -0
- package/src/tool/chromaticLens/i18n/en.ts +1 -1
- package/src/tool/chromaticLens/i18n/es.ts +1 -1
- package/src/tool/chromaticLens/i18n/fr.ts +1 -1
- package/src/tool/chromaticLens/i18n/id.ts +246 -0
- package/src/tool/chromaticLens/i18n/it.ts +246 -0
- package/src/tool/chromaticLens/i18n/ja.ts +246 -0
- package/src/tool/chromaticLens/i18n/ko.ts +246 -0
- package/src/tool/chromaticLens/i18n/nl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pl.ts +246 -0
- package/src/tool/chromaticLens/i18n/pt.ts +246 -0
- package/src/tool/chromaticLens/i18n/ru.ts +246 -0
- package/src/tool/chromaticLens/i18n/sv.ts +246 -0
- package/src/tool/chromaticLens/i18n/tr.ts +246 -0
- package/src/tool/chromaticLens/i18n/zh.ts +246 -0
- package/src/tool/chromaticLens/index.ts +15 -7
- package/src/tool/collageMaker/i18n/de.ts +233 -0
- package/src/tool/collageMaker/i18n/en.ts +1 -1
- package/src/tool/collageMaker/i18n/es.ts +1 -1
- package/src/tool/collageMaker/i18n/fr.ts +1 -1
- package/src/tool/collageMaker/i18n/id.ts +233 -0
- package/src/tool/collageMaker/i18n/it.ts +233 -0
- package/src/tool/collageMaker/i18n/ja.ts +233 -0
- package/src/tool/collageMaker/i18n/ko.ts +233 -0
- package/src/tool/collageMaker/i18n/nl.ts +233 -0
- package/src/tool/collageMaker/i18n/pl.ts +233 -0
- package/src/tool/collageMaker/i18n/pt.ts +233 -0
- package/src/tool/collageMaker/i18n/ru.ts +233 -0
- package/src/tool/collageMaker/i18n/sv.ts +233 -0
- package/src/tool/collageMaker/i18n/tr.ts +233 -0
- package/src/tool/collageMaker/i18n/zh.ts +233 -0
- package/src/tool/collageMaker/index.ts +15 -6
- package/src/tool/exifCleaner/i18n/de.ts +277 -0
- package/src/tool/exifCleaner/i18n/en.ts +2 -2
- package/src/tool/exifCleaner/i18n/es.ts +2 -2
- package/src/tool/exifCleaner/i18n/fr.ts +4 -4
- package/src/tool/exifCleaner/i18n/id.ts +277 -0
- package/src/tool/exifCleaner/i18n/it.ts +277 -0
- package/src/tool/exifCleaner/i18n/ja.ts +277 -0
- package/src/tool/exifCleaner/i18n/ko.ts +277 -0
- package/src/tool/exifCleaner/i18n/nl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pl.ts +277 -0
- package/src/tool/exifCleaner/i18n/pt.ts +277 -0
- package/src/tool/exifCleaner/i18n/ru.ts +277 -0
- package/src/tool/exifCleaner/i18n/sv.ts +277 -0
- package/src/tool/exifCleaner/i18n/tr.ts +277 -0
- package/src/tool/exifCleaner/i18n/zh.ts +277 -0
- package/src/tool/exifCleaner/index.ts +16 -8
- package/src/tool/imageCompressor/i18n/de.ts +242 -0
- package/src/tool/imageCompressor/i18n/en.ts +2 -2
- package/src/tool/imageCompressor/i18n/es.ts +2 -2
- package/src/tool/imageCompressor/i18n/id.ts +242 -0
- package/src/tool/imageCompressor/i18n/it.ts +242 -0
- package/src/tool/imageCompressor/i18n/ja.ts +242 -0
- package/src/tool/imageCompressor/i18n/ko.ts +242 -0
- package/src/tool/imageCompressor/i18n/nl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pl.ts +242 -0
- package/src/tool/imageCompressor/i18n/pt.ts +242 -0
- package/src/tool/imageCompressor/i18n/ru.ts +242 -0
- package/src/tool/imageCompressor/i18n/sv.ts +242 -0
- package/src/tool/imageCompressor/i18n/tr.ts +242 -0
- package/src/tool/imageCompressor/i18n/zh.ts +244 -0
- package/src/tool/imageCompressor/index.ts +15 -7
- package/src/tool/printQualityCalculator/i18n/de.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/en.ts +2 -2
- package/src/tool/printQualityCalculator/i18n/es.ts +3 -3
- package/src/tool/printQualityCalculator/i18n/fr.ts +3 -3
- package/src/tool/printQualityCalculator/i18n/id.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/it.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ja.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ko.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/nl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pl.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/pt.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/ru.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/sv.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/tr.ts +261 -0
- package/src/tool/printQualityCalculator/i18n/zh.ts +261 -0
- package/src/tool/printQualityCalculator/index.ts +15 -7
- package/src/tool/privacyBlur/i18n/de.ts +238 -0
- package/src/tool/privacyBlur/i18n/en.ts +1 -1
- package/src/tool/privacyBlur/i18n/es.ts +1 -1
- package/src/tool/privacyBlur/i18n/fr.ts +1 -1
- package/src/tool/privacyBlur/i18n/id.ts +238 -0
- package/src/tool/privacyBlur/i18n/it.ts +238 -0
- package/src/tool/privacyBlur/i18n/ja.ts +238 -0
- package/src/tool/privacyBlur/i18n/ko.ts +238 -0
- package/src/tool/privacyBlur/i18n/nl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pl.ts +238 -0
- package/src/tool/privacyBlur/i18n/pt.ts +238 -0
- package/src/tool/privacyBlur/i18n/ru.ts +238 -0
- package/src/tool/privacyBlur/i18n/sv.ts +238 -0
- package/src/tool/privacyBlur/i18n/tr.ts +238 -0
- package/src/tool/privacyBlur/i18n/zh.ts +238 -0
- package/src/tool/privacyBlur/index.ts +15 -7
- package/src/tool/subtitleSync/i18n/de.ts +241 -0
- package/src/tool/subtitleSync/i18n/en.ts +1 -1
- package/src/tool/subtitleSync/i18n/es.ts +1 -1
- package/src/tool/subtitleSync/i18n/fr.ts +8 -8
- package/src/tool/subtitleSync/i18n/id.ts +241 -0
- package/src/tool/subtitleSync/i18n/it.ts +241 -0
- package/src/tool/subtitleSync/i18n/ja.ts +241 -0
- package/src/tool/subtitleSync/i18n/ko.ts +241 -0
- package/src/tool/subtitleSync/i18n/nl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pl.ts +241 -0
- package/src/tool/subtitleSync/i18n/pt.ts +241 -0
- package/src/tool/subtitleSync/i18n/ru.ts +241 -0
- package/src/tool/subtitleSync/i18n/sv.ts +241 -0
- package/src/tool/subtitleSync/i18n/tr.ts +241 -0
- package/src/tool/subtitleSync/i18n/zh.ts +241 -0
- package/src/tool/subtitleSync/index.ts +15 -7
- package/src/tool/timelapseCalculator/i18n/de.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/fr.ts +2 -2
- package/src/tool/timelapseCalculator/i18n/id.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/it.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ja.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ko.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/nl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pl.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/pt.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/ru.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/sv.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/tr.ts +169 -0
- package/src/tool/timelapseCalculator/i18n/zh.ts +169 -0
- package/src/tool/timelapseCalculator/index.ts +16 -8
- package/src/tool/tvDistance/i18n/de.ts +223 -0
- package/src/tool/tvDistance/i18n/en.ts +1 -1
- package/src/tool/tvDistance/i18n/es.ts +1 -1
- package/src/tool/tvDistance/i18n/fr.ts +1 -1
- package/src/tool/tvDistance/i18n/id.ts +223 -0
- package/src/tool/tvDistance/i18n/it.ts +223 -0
- package/src/tool/tvDistance/i18n/ja.ts +223 -0
- package/src/tool/tvDistance/i18n/ko.ts +223 -0
- package/src/tool/tvDistance/i18n/nl.ts +223 -0
- package/src/tool/tvDistance/i18n/pl.ts +223 -0
- package/src/tool/tvDistance/i18n/pt.ts +223 -0
- package/src/tool/tvDistance/i18n/ru.ts +223 -0
- package/src/tool/tvDistance/i18n/sv.ts +223 -0
- package/src/tool/tvDistance/i18n/tr.ts +223 -0
- package/src/tool/tvDistance/i18n/zh.ts +223 -0
- package/src/tool/tvDistance/index.ts +15 -7
- package/src/tool/videoFrameExtractor/i18n/de.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/en.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/es.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/fr.ts +1 -1
- package/src/tool/videoFrameExtractor/i18n/id.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/it.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ja.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ko.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/nl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pl.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/pt.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/ru.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/sv.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/tr.ts +235 -0
- package/src/tool/videoFrameExtractor/i18n/zh.ts +235 -0
- package/src/tool/videoFrameExtractor/index.ts +16 -8
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ImageCompressorUI, ImageCompressorLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'online-image-compressor-reduce-file-size-no-quality-loss';
|
|
5
|
+
const title = '在线图像压缩工具:无损减小文件大小';
|
|
6
|
+
const description = '免费优化和压缩 JPG、PNG 和 WebP 照片。减小文件大小,在本地提高您的网页加载速度。';
|
|
7
|
+
|
|
8
|
+
const ui: ImageCompressorUI = {
|
|
9
|
+
dropTitle: "优化图像",
|
|
10
|
+
dropSubtitle: "拖动照片以立即减轻其重量。",
|
|
11
|
+
settingsTitle: "压缩设置",
|
|
12
|
+
qualityLabel: "视觉质量",
|
|
13
|
+
widthLabel: "最大宽度 (像素)",
|
|
14
|
+
convertToWebpLabel: "转换为 WebP",
|
|
15
|
+
compressionLabel: "压缩",
|
|
16
|
+
compressBtn: "压缩图像",
|
|
17
|
+
processingLabel: "处理中...",
|
|
18
|
+
resultsTitle: "优化后的图像",
|
|
19
|
+
originalSizeLabel: "原始大小",
|
|
20
|
+
newSizeLabel: "新大小",
|
|
21
|
+
reductionLabel: "节省",
|
|
22
|
+
downloadBtn: "下载",
|
|
23
|
+
addMoreBtn: "添加更多",
|
|
24
|
+
browseFilesBtn: "浏览文件",
|
|
25
|
+
processedFilesTitle: "已处理文件",
|
|
26
|
+
downloadAllBtn: "下载全部",
|
|
27
|
+
adjustThisImage: "调整此图像",
|
|
28
|
+
downloadTitle: "下载",
|
|
29
|
+
maxWidthLabel: "最大宽度 (px)",
|
|
30
|
+
closeBtn: "关闭",
|
|
31
|
+
totalSavingsLabel: "总节省",
|
|
32
|
+
noSavings: "无净节省",
|
|
33
|
+
faqTitle: "常见问题",
|
|
34
|
+
bibliographyTitle: "参考资料"
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const faq: ImageCompressorLocaleContent['faq'] = [
|
|
38
|
+
{
|
|
39
|
+
question: "无损压缩是如何工作的?",
|
|
40
|
+
answer: "我们使用的算法可以删除不必要的元数据并优化像素编码。选择 WebP 时,会使用比传统格式更先进的压缩技术。",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
question: "我的图像会被上传到任何服务器吗?",
|
|
44
|
+
answer: "不会。所有处理都 100% 发生在您的浏览器中(客户端)。您的照片绝不会离开您的计算机,确保绝对隐私。",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: "为什么要转换为 WebP?",
|
|
48
|
+
answer: "WebP 是现代网络标准格式。它提供的质量优于 JPG 和 PNG,且重量减轻高达 30%,从而加快了页面加载速度。",
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const howTo: ImageCompressorLocaleContent['howTo'] = [
|
|
53
|
+
{
|
|
54
|
+
name: "上传图像",
|
|
55
|
+
text: "上传您要压缩的文件(JPG、PNG 或 WebP)。",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "调整质量",
|
|
59
|
+
text: "使用滑块在文件大小和视觉质量之间找到完美的平衡(建议:75 85%)。",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "调整大小(可选)",
|
|
63
|
+
text: "如果图像非常大,您可以指定最大宽度以降低其分辨率。",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: "下载结果",
|
|
67
|
+
text: "点击下载按钮,获取已准备好使用的优化图像。",
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
|
|
71
|
+
const bibliography: ImageCompressorLocaleContent['bibliography'] = [
|
|
72
|
+
{
|
|
73
|
+
name: "WebP:一种用于网络的图像格式",
|
|
74
|
+
url: "https://developers.google.com/speed/webp",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "图像优化对 SEO 的重要性",
|
|
78
|
+
url: "https://developers.google.com/search/docs/appearance/google-images",
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
const seo: ImageCompressorLocaleContent['seo'] = [
|
|
83
|
+
{
|
|
84
|
+
type: 'summary',
|
|
85
|
+
title: '专业网页图像优化',
|
|
86
|
+
items: [
|
|
87
|
+
'智能 JPG、PNG 和 WebP 压缩',
|
|
88
|
+
'在保持视觉质量的同时减重 50-80%',
|
|
89
|
+
'100% 本地处理 - 隐私保证',
|
|
90
|
+
'改善 Core Web Vitals 和 SEO 排名'
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{ type: 'title', text: '图像优化:网络速度和 Core Web Vitals', level: 2 },
|
|
94
|
+
{ type: 'paragraph', html: '在数字即时的时代,缓慢的网页会失去用户。未优化的图像占网页总重量的 60-70%。优化它们是改善您的 Google 指标(LCP、CLS)和搜索结果排名的第一步。' },
|
|
95
|
+
|
|
96
|
+
{ type: 'stats', items: [
|
|
97
|
+
{ value: '50-80%', label: '典型减重比例', icon: 'mdi:trending-down' },
|
|
98
|
+
{ value: '100%', label: '本地隐私', icon: 'mdi:lock' },
|
|
99
|
+
{ value: '+30%', label: '比 JPG 更快', icon: 'mdi:speedometer' }
|
|
100
|
+
], columns: 3 },
|
|
101
|
+
|
|
102
|
+
{ type: 'title', text: '压缩格式详解', level: 3 },
|
|
103
|
+
{ type: 'table', headers: ['格式', '压缩方式', '使用案例', '兼容性'], rows: [
|
|
104
|
+
['JPEG', '有损 50-90%', '相机照片、编辑内容', '通用 (100%)'],
|
|
105
|
+
['PNG', '无损 30-50%', '图形、徽标、透明度', '通用 (100%)'],
|
|
106
|
+
['WebP', '有损/无损 提升 25-35%', '现代网页、社交网络', '95% 现代浏览器'],
|
|
107
|
+
['AVIF', '有损/无损 提升 20%', '下一代网页', '仅限新版本浏览器']
|
|
108
|
+
] },
|
|
109
|
+
|
|
110
|
+
{ type: 'card', title: '为什么 WebP 是未来', html: 'Google 专门为网络开发了 WebP。它提供优于 JPEG 和 PNG 的压缩,同时保持或提高视觉质量。它比同等的 JPEG 小 25-35%。现代浏览器对它的支持率达到 95%。' },
|
|
111
|
+
|
|
112
|
+
{ type: 'title', text: '有损压缩 vs 无损压缩', level: 3 },
|
|
113
|
+
{ type: 'comparative', items: [
|
|
114
|
+
{
|
|
115
|
+
title: '有损压缩',
|
|
116
|
+
description: 'JPG, WebP - 删除感觉不到的视觉信息',
|
|
117
|
+
icon: 'mdi:compress',
|
|
118
|
+
points: [
|
|
119
|
+
'减少原始重量的 70-90%',
|
|
120
|
+
'如果质量保持在 75% 以上,肉眼无法察觉',
|
|
121
|
+
'写实摄影的理想选择',
|
|
122
|
+
'不建议用于徽标或清晰文本'
|
|
123
|
+
],
|
|
124
|
+
highlight: true
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
title: '无损压缩',
|
|
128
|
+
description: 'PNG, WebP 无损 - 保持 100% 视觉数据',
|
|
129
|
+
icon: 'mdi:shield',
|
|
130
|
+
points: [
|
|
131
|
+
'减重 20-50%',
|
|
132
|
+
'画质完美,无降级',
|
|
133
|
+
'图形、徽标、透明度的理想选择',
|
|
134
|
+
'文件比有损压缩更重'
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
], columns: 2 },
|
|
138
|
+
|
|
139
|
+
{ type: 'title', text: '对 SEO 和转化率的影响', level: 3 },
|
|
140
|
+
{ type: 'list', items: [
|
|
141
|
+
'<strong>Core Web Vitals:</strong> Google 会惩罚速度慢的网站。优化的图像直接改善 LCP(最大内容绘制)。',
|
|
142
|
+
'<strong>跳出率:</strong> 每秒延迟 = 跳出率增加 7%。更快的图像 = 离开的用户更少。',
|
|
143
|
+
'<strong>搜索排名:</strong> 速度是一个排名因素。优化图像可以提升排名。',
|
|
144
|
+
'<strong>转化率:</strong> 加载速度越快 = 转化率越高。研究表明,优化后转化率可提高 10%。'
|
|
145
|
+
], icon: 'mdi:check' },
|
|
146
|
+
|
|
147
|
+
{ type: 'proscons', items: [
|
|
148
|
+
{
|
|
149
|
+
pro: '绝对隐私:100% 本地处理,无云端服务器',
|
|
150
|
+
con: '需要支持 Canvas API 的浏览器(通用标准)'
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
pro: '在同等质量下,WebP 比 JPEG 小 25-35%',
|
|
154
|
+
con: '旧版 Safari 和 IE 不支持 WebP(提供回退方案)'
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
pro: '多图像即时处理',
|
|
158
|
+
con: '极大图像(>50MB)可能需要等待'
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
pro: '可选调整大小:在压缩的同时降低分辨率',
|
|
162
|
+
con: '调整大小会丢失信息 - 最好从源头优化分辨率'
|
|
163
|
+
}
|
|
164
|
+
], proTitle: '优势', conTitle: '局限性' },
|
|
165
|
+
|
|
166
|
+
{ type: 'tip', title: '数字安全提示', html: '在任何社交网络发帖<strong>之前先清理</strong>您的照片。即使您删除了帖子,元数据也可能已被搜索引擎或存档编入索引。预防胜于治疗。养成习惯:<br><br><em>照片 → 清除 EXIF/压缩 → 发布</em>' },
|
|
167
|
+
|
|
168
|
+
{ type: 'diagnostic', variant: 'warning', title: '注意:过度压缩会导致降级', icon: 'mdi:alert', badge: '质量', html: '摄影保持质量 >75%,编辑内容保持质量 >85%。在此之下,压缩伪影(斑点、色带)会变得明显。而在缩略图中看起来不错的图像在大图中可能看起来很糟。' },
|
|
169
|
+
|
|
170
|
+
{ type: 'glossary', items: [
|
|
171
|
+
{
|
|
172
|
+
term: '有损压缩',
|
|
173
|
+
definition: '删除人眼视为“噪声”的视觉数据。摄影的理想选择。JPEG、有损 WebP、HEIC 均属于有损压缩。'
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
term: '无损压缩',
|
|
177
|
+
definition: '减小尺寸而不丢失视觉信息。PNG 和无损 WebP。图形、徽标、透明度的理想选择。'
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
term: 'Core Web Vitals (Google)',
|
|
181
|
+
definition: '用户体验指标:LCP(加载速度)、FID(交互延迟)、CLS(视觉稳定性)。影响 SEO 排名。'
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
term: 'WebP',
|
|
185
|
+
definition: '由 Google 开发的格式。比 JPEG 小 25-35%。95% 的现代浏览器(IE 除外)均支持。'
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
term: '压缩伪影',
|
|
189
|
+
definition: '由过度压缩引起的视觉缺陷:斑点、色彩带、边缘模糊。画质 >75% 时肉眼不可见。'
|
|
190
|
+
}
|
|
191
|
+
] },
|
|
192
|
+
|
|
193
|
+
{ type: 'message', title: '专业网页优化', ariaLabel: '关于图像优化 SEO 的信息', html: '这不仅仅是技术虚荣:压缩图像是对用户体验和 Google 排名的直接投资。每 1 KB 对移动设备都至关重要。我们的工具将过去需要专业软件 ($$$) 的工作变成了只需点击 3 次的免费过程。' },
|
|
194
|
+
|
|
195
|
+
{ type: 'title', text: '为现代网络做好准备', level: 3 },
|
|
196
|
+
{ type: 'paragraph', html: '使用智能压缩和 WebP 格式,使您的在线形象在搜索中快速、响应灵敏且具竞争力。专业品质,最小重量,即时加载。' }
|
|
197
|
+
];
|
|
198
|
+
|
|
199
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
200
|
+
'@context': 'https://schema.org',
|
|
201
|
+
'@type': 'FAQPage',
|
|
202
|
+
mainEntity: faq.map((item) => ({
|
|
203
|
+
'@type': 'Question',
|
|
204
|
+
name: item.question,
|
|
205
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
206
|
+
})),
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
const howToSchema: WithContext<HowTo> = {
|
|
210
|
+
'@context': 'https://schema.org',
|
|
211
|
+
'@type': 'HowTo',
|
|
212
|
+
name: title,
|
|
213
|
+
description,
|
|
214
|
+
step: howTo.map((step) => ({
|
|
215
|
+
'@type': 'HowToStep',
|
|
216
|
+
name: step.name,
|
|
217
|
+
text: step.text,
|
|
218
|
+
})),
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
222
|
+
'@context': 'https://schema.org',
|
|
223
|
+
'@type': 'SoftwareApplication',
|
|
224
|
+
name: title,
|
|
225
|
+
description,
|
|
226
|
+
applicationCategory: 'UtilitiesApplication',
|
|
227
|
+
operatingSystem: 'Web',
|
|
228
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
229
|
+
inLanguage: 'zh',
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
export const content: ImageCompressorLocaleContent = {
|
|
233
|
+
slug,
|
|
234
|
+
title,
|
|
235
|
+
description,
|
|
236
|
+
ui,
|
|
237
|
+
seo,
|
|
238
|
+
faqTitle: "常见问题",
|
|
239
|
+
faq,
|
|
240
|
+
bibliographyTitle: "参考资料",
|
|
241
|
+
bibliography,
|
|
242
|
+
howTo,
|
|
243
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
244
|
+
};
|
|
@@ -33,10 +33,6 @@ export interface ImageCompressorUI {
|
|
|
33
33
|
|
|
34
34
|
export type ImageCompressorLocaleContent = ToolLocaleContent<ImageCompressorUI>;
|
|
35
35
|
|
|
36
|
-
import { content as es } from './i18n/es';
|
|
37
|
-
import { content as en } from './i18n/en';
|
|
38
|
-
import { content as fr } from './i18n/fr';
|
|
39
|
-
|
|
40
36
|
export const imageCompressor: AudiovisualToolEntry<ImageCompressorUI> = {
|
|
41
37
|
id: 'compresor-imagenes',
|
|
42
38
|
icons: {
|
|
@@ -44,9 +40,21 @@ export const imageCompressor: AudiovisualToolEntry<ImageCompressorUI> = {
|
|
|
44
40
|
fg: 'mdi:file-image-outline',
|
|
45
41
|
},
|
|
46
42
|
i18n: {
|
|
47
|
-
es: async () => es as unknown as ImageCompressorLocaleContent,
|
|
48
|
-
en: async () => en as unknown as ImageCompressorLocaleContent,
|
|
49
|
-
fr: async () => fr as unknown as ImageCompressorLocaleContent,
|
|
43
|
+
es: async () => (await import('./i18n/es')).content as unknown as ImageCompressorLocaleContent,
|
|
44
|
+
en: async () => (await import('./i18n/en')).content as unknown as ImageCompressorLocaleContent,
|
|
45
|
+
fr: async () => (await import('./i18n/fr')).content as unknown as ImageCompressorLocaleContent,
|
|
46
|
+
de: async () => (await import('./i18n/de')).content as unknown as ImageCompressorLocaleContent,
|
|
47
|
+
it: async () => (await import('./i18n/it')).content as unknown as ImageCompressorLocaleContent,
|
|
48
|
+
pt: async () => (await import('./i18n/pt')).content as unknown as ImageCompressorLocaleContent,
|
|
49
|
+
id: async () => (await import('./i18n/id')).content as unknown as ImageCompressorLocaleContent,
|
|
50
|
+
ja: async () => (await import('./i18n/ja')).content as unknown as ImageCompressorLocaleContent,
|
|
51
|
+
ko: async () => (await import('./i18n/ko')).content as unknown as ImageCompressorLocaleContent,
|
|
52
|
+
nl: async () => (await import('./i18n/nl')).content as unknown as ImageCompressorLocaleContent,
|
|
53
|
+
pl: async () => (await import('./i18n/pl')).content as unknown as ImageCompressorLocaleContent,
|
|
54
|
+
ru: async () => (await import('./i18n/ru')).content as unknown as ImageCompressorLocaleContent,
|
|
55
|
+
sv: async () => (await import('./i18n/sv')).content as unknown as ImageCompressorLocaleContent,
|
|
56
|
+
tr: async () => (await import('./i18n/tr')).content as unknown as ImageCompressorLocaleContent,
|
|
57
|
+
zh: async () => (await import('./i18n/zh')).content as unknown as ImageCompressorLocaleContent,
|
|
50
58
|
},
|
|
51
59
|
};
|
|
52
60
|
|
|
@@ -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
|
+
};
|
|
@@ -2,7 +2,7 @@ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dt
|
|
|
2
2
|
import type { PrintQualityCalculatorUI, PrintQualityCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
4
|
const slug = 'print-quality-calculator-pixels-to-cm-dpi';
|
|
5
|
-
const title = 'Print Quality Calculator
|
|
5
|
+
const title = 'Print Quality Calculator: Pixels to CM and DPI';
|
|
6
6
|
const description = 'Calculate the maximum print size of your photos based on their resolution. Convert pixels to centimeters and inches to ensure professional printing.';
|
|
7
7
|
|
|
8
8
|
const ui: PrintQualityCalculatorUI = {
|
|
@@ -140,7 +140,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
140
140
|
]
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
|
-
title: 'Wall Poster
|
|
143
|
+
title: 'Wall Poster A3 (30x42 cm)',
|
|
144
144
|
description: '150 DPI enough - viewed at a distance',
|
|
145
145
|
icon: 'mdi:wall-fire',
|
|
146
146
|
points: [
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { PrintQualityCalculatorUI, PrintQualityCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = 'calidad-impresion';
|
|
5
|
-
const title = 'Calculadora de Calidad de Impresión
|
|
4
|
+
const slug = 'calculadora-calidad-impresion';
|
|
5
|
+
const title = 'Calculadora de Calidad de Impresión: Píxeles a CM y DPI';
|
|
6
6
|
const description = 'Calcula el tamaño máximo de impresión de tus fotos según su resolución. Convierte píxeles a centímetros y pulgadas para asegurar una impresión profesional.';
|
|
7
7
|
|
|
8
8
|
const ui: PrintQualityCalculatorUI = {
|
|
@@ -138,7 +138,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
138
138
|
]
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
|
-
title: 'Póster de Pared
|
|
141
|
+
title: 'Póster de Pared A3 (30x42 cm)',
|
|
142
142
|
description: '150 DPI suficiente - se ve a distancia',
|
|
143
143
|
icon: 'mdi:wall-fire',
|
|
144
144
|
points: [
|
|
@@ -2,7 +2,7 @@ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dt
|
|
|
2
2
|
import type { PrintQualityCalculatorUI, PrintQualityCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
4
|
const slug = 'calculatrice-qualite-impression-pixels-cm-dpi';
|
|
5
|
-
const title = 'Calculatrice de Qualité d\'Impression
|
|
5
|
+
const title = 'Calculatrice de Qualité d\'Impression: Pixels en CM et DPI';
|
|
6
6
|
const description = 'Calculez la taille d\'impression maximale de vos photos en fonction de leur résolution. Convertissez les pixels en centimètres et en pouces pour une impression professionnelle.';
|
|
7
7
|
|
|
8
8
|
const ui: PrintQualityCalculatorUI = {
|
|
@@ -72,7 +72,7 @@ const howTo: PrintQualityCalculatorLocaleContent['howTo'] = [
|
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
name: "Confirmez la qualité",
|
|
75
|
-
text: "Assurez
|
|
75
|
+
text: "Assurez vous que l'indicateur marque 'Qualité Excellente' avant d'envoyer à l'impression.",
|
|
76
76
|
},
|
|
77
77
|
];
|
|
78
78
|
|
|
@@ -138,7 +138,7 @@ const seo: PrintQualityCalculatorLocaleContent['seo'] = [
|
|
|
138
138
|
]
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
|
-
title: 'Poster Mural
|
|
141
|
+
title: 'Poster Mural A3 (30x42 cm)',
|
|
142
142
|
description: '150 DPI suffisant - se voit à distance',
|
|
143
143
|
icon: 'mdi:wall-fire',
|
|
144
144
|
points: [
|