@jjlmoya/utils-social 1.2.0 → 1.4.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 (120) hide show
  1. package/package.json +59 -58
  2. package/src/category/i18n/de.ts +23 -0
  3. package/src/category/i18n/id.ts +23 -0
  4. package/src/category/i18n/it.ts +23 -0
  5. package/src/category/i18n/ja.ts +23 -0
  6. package/src/category/i18n/ko.ts +23 -0
  7. package/src/category/i18n/nl.ts +23 -0
  8. package/src/category/i18n/pl.ts +23 -0
  9. package/src/category/i18n/pt.ts +23 -0
  10. package/src/category/i18n/ru.ts +23 -0
  11. package/src/category/i18n/sv.ts +23 -0
  12. package/src/category/i18n/tr.ts +23 -0
  13. package/src/category/i18n/zh.ts +23 -0
  14. package/src/category/index.ts +12 -0
  15. package/src/index.ts +8 -0
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +1 -1
  18. package/src/tests/schemas_fulfillment.test.ts +23 -0
  19. package/src/tests/slug_uniqueness.test.ts +81 -0
  20. package/src/tests/title_quality.test.ts +55 -0
  21. package/src/tool/redditFormatter/i18n/de.ts +193 -0
  22. package/src/tool/redditFormatter/i18n/en.ts +1 -1
  23. package/src/tool/redditFormatter/i18n/es.ts +1 -1
  24. package/src/tool/redditFormatter/i18n/fr.ts +1 -1
  25. package/src/tool/redditFormatter/i18n/id.ts +193 -0
  26. package/src/tool/redditFormatter/i18n/it.ts +193 -0
  27. package/src/tool/redditFormatter/i18n/ja.ts +193 -0
  28. package/src/tool/redditFormatter/i18n/ko.ts +193 -0
  29. package/src/tool/redditFormatter/i18n/nl.ts +193 -0
  30. package/src/tool/redditFormatter/i18n/pl.ts +193 -0
  31. package/src/tool/redditFormatter/i18n/pt.ts +193 -0
  32. package/src/tool/redditFormatter/i18n/ru.ts +193 -0
  33. package/src/tool/redditFormatter/i18n/sv.ts +193 -0
  34. package/src/tool/redditFormatter/i18n/tr.ts +193 -0
  35. package/src/tool/redditFormatter/i18n/zh.ts +193 -0
  36. package/src/tool/redditFormatter/index.ts +15 -7
  37. package/src/tool/safeZones/i18n/de.ts +244 -0
  38. package/src/tool/safeZones/i18n/id.ts +244 -0
  39. package/src/tool/safeZones/i18n/it.ts +244 -0
  40. package/src/tool/safeZones/i18n/ja.ts +244 -0
  41. package/src/tool/safeZones/i18n/ko.ts +244 -0
  42. package/src/tool/safeZones/i18n/nl.ts +244 -0
  43. package/src/tool/safeZones/i18n/pl.ts +244 -0
  44. package/src/tool/safeZones/i18n/pt.ts +244 -0
  45. package/src/tool/safeZones/i18n/ru.ts +244 -0
  46. package/src/tool/safeZones/i18n/sv.ts +244 -0
  47. package/src/tool/safeZones/i18n/tr.ts +244 -0
  48. package/src/tool/safeZones/i18n/zh.ts +244 -0
  49. package/src/tool/safeZones/index.ts +17 -9
  50. package/src/tool/socialImageResizer/i18n/de.ts +211 -0
  51. package/src/tool/socialImageResizer/i18n/en.ts +1 -1
  52. package/src/tool/socialImageResizer/i18n/id.ts +211 -0
  53. package/src/tool/socialImageResizer/i18n/it.ts +211 -0
  54. package/src/tool/socialImageResizer/i18n/ja.ts +211 -0
  55. package/src/tool/socialImageResizer/i18n/ko.ts +211 -0
  56. package/src/tool/socialImageResizer/i18n/nl.ts +211 -0
  57. package/src/tool/socialImageResizer/i18n/pl.ts +211 -0
  58. package/src/tool/socialImageResizer/i18n/pt.ts +211 -0
  59. package/src/tool/socialImageResizer/i18n/ru.ts +211 -0
  60. package/src/tool/socialImageResizer/i18n/sv.ts +211 -0
  61. package/src/tool/socialImageResizer/i18n/tr.ts +211 -0
  62. package/src/tool/socialImageResizer/i18n/zh.ts +211 -0
  63. package/src/tool/socialImageResizer/index.ts +16 -8
  64. package/src/tool/socialValueCalculator/i18n/de.ts +306 -0
  65. package/src/tool/socialValueCalculator/i18n/es.ts +1 -1
  66. package/src/tool/socialValueCalculator/i18n/fr.ts +1 -1
  67. package/src/tool/socialValueCalculator/i18n/id.ts +306 -0
  68. package/src/tool/socialValueCalculator/i18n/it.ts +306 -0
  69. package/src/tool/socialValueCalculator/i18n/ja.ts +306 -0
  70. package/src/tool/socialValueCalculator/i18n/ko.ts +306 -0
  71. package/src/tool/socialValueCalculator/i18n/nl.ts +306 -0
  72. package/src/tool/socialValueCalculator/i18n/pl.ts +306 -0
  73. package/src/tool/socialValueCalculator/i18n/pt.ts +306 -0
  74. package/src/tool/socialValueCalculator/i18n/ru.ts +306 -0
  75. package/src/tool/socialValueCalculator/i18n/sv.ts +306 -0
  76. package/src/tool/socialValueCalculator/i18n/tr.ts +306 -0
  77. package/src/tool/socialValueCalculator/i18n/zh.ts +306 -0
  78. package/src/tool/socialValueCalculator/index.ts +17 -9
  79. package/src/tool/tinderPhotoOptimizer/i18n/de.ts +272 -0
  80. package/src/tool/tinderPhotoOptimizer/i18n/id.ts +272 -0
  81. package/src/tool/tinderPhotoOptimizer/i18n/it.ts +272 -0
  82. package/src/tool/tinderPhotoOptimizer/i18n/ja.ts +272 -0
  83. package/src/tool/tinderPhotoOptimizer/i18n/ko.ts +272 -0
  84. package/src/tool/tinderPhotoOptimizer/i18n/nl.ts +272 -0
  85. package/src/tool/tinderPhotoOptimizer/i18n/pl.ts +272 -0
  86. package/src/tool/tinderPhotoOptimizer/i18n/pt.ts +272 -0
  87. package/src/tool/tinderPhotoOptimizer/i18n/ru.ts +272 -0
  88. package/src/tool/tinderPhotoOptimizer/i18n/sv.ts +272 -0
  89. package/src/tool/tinderPhotoOptimizer/i18n/tr.ts +272 -0
  90. package/src/tool/tinderPhotoOptimizer/i18n/zh.ts +272 -0
  91. package/src/tool/tinderPhotoOptimizer/index.ts +17 -9
  92. package/src/tool/youtubeThumbnail/i18n/de.ts +207 -0
  93. package/src/tool/youtubeThumbnail/i18n/id.ts +207 -0
  94. package/src/tool/youtubeThumbnail/i18n/it.ts +207 -0
  95. package/src/tool/youtubeThumbnail/i18n/ja.ts +207 -0
  96. package/src/tool/youtubeThumbnail/i18n/ko.ts +207 -0
  97. package/src/tool/youtubeThumbnail/i18n/nl.ts +207 -0
  98. package/src/tool/youtubeThumbnail/i18n/pl.ts +207 -0
  99. package/src/tool/youtubeThumbnail/i18n/pt.ts +207 -0
  100. package/src/tool/youtubeThumbnail/i18n/ru.ts +207 -0
  101. package/src/tool/youtubeThumbnail/i18n/sv.ts +207 -0
  102. package/src/tool/youtubeThumbnail/i18n/tr.ts +207 -0
  103. package/src/tool/youtubeThumbnail/i18n/zh.ts +207 -0
  104. package/src/tool/youtubeThumbnail/index.ts +17 -9
  105. package/src/tool/youtubeThumbnailPreviewer/i18n/de.ts +321 -0
  106. package/src/tool/youtubeThumbnailPreviewer/i18n/en.ts +1 -1
  107. package/src/tool/youtubeThumbnailPreviewer/i18n/es.ts +1 -1
  108. package/src/tool/youtubeThumbnailPreviewer/i18n/fr.ts +2 -2
  109. package/src/tool/youtubeThumbnailPreviewer/i18n/id.ts +321 -0
  110. package/src/tool/youtubeThumbnailPreviewer/i18n/it.ts +321 -0
  111. package/src/tool/youtubeThumbnailPreviewer/i18n/ja.ts +321 -0
  112. package/src/tool/youtubeThumbnailPreviewer/i18n/ko.ts +321 -0
  113. package/src/tool/youtubeThumbnailPreviewer/i18n/nl.ts +321 -0
  114. package/src/tool/youtubeThumbnailPreviewer/i18n/pl.ts +321 -0
  115. package/src/tool/youtubeThumbnailPreviewer/i18n/pt.ts +321 -0
  116. package/src/tool/youtubeThumbnailPreviewer/i18n/ru.ts +321 -0
  117. package/src/tool/youtubeThumbnailPreviewer/i18n/sv.ts +321 -0
  118. package/src/tool/youtubeThumbnailPreviewer/i18n/tr.ts +321 -0
  119. package/src/tool/youtubeThumbnailPreviewer/i18n/zh.ts +321 -0
  120. package/src/tool/youtubeThumbnailPreviewer/index.ts +24 -0
@@ -0,0 +1,207 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { YoutubeThumbnailUI } from '../ui';
4
+
5
+ const slug = 'youtube-thumbnail-herunterladen-hd';
6
+ const title = 'YouTube Thumbnail Downloader (HD)';
7
+ const description =
8
+ 'Extrahieren und laden Sie das Original-Vorschaubild (Thumbnail) jedes YouTube-Videos in maximaler Auflösung und ohne Wasserzeichen herunter – einfach über die URL.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'In welcher Auflösung werden die Thumbnails extrahiert?',
13
+ answer:
14
+ "Das Tool versucht immer, das Bild in 'MaxRes'-Auflösung (1280x720 oder 1920x1080) abzurufen, was der vom Videoersteller hochgeladenen Originalqualität entspricht. Wenn der Ersteller kein HD-Thumbnail hochgeladen hat, wird automatisch die nächsthöhere verfügbare Auflösung angezeigt.",
15
+ },
16
+ {
17
+ question: 'Welche Link-Typen werden unterstützt?',
18
+ answer:
19
+ 'Es unterstützt klassische youtube.com/watch-URLs, kurze youtu.be-Links, mobile Links und sogar YouTube Shorts-URLs auf transparente Weise.',
20
+ },
21
+ {
22
+ question: 'Ist das Herunterladen von YouTube-Thumbnails legal?',
23
+ answer:
24
+ 'Ja, das Herunterladen ist für den persönlichen Gebrauch, zu Designzwecken, für Parodien oder zur Inspiration (Fair Use) völlig legal. Seien Sie vorsichtig, wenn Sie urheberrechtlich geschützte Bilder für rein kommerzielle Zwecke verwenden möchten – in diesen Fällen ist es wichtig, die Lizenz des Videos zu prüfen.',
25
+ },
26
+ {
27
+ question: 'Gibt es ein tägliches Nutzungslimit?',
28
+ answer:
29
+ 'Es gibt keine monatlichen oder täglichen Limits. Da die Software clientseitig in Ihrem Browser läuft, indem sie das URL-Muster intern auflöst, interagieren wir nicht mit restriktiven APIs.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Video-URL kopieren',
36
+ text: 'Gehen Sie zu YouTube und kopieren Sie den Link des Videos aus der Adressleiste des Browsers oder über den Teilen-Button.',
37
+ },
38
+ {
39
+ name: 'Link einfügen',
40
+ text: 'Geben Sie die URL in das Feld des Extractors ein oder nutzen Sie den Button zum Einfügen aus der Zwischenablage.',
41
+ },
42
+ {
43
+ name: 'Qualität wählen',
44
+ text: 'Das Tool zeigt alle verfügbaren Auflösungen an, von maximaler Qualität (1080p) bis zur niedrigsten.',
45
+ },
46
+ {
47
+ name: 'Bild herunterladen',
48
+ text: 'Klicken Sie auf den Download-Button, um das Thumbnail auf Ihrem Gerät zu speichern.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowToThing> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'de',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Häufig gestellte Fragen',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Dokumentation & Referenzen',
93
+ bibliography: [
94
+ {
95
+ name: 'YouTube-Hilfe: Ein benutzerdefiniertes Video-Thumbnail hinzufügen',
96
+ url: 'https://support.google.com/youtube/answer/72431',
97
+ },
98
+ {
99
+ name: 'YouTube Creator Academy: Großartige Thumbnails erstellen',
100
+ url: 'https://creatoracademy.youtube.com/',
101
+ },
102
+ {
103
+ name: 'Google Developers: YouTube Data API — Thumbnails',
104
+ url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
105
+ },
106
+ ],
107
+ howTo: howToData,
108
+ schemas: [faqSchema, howToSchema, appSchema],
109
+ seo: [
110
+ {
111
+ type: 'title',
112
+ text: 'YouTube Thumbnails kostenlos in HD herunterladen',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Wenn Sie das <strong>Vorschaubild eines YouTube-Videos herunterladen</strong> möchten (in Originalgröße oder maximaler Qualität wie Full HD oder 4K), ist dieses kostenlose Tool die schnellste Lösung. Holen Sie sich das Cover-Bild jedes Kanals zur Inspiration, für eigene Designs oder zur Verwendung in Präsentationen.',
118
+ },
119
+ {
120
+ type: 'tip',
121
+ title: 'Cover Bilder ohne Software extrahieren',
122
+ html: '<p>Keine Installation nötig, keine Registrierung erforderlich. Einfach Link kopieren und das <strong>YouTube-Thumbnail speichern</strong> – direkt auf Ihrem PC oder Smartphone.</p>',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Wie bekommt man das Thumbnail eines YouTube-Videos?',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Der Vorgang, um das <strong>Foto eines YouTube-Videos zu extrahieren</strong>, ist denkbar einfach. Folgen Sie diesen Schritten, um das Bild in Sekunden zu erhalten:',
132
+ },
133
+ {
134
+ type: 'list',
135
+ items: [
136
+ '<strong>1. URL kopieren:</strong> Gehen Sie zu YouTube und kopieren Sie den Link (aus der Adressleiste oder per Teilen-Button).',
137
+ '<strong>2. Link einfügen:</strong> Geben Sie die URL in das Suchfeld unseres Thumbnail-Extractors ein.',
138
+ '<strong>3. Qualität wählen:</strong> Wir zeigen Ihnen alle verfügbaren Auflösungen, von 1080p bis 360p.',
139
+ '<strong>4. Herunterladen:</strong> Klicken Sie auf den Download-Button, um das <i>Thumbnail</i> zu speichern.',
140
+ ],
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Unterstützte Formate und Auflösungen',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'YouTube-Cover herunterzuladen war noch nie so einfach. Das Tool sucht automatisch nach dem bestmöglichen Bild (bekannt als <strong>maxresdefault</strong>), das oft aufwendige Photoshop-Designs der YouTuber enthält. Falls kein HD-Bild verfügbar ist, bieten wir die nächstbeste Option (<strong>hqdefault</strong> oder <strong>mqdefault</strong>).',
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Dieses Tool ist perfekt für <i>Community Manager</i>, Grafikdesigner, Content Creator, Meme-Ersteller oder jeden, der das <strong>Cover eines Videos</strong> für seine Projekte benötigt. Zudem ist es kompatibel mit <strong>YouTube Shorts</strong>, sodass Sie auch deren Miniaturansichten auf die gleiche Weise erhalten können.',
154
+ },
155
+ {
156
+ type: 'title',
157
+ text: 'Professionelle Nutzung von YouTube-Thumbnails',
158
+ level: 2,
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'YouTube-Thumbnails sind wertvolle visuelle Assets. Sie repräsentieren Stunden an Designarbeit, A/B-Tests und CTR-Optimierung. Zu wissen, wie man darauf zugreift, eröffnet viele professionelle Möglichkeiten.',
163
+ },
164
+ {
165
+ type: 'grid',
166
+ columns: [
167
+ {
168
+ type: 'card',
169
+ title: 'Content Creator',
170
+ html: '<p>Analysieren Sie die Thumbnails viraler Videos in Ihrer Nische, um zu verstehen, welche visuellen Elemente Klicks generieren: Typografie, Farben, Gesichter oder Text.</p><ul><li><strong>Visuelles Benchmarking:</strong> Vergleichen Sie Ihre Bilder mit den Branchenführern.</li><li><strong>Design-Iteration:</strong> Nutzen Sie Thumbnails als Referenz in Photoshop oder Canva.</li><li><strong>Inspirationsarchiv:</strong> Bauen Sie eine Bibliothek konversionsstarker Thumbnails auf.</li></ul>',
171
+ },
172
+ {
173
+ type: 'card',
174
+ title: 'Designer & Marketer',
175
+ html: '<p>Für Grafikdesigner oder <i>Social Media Manager</i> ist der schnelle Zugriff auf YouTube-Cover essenziell für Präsentationen und Audits.</p><ul><li><strong>Kundenpräsentationen:</strong> Fügen Sie reale Wettbewerbsbilder in Ihre Konzepte ein.</li><li><strong>Marken-Audits:</strong> Bewerten Sie die visuelle Konsistenz eines YouTube-Kanals.</li><li><strong>Moodboards:</strong> Sammeln Sie hochwertige visuelle Referenzen ohne unscharfe Screenshots.</li></ul>',
176
+ },
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'Kompatibilität mit YouTube Shorts',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'Der Extractor funktioniert perfekt mit <strong>YouTube Shorts</strong>. Shorts haben ihr eigenes vertikales Format (9:16), das automatisch generiert wird. Dieses Tool erkennt Shorts-URLs (<code>youtube.com/shorts/ID</code>) und extrahiert das beste verfügbare Bild genau wie bei Standardvideos.',
187
+ },
188
+ {
189
+ type: 'tip',
190
+ title: 'Garantierter Datenschutz',
191
+ html: '<p>Die gesamte Extraktion findet in Ihrem Browser statt. Es werden keine URLs oder Daten an externe Server gesendet.</p>',
192
+ },
193
+ ],
194
+ ui: {
195
+ urlPlaceholder: 'YouTube-Link hier einfügen...',
196
+ pasteAriaLabel: 'Aus Zwischenablage einfügen',
197
+ helperText: 'Unterstützte Formate: youtube.com, youtu.be, shorts.',
198
+ ribbonLabel: 'Maximale Qualität',
199
+ downloadBtn: 'In maximaler Auflösung herunterladen',
200
+ qualityMedium: 'Mittlere Qualität',
201
+ qualityStandard: 'Standard-Qualität',
202
+ qualityLow: 'Niedrige Qualität',
203
+ viewImage: 'Bild ansehen',
204
+ errorInvalid: 'Ungültige YouTube-URL. Bitte überprüfen.',
205
+ imgAlt: 'YouTube HD Thumbnail',
206
+ },
207
+ };
@@ -0,0 +1,207 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { YoutubeThumbnailUI } from '../ui';
4
+
5
+ const slug = 'pengunduh-thumbnail-youtube-hd';
6
+ const title = 'Pengunduh Thumbnail YouTube (HD)';
7
+ const description =
8
+ 'Ekstrak dan unduh gambar thumbnail asli dari video YouTube apa pun dengan resolusi maksimum dan tanpa tanda air hanya menggunakan URL.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Berapa resolusi thumbnail yang diekstrak?',
13
+ answer:
14
+ "Alat ini selalu mencoba mendapatkan gambar dalam resolusi 'MaxRes' (1280x720 atau 1920x1080), yang merupakan kualitas asli yang diunggah oleh pembuat video. Jika pembuatnya tidak mengunggah thumbnail HD, secara otomatis akan menampilkan resolusi tertinggi berikutnya yang tersedia.",
15
+ },
16
+ {
17
+ question: 'Jenis tautan apa yang didukung?',
18
+ answer:
19
+ 'Mendukung URL youtube.com/watch tradisional, tautan pendek youtu.be, tautan dari ponsel, dan bahkan URL YouTube Shorts secara transparan.',
20
+ },
21
+ {
22
+ question: 'Apakah legal mengunduh thumbnail YouTube?',
23
+ answer:
24
+ 'Ya, mengunduh sepenuhnya legal untuk penggunaan pribadi, desain, parodi, dan inspirasi (Fair Use). Berhati-hatilah jika Anda akan menggunakan thumbnail yang dilindungi hak cipta untuk tujuan komersial murni, dalam kasus tersebut penting untuk memeriksa lisensi video.',
25
+ },
26
+ {
27
+ question: 'Apakah ada batas penggunaan harian?',
28
+ answer:
29
+ 'Tidak ada batas bulanan atau harian. Karena perangkat lunak ini beroperasi di sisi klien dengan menyelesaikan pola URL secara internal di browser Anda, kami tidak berinteraksi dengan API tradisional yang membatasi.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Salin URL video',
36
+ text: 'Buka YouTube dan salin tautan video dari bilah browser atau dari tombol bagikan.',
37
+ },
38
+ {
39
+ name: 'Tempel tautan',
40
+ text: 'Masukkan URL di kolom ekstraktor atau gunakan tombol tempel dari papan klip.',
41
+ },
42
+ {
43
+ name: 'Pilih kualitas',
44
+ text: 'Alat akan menampilkan semua resolusi yang tersedia, dari kualitas maksimum (1080p) hingga yang terendah.',
45
+ },
46
+ {
47
+ name: 'Unduh gambar',
48
+ text: 'Klik tombol unduh untuk menyimpan thumbnail di perangkat Anda.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowToThing> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'IDR' },
83
+ inLanguage: 'id',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Pertanyaan yang Sering Diajukan',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Dokumentation dan Referensi',
93
+ bibliography: [
94
+ {
95
+ name: 'Bantuan YouTube: Menambahkan gambar thumbnail kustom',
96
+ url: 'https://support.google.com/youtube/answer/72431',
97
+ },
98
+ {
99
+ name: 'YouTube Creator Academy: Cara membuat thumbnail yang efektif',
100
+ url: 'https://creatoracademy.youtube.com/',
101
+ },
102
+ {
103
+ name: 'Google Developers: YouTube Data API — Thumbnails',
104
+ url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
105
+ },
106
+ ],
107
+ howTo: howToData,
108
+ schemas: [faqSchema, howToSchema, appSchema],
109
+ seo: [
110
+ {
111
+ type: 'title',
112
+ text: 'Unduh Thumbnail YouTube HD Gratis',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Jika Anda perlu <strong>mengunduh thumbnail video YouTube</strong> dalam ukuran asli atau kualitas maksimum (Full HD atau 4K), alat gratis ini adalah solusi tercepat. Anda bisa mendapatkan gambar sampul dari saluran mana pun untuk inspirasi, membuat desain Anda sendiri, atau menggunakannya dalam presentasi.',
118
+ },
119
+ {
120
+ type: 'tip',
121
+ title: 'Ekstrak Foto Sampul Tanpa Program',
122
+ html: '<p>Tidak perlu menginstal perangkat lunak atau mendaftar. Anda hanya perlu menyalin dan menempelkan tautan video dan Anda dapat <strong>menyimpan thumbnail YouTube</strong> langsung di komputer atau ponsel Anda.</p>',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Bagaimana cara mendapatkan thumbnail dari video YouTube?',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Proses untuk <strong>mengambil foto dari video YouTube</strong> sangat sederhana. Ikuti langkah-langkah ini untuk mendapatkan gambar dalam hitungan detik:',
132
+ },
133
+ {
134
+ type: 'list',
135
+ items: [
136
+ '<strong>1. Salin URL:</strong> Buka YouTube dan salin tautan video (baik dari bilah browser atau tombol bagikan).',
137
+ '<strong>2. Tempel tautan:</strong> Masukkan URL ke kolom pencarian ekstraktor thumbnail kami.',
138
+ '<strong>3. Pilih kualitas:</strong> Kami akan menunjukkan semua resolusi yang tersedia, dari kualitas maksimum (1080p) hingga terendah (360p).',
139
+ '<strong>4. Unduh gambar:</strong> Klik tombol unduh untuk menyimpan <i>thumbnail</i> di perangkat Anda.',
140
+ ],
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Format dan Resolusi yang Didukung',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Mengunduh sampul video YouTube belum pernah semudah ini. Alat ini secara otomatis mencari gambar terbaik yang mungkin (dikenal sebagai <strong>maxresdefault</strong>), yang biasanya merupakan desain hasil kerja Photoshop oleh para YouTuber. Jika pembuatnya tidak mengunggah gambar HD, kami akan memberikan opsi terbaik berikutnya (<strong>hqdefault</strong> atau <strong>mqdefault</strong>).',
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Utilitas ini sangat cocok untuk <i>Community Manager</i>, desainer grafis, pembuat konten, pembuat meme, atau siapa pun yang perlu <strong>mengunduh sampul video</strong> untuk proyek mereka. Selain itu, ia kompatibel dengan <strong>YouTube Shorts</strong>, sehingga Anda juga bisa mendapatkan thumbnail-nya dengan cara yang sama.',
154
+ },
155
+ {
156
+ type: 'title',
157
+ text: 'Penggunaan Profesional Thumbnail YouTube',
158
+ level: 2,
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Thumbnail YouTube adalah aset visual bernilai tinggi. Mereka mewakili jam kerja desain, pengujian A/B, dan optimasi CTR oleh para pembuat konten. Mengetahui cara mengakses dan mengunduhnya membuka berbagai kemungkinan profesional.',
163
+ },
164
+ {
165
+ type: 'grid',
166
+ columns: [
167
+ {
168
+ type: 'card',
169
+ title: 'Pembuat Konten',
170
+ html: '<p>Analisis thumbnail video viral di ceruk pasar Anda untuk memahami elemen visual apa yang menghasilkan lebih banyak klik: tipografi, warna dominan, penggunaan wajah, atau teks.</p><ul><li><strong>Benchmarking visual:</strong> Bandingkan thumbnail Anda dengan para pemimpin di sektor Anda.</li><li><strong>Iterasi desain:</strong> Unduh dan gunakan thumbnail sebagai referensi di Photoshop atau Canva.</li><li><strong>Arsip inspirasi:</strong> Bangun perpustakaan thumbnail dengan konversi tinggi.</li></ul>',
171
+ },
172
+ {
173
+ type: 'card',
174
+ title: 'Desainer dan Pemasar',
175
+ html: '<p>Bagi seorang desainer grafis atau <i>social media manager</i>, mengakses thumbnail YouTube dengan cepat sangat penting untuk presentasi, proposal klien, dan audit visual.</p><ul><li><strong>Presentasi klien:</strong> Sertakan tangkapan layar nyata dari pesaing dalam proposal Anda.</li><li><strong>Audit merek:</strong> Evaluasi konsistensi visual saluran YouTube.</li><li><strong>Moodboards:</strong> Kumpulkan referensi visual berkualitas tinggi tanpa tangkapan layar yang buram.</li></ul>',
176
+ },
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'Kompatibilitas dengan YouTube Shorts',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'Ekstraktor bekerja sempurna dengan <strong>YouTube Shorts</strong>. Shorts memiliki format thumbnail vertikal sendiri (9:16) yang dibuat secara otomatis dari video. Alat ini mengenali URL Shorts (<code>youtube.com/shorts/ID</code>) dan mengekstrak thumbnail terbaik yang tersedia dengan cara yang sama seperti video standar.',
187
+ },
188
+ {
189
+ type: 'tip',
190
+ title: 'Privasi Terjamin',
191
+ html: '<p>Semua ekstraksi terjadi di browser Anda. Tidak ada URL atau data yang dikirim ke server eksternal mana pun.</p>',
192
+ },
193
+ ],
194
+ ui: {
195
+ urlPlaceholder: 'Tempel tautan YouTube di sini...',
196
+ pasteAriaLabel: 'Tempel dari papan klip',
197
+ helperText: 'Format yang didukung: youtube.com, youtu.be, shorts.',
198
+ ribbonLabel: 'Kualitas Maksimum',
199
+ downloadBtn: 'Unduh dalam Resolusi Maksimum',
200
+ qualityMedium: 'Kualitas Sedang',
201
+ qualityStandard: 'Kualitas Standar',
202
+ qualityLow: 'Kualitas Rendah',
203
+ viewImage: 'Lihat Gambar',
204
+ errorInvalid: 'URL YouTube tidak valid. Harap periksa kembali.',
205
+ imgAlt: 'Thumbnail HD YouTube',
206
+ },
207
+ };
@@ -0,0 +1,207 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { YoutubeThumbnailUI } from '../ui';
4
+
5
+ const slug = 'estrattore-miniature-youtube';
6
+ const title = 'Estrattore di Miniature YouTube (HD)';
7
+ const description =
8
+ "Estrai e scarica l'immagine in miniatura originale di qualsiasi video YouTube alla massima risoluzione e senza filigrana usando solo l'URL.";
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'A quale risoluzione vengono estratte le miniature?',
13
+ answer:
14
+ "Lo strumento tenta sempre di ottenere l'immagine in risoluzione 'MaxRes' (1280x720 o 1920x1080), che è la qualità originale caricata dall'autore del video. Se l'autore non ha caricato una miniatura in HD, mostrerà automaticamente la successiva risoluzione più alta disponibile.",
15
+ },
16
+ {
17
+ question: 'Quali tipi di link supporta?',
18
+ answer:
19
+ 'Supporta URL tradizionali di youtube.com/watch, link brevi di youtu.be, link da mobile e persino URL di YouTube Shorts in modo trasparente.',
20
+ },
21
+ {
22
+ question: 'È legale scaricare miniature da YouTube?',
23
+ answer:
24
+ 'Sì, lo scaricamento è completamente legale per uso personale, design, parodie e ispirazione (Fair Use). Fai attenzione se intendi utilizzare miniature protette da copyright per scopi puramente commerciali; in questi casi è importante consultare la licenza del video.',
25
+ },
26
+ {
27
+ question: "C'è un limite di utilizzo giornaliero?",
28
+ answer:
29
+ 'Non ci sono limiti mensili né giornalieri. Poiché questo software opera lato client risolvendo il pattern dell\'URL internamente nel tuo browser, non interagiamo con le API restrittive tradizionali.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: "Copia l'URL del video",
36
+ text: "Vai su YouTube e copia il link del video dalla barra del browser o dal pulsante di condivisione.",
37
+ },
38
+ {
39
+ name: 'Incolla il link',
40
+ text: "Inserisci l'URL nel campo dell'estrattore o usa il pulsante per incollare dagli appunti.",
41
+ },
42
+ {
43
+ name: 'Seleziona la qualità',
44
+ text: 'Lo strumento mostrerà tutte le risoluzioni disponibili, dalla massima qualità (1080p) fino alla più bassa.',
45
+ },
46
+ {
47
+ name: "Scarica l'immagine",
48
+ text: "Fai clic sul pulsante di download per salvare la miniatura sul tuo dispositivo.",
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowToThing> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'it',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Domande Frequenti',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Documentazione e Riferimenti',
93
+ bibliography: [
94
+ {
95
+ name: 'Guida di YouTube: Aggiungere un\'immagine in miniatura personalizzata',
96
+ url: 'https://support.google.com/youtube/answer/72431',
97
+ },
98
+ {
99
+ name: 'YouTube Creator Academy: Come creare miniature efficaci',
100
+ url: 'https://creatoracademy.youtube.com/',
101
+ },
102
+ {
103
+ name: 'Google Developers: YouTube Data API — Thumbnails',
104
+ url: 'https://developers.google.com/youtube/v3/docs/thumbnails',
105
+ },
106
+ ],
107
+ howTo: howToData,
108
+ schemas: [faqSchema, howToSchema, appSchema],
109
+ seo: [
110
+ {
111
+ type: 'title',
112
+ text: 'Scaricare Miniature di YouTube in HD Gratis',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Se hai bisogno di <strong>scaricare la miniatura di un video di YouTube</strong> nella sua dimensione originale o alla massima qualità (Full HD o 4K), questo strumento gratuito è la soluzione più rapida. Potrai ottenere l\'immagine di copertina di qualsiasi canale per trarre ispirazione, creare i tuoi design o utilizzarla in presentazioni.',
118
+ },
119
+ {
120
+ type: 'tip',
121
+ title: 'Estrarre Foto di Copertina senza Programmi',
122
+ html: '<p>Non è necessario installare software né registrarsi. Devi solo copiare e incollare il link del video e potrai <strong>salvare la miniatura di YouTube</strong> direttamente sul tuo computer o cellulare.</p>',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Come ottenere la miniatura di un video di YouTube?',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Il processo per <strong>estrarre la foto da un video di YouTube</strong> è molto semplice. Segui questi passaggi per ottenere l\'immagine in pochi secondi:',
132
+ },
133
+ {
134
+ type: 'list',
135
+ items: [
136
+ '<strong>1. Copia l\'URL:</strong> Vai su YouTube e copia il link del video (dalla barra del browser o dal pulsante di condivisione).',
137
+ '<strong>2. Incolla il link:</strong> Inserisci l\'URL nel campo di ricerca del nostro estrattore di miniature.',
138
+ '<strong>3. Seleziona la qualità:</strong> Ti mostreremo tutte le risoluzioni disponibili, dalla massima qualità (1080p) alla più bassa (360p).',
139
+ '<strong>4. Scarica l\'immagine:</strong> Fai clic sul pulsante di download per salvare la <i>thumbnail</i> sul tuo dispositivo.',
140
+ ],
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Formati e Risoluzioni Supportati',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Scaricare copertine di video YouTube non è mai stato così facile. Lo strumento cerca automaticamente la migliore immagine possibile (nota come <strong>maxresdefault</strong>), che di solito sono design curati su Photoshop dagli YouTuber. Se il creatore non ha caricato un\'immagine in HD, ti daremo la migliore opzione successiva (<strong>hqdefault</strong> o <strong>mqdefault</strong>).',
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Questa utility è perfetta per <i>Community Manager</i>, graphic designer, creatori di contenuti, creatori di meme o chiunque abbia bisogno di <strong>scaricare la copertina di un video</strong> per i propri progetti. Inoltre, è compatibile con i <strong>YouTube Shorts</strong>, quindi potrai ottenere anche le loro miniature nello stesso modo.',
154
+ },
155
+ {
156
+ type: 'title',
157
+ text: 'Usi Professionali delle Miniature di YouTube',
158
+ level: 2,
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Le miniature di YouTube sono asset visivi di alto valore. Rappresentano ore di lavoro di design, test A/B e ottimizzazione del CTR da parte dei creatori. Sapere come accedervi e scaricarle apre un ventaglio di possibilità professionali.',
163
+ },
164
+ {
165
+ type: 'grid',
166
+ columns: [
167
+ {
168
+ type: 'card',
169
+ title: 'Creatori di Contenuti',
170
+ html: '<p>Analizza le miniature di video virali nella tua nicchia per capire quali elementi visivi generano più clic: tipografia, colori dominanti, uso di volti o testo.</p><ul><li><strong>Benchmarking visivo:</strong> Confronta le tue miniature con quelle dei leader del tuo settore.</li><li><strong>Iterazione di design:</strong> Scarica e usa le miniature come riferimento in Photoshop o Canva.</li><li><strong>Archivio di ispirazione:</strong> Costruisci una libreria di miniature ad alta conversione.</li></ul>',
171
+ },
172
+ {
173
+ type: 'card',
174
+ title: 'Designer e Marketer',
175
+ html: '<p>Per un graphic designer o un <i>social media manager</i>, accedere rapidamente alle miniature di YouTube è essenziale per presentazioni, proposte ai clienti e audit visivi.</p><ul><li><strong>Presentazioni clienti:</strong> Includi screenshot reali della concorrenza nelle tue proposte.</li><li><strong>Audit del brand:</strong> Valuta la coerenza visiva di un canale YouTube.</li><li><strong>Moodboard:</strong> Raccogli riferimenti visivi di alta qualità senza screenshot sfuocati.</li></ul>',
176
+ },
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'Compatibilità con YouTube Shorts',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'L\'estrattore funziona perfettamente con i <strong>YouTube Shorts</strong>. Gli Shorts hanno il loro formato di miniatura verticale (9:16) che viene generato automaticamente dal video. Questo strumento riconosce gli URL degli Shorts (<code>youtube.com/shorts/ID</code>) ed estrae la migliore miniatura disponibile nello stesso modo dei video standard.',
187
+ },
188
+ {
189
+ type: 'tip',
190
+ title: 'Privacy Garantita',
191
+ html: '<p>Tutta l\'estrazione avviene nel tuo browser. Nessun URL o dato viene inviato a server esterni.</p>',
192
+ },
193
+ ],
194
+ ui: {
195
+ urlPlaceholder: 'Incolla il link di YouTube qui...',
196
+ pasteAriaLabel: 'Incolla dagli appunti',
197
+ helperText: 'Formati supportati: youtube.com, youtu.be, shorts.',
198
+ ribbonLabel: 'Massima Qualità',
199
+ downloadBtn: 'Scarica alla Massima Risoluzione',
200
+ qualityMedium: 'Qualità Media',
201
+ qualityStandard: 'Qualità Standard',
202
+ qualityLow: 'Bassa Qualità',
203
+ viewImage: 'Vedi Immagine',
204
+ errorInvalid: 'URL di YouTube non valido. Per favore, controllalo.',
205
+ imgAlt: 'Miniatura HD di YouTube',
206
+ },
207
+ };