@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,321 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { YoutubeThumbnailPreviewerUI } from '../ui';
4
+
5
+ const slug = 'anteprima-miniature-youtube';
6
+ const title = 'Anteprima Miniature YouTube Online: Migliora il tuo CTR Gratis';
7
+ const description =
8
+ 'Carica la tua miniatura e visualizza come appare nel feed reale di YouTube su mobile e desktop. Simulatore di modalità chiara e scura per ottimizzare i clic istantaneamente.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Perché è fondamentale testare le miniature di YouTube?',
13
+ answer:
14
+ 'La maggior parte degli utenti guarda YouTube su dispositivi mobili. Una miniatura che appare ottima sul tuo monitor potrebbe risultare illeggibile su uno schermo piccolo. Testarla in un simulatore assicura che il testo sia chiaro e che il soggetto principale risalti in qualsiasi dimensione.',
15
+ },
16
+ {
17
+ question: 'Devo registrarmi per usare questo Previewer?',
18
+ answer:
19
+ 'No. Il nostro strumento è gratuito al 100% e funziona direttamente nel tuo browser. Non è necessario creare un account né lasciare la tua email per ottimizzare le tue miniature.',
20
+ },
21
+ {
22
+ question: 'I miei design vengono caricati sul vostro server?',
23
+ answer:
24
+ 'Assolutamente no. La privacy è la nostra priorità numero uno. Quando selezioni un file, questo viene caricato localmente nella memoria del tuo browser tramite un URL temporaneo. Nessuno, tranne te, può vedere il design che stai testando.',
25
+ },
26
+ {
27
+ question: 'In che modo questo strumento aiuta a migliorare il mio CTR?',
28
+ answer:
29
+ 'Il CTR (Click-Through Rate) è la percentuale di persone che cliccano quando vedono la miniatura. Simulando l’ambiente reale (sfondo nero vs bianco, mobile vs desktop), puoi correggere errori di contrasto e composizione prima della pubblicazione, aumentando i tuoi clic.',
30
+ },
31
+ {
32
+ question: 'Funziona con la Modalità Scura ufficiale di YouTube?',
33
+ answer:
34
+ 'Sì. Abbiamo incluso un selettore di temi (Chiaro e Scuro) che imita esattamente i colori esadecimali utilizzati dall’app ufficiale di YouTube in entrambe le modalità.',
35
+ },
36
+ ];
37
+
38
+ const howToData = [
39
+ {
40
+ name: 'Carica il tuo design',
41
+ text: 'Fai clic sull’area di caricamento o trascina il tuo file immagine (PNG, JPG o WebP) direttamente nello strumento.',
42
+ },
43
+ {
44
+ name: 'Imposta il contesto',
45
+ text: 'Inserisci il titolo del tuo video e il nome del tuo canale affinché la simulazione sia il più realistica possibile rispetto al feed reale.',
46
+ },
47
+ {
48
+ name: 'Cambia dispositivo',
49
+ text: "Alterna tra la vista 'Desktop' e 'Mobile' per verificare la leggibilità su schermi di diverse dimensioni.",
50
+ },
51
+ {
52
+ name: 'Testa il contrasto',
53
+ text: "Attiva il tema 'Scuro' per vedere se i colori risaltano correttamente contro lo sfondo nero di YouTube.",
54
+ },
55
+ ];
56
+
57
+ const faqSchema: WithContext<FAQPage> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'FAQPage',
60
+ mainEntity: faqData.map((item) => ({
61
+ '@type': 'Question',
62
+ name: item.question,
63
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
64
+ })),
65
+ };
66
+
67
+ const howToSchema: WithContext<HowToThing> = {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'HowTo',
70
+ name: title,
71
+ description,
72
+ step: howToData.map((step, i) => ({
73
+ '@type': 'HowToStep',
74
+ position: i + 1,
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
88
+ inLanguage: 'it',
89
+ };
90
+
91
+ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
92
+ slug,
93
+ title,
94
+ description,
95
+ faqTitle: 'Domande Frequenti',
96
+ faq: faqData,
97
+ bibliographyTitle: 'Riferimenti',
98
+ bibliography: [
99
+ {
100
+ name: 'Guida di YouTube: Creare miniature personalizzate per i video',
101
+ url: 'https://support.google.com/youtube/answer/141805',
102
+ },
103
+ {
104
+ name: 'Nielsen Norman Group: Visual Processing and UX Design',
105
+ url: 'https://www.nngroup.com/articles/visual-processing/',
106
+ },
107
+ {
108
+ name: 'Derral Eves: The YouTube Formula (Thumbnail Strategy)',
109
+ url: 'https://derraleves.com/the-youtube-formula/',
110
+ },
111
+ ],
112
+ howTo: howToData,
113
+ schemas: [faqSchema, howToSchema, appSchema],
114
+ seo: [
115
+ {
116
+ type: 'title',
117
+ text: 'Anteprima Miniature per YouTube: Domina il CTR del tuo Canale',
118
+ level: 2,
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Nell’ecosistema di YouTube, la miniatura (o thumbnail) è la porta d’ingresso ai tuoi contenuti. Puoi avere il miglior video del mondo — montaggio da Hollywood, sceneggiatura da Oscar — ma se nessuno clicca, il tuo lavoro sarà invisibile per l’algoritmo. È qui che entra in gioco il <strong>CTR (Click-Through Rate)</strong>, e la miniatura è il fattore determinante.',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Perché è necessario testare le miniature prima di caricarle',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'list',
131
+ items: [
132
+ '<strong>Anteprima Reale:</strong> Guarda la tua miniatura esattamente come apparirà nel feed di YouTube.',
133
+ '<strong>Modalità Scura e Chiara:</strong> Assicurati che i colori risaltino in qualsiasi configurazione dell’utente.',
134
+ '<strong>Simulatore di Dispositivi:</strong> Controlla la leggibilità del testo sia su monitor che su piccoli schermi mobile.',
135
+ '<strong>Ottimizzazione del CTR:</strong> Confronta il tuo design con l’interfaccia nativa per massimizzare i clic.',
136
+ '<strong>Nessuna Registrazione:</strong> Carica la tua immagine e provala all’istante senza creare account.',
137
+ '<strong>Privacy Garantita:</strong> I tuoi design vengono elaborati localmente e mai caricati sui server.',
138
+ ],
139
+ },
140
+ {
141
+ type: 'paragraph',
142
+ html: 'Molti creator commettono l’errore di progettare le proprie miniature su grandi monitor, visualizzandole a schermo intero nei loro editor preferiti. Il problema è che l’utente finale la vede raramente così. La maggior parte le consuma su un dispositivo mobile mentre scorre il feed, o in un angolo del monitor in modalità scura. Il nostro <strong>Anteprima Miniature di YouTube</strong> ti permette di rompere questa "illusione del designer" e vedere la realtà chirurgica del feed.',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: 'Metriche Tecniche e Prestazioni',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'grid',
151
+ columns: [
152
+ { title: '0,2 s', body: 'Tempo di Risposta' },
153
+ { title: '4K', body: 'Risoluzione Massima' },
154
+ { title: '100%', body: 'Privacy Locale' },
155
+ { title: 'HD', body: 'Qualità Nativa' },
156
+ ],
157
+ },
158
+ {
159
+ type: 'title',
160
+ text: 'La Psicologia del Clic: Perché le miniature falliscono',
161
+ level: 3,
162
+ },
163
+ {
164
+ type: 'paragraph',
165
+ html: 'Il cervello umano elabora le immagini migliaia di volte più velocemente del testo. Tuttavia, su YouTube, la concorrenza è brutale. La tua miniatura non deve solo essere "bella" — deve essere <strong>leggibile</strong> e avere <strong>contrasto</strong>.',
166
+ },
167
+ {
168
+ type: 'paragraph',
169
+ html: 'Un errore comune è usare colori che si fondono con lo sfondo di YouTube. Se usi grigi scuri e il tuo spettatore è in modalità scura, il tuo video scomparirà semplicemente dalla sua visione periferica. Usando questo tester, puoi alternare i temi e assicurarti che il tuo design "spicchi" in qualsiasi scenario.',
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: 'Confronto Diretto: Design vs. Realtà',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'paragraph',
178
+ html: 'Vale la pena perdere 30 secondi per testare la miniatura? La risposta è un rotondo SÌ. Una miniatura ottimizzata può raddoppiare le tue visualizzazioni nelle prime 24 ore, indicando all’IA di YouTube che il tuo contenuto ha "presa".',
179
+ },
180
+ {
181
+ type: 'grid',
182
+ columns: [
183
+ {
184
+ title: 'Design in Photoshop / Canva',
185
+ body: 'Falsa sensazione delle dimensioni reali · Ignora il contrasto con lo sfondo dell’app · Il testo sembra leggibile ma forse non lo è · Non vedi gli elementi della UI (durata, avatar)',
186
+ },
187
+ {
188
+ title: 'Anteprima Miniature YouTube',
189
+ body: 'Vista reale nel feed Home · Contrasto verificato in Dark vs Light Mode · Leggibilità del testo garantita su mobile · Simulazione di titoli e nomi canale',
190
+ },
191
+ ],
192
+ },
193
+ {
194
+ type: 'title',
195
+ text: 'Checklist per una Miniatura con CTR Superiore al 10%',
196
+ level: 3,
197
+ },
198
+ {
199
+ type: 'paragraph',
200
+ html: 'Prima di esportare il tuo design finale, assicurati di passare attraverso questa lista di controllo utilizzando il nostro simulatore professionale:',
201
+ },
202
+ {
203
+ type: 'list',
204
+ items: [
205
+ 'Il testo è leggibile su uno schermo mobile piccolo?',
206
+ 'C’è abbastanza contrasto tra lo sfondo e il soggetto principale?',
207
+ 'La miniatura appare bene sullo sfondo nero della Modalità Scura?',
208
+ 'Il titolo del video copre informazioni vitali dell’immagine?',
209
+ 'Il badge della durata (il quadratino nero) nasconde qualcosa di importante?',
210
+ 'Il volto o l’oggetto principale trasmettono l’emozione desiderata a dimensioni ridotte?',
211
+ ],
212
+ },
213
+ {
214
+ type: 'title',
215
+ text: 'Anatomia di una Miniatura ad Alto Impatto',
216
+ level: 3,
217
+ },
218
+ {
219
+ type: 'paragraph',
220
+ html: 'Basandoci sull’analisi dei canali più grandi al mondo, una miniatura vincente segue solitamente questo schema strutturale:',
221
+ },
222
+ {
223
+ type: 'grid',
224
+ columns: [
225
+ {
226
+ title: 'Soggetto Principale',
227
+ body: 'Fuoco dell’attenzione primaria · Usa ritagli nitidi con un leggero bordo o saturazione extra.',
228
+ },
229
+ {
230
+ title: 'Testo (Max 3 parole)',
231
+ body: 'Contesto istantaneo · Usa font Sans Serif spessi e colori complementari.',
232
+ },
233
+ {
234
+ title: 'Sfondo Sfocato',
235
+ body: 'Separazione dei piani · Aggiunge profondità in modo che il soggetto principale "salti" fuori dallo schermo.',
236
+ },
237
+ {
238
+ title: 'Spazio della Durata',
239
+ body: 'Evitare errori · Non mettere volti o testo nell’angolo in basso a destra.',
240
+ },
241
+ ],
242
+ },
243
+ {
244
+ type: 'tip',
245
+ title: 'Il Trucco della Zona Morta',
246
+ html: '<p>YouTube posiziona sempre un riquadro nero con la durata del video nell’angolo in basso a destra della miniatura. Migliaia di creator mettono elementi vitali in quella zona, solo per scoprire che l’app li copre. Il nostro strumento simula questo riquadro in modo da non coprire mai la tua inquadratura migliore.</p>',
247
+ },
248
+ {
249
+ type: 'title',
250
+ text: 'Vantaggi e Limitazioni dello Strumento',
251
+ level: 3,
252
+ },
253
+ {
254
+ type: 'grid',
255
+ columns: [
256
+ {
257
+ title: 'Interfaccia ultra rapida e reattiva',
258
+ body: 'Limitazione: Non permette l’editing dell’immagine (usare Canva/PS)',
259
+ },
260
+ {
261
+ title: 'Mockup esatti dell’App e del Web',
262
+ body: 'Limitazione: Non simula gli annunci Pre-roll',
263
+ },
264
+ {
265
+ title: 'Gratis e senza pubblicità invasiva',
266
+ body: 'Limitazione: Supporta solo file locali',
267
+ },
268
+ ],
269
+ },
270
+ {
271
+ type: 'title',
272
+ text: "Uso della Modalità 'Split' (Confronto Diretto)",
273
+ level: 3,
274
+ },
275
+ {
276
+ type: 'paragraph',
277
+ html: 'Questa è la funzione di punta. Attivando la modalità Split, vedrai la tua miniatura attraverso la lente della Modalità Chiara e della Modalità Scura contemporaneamente. È il modo definitivo per verificare se la tua tavolozza di colori è universale o se necessita di regolazioni di luminosità e contrasto.',
278
+ },
279
+ {
280
+ type: 'title',
281
+ text: 'Privacy: I Tuoi Design non vengono Caricati sul Cloud',
282
+ level: 3,
283
+ },
284
+ {
285
+ type: 'paragraph',
286
+ html: 'Sappiamo che le tue miniature sono parte della tua strategia segreta prima di un lancio. Per questo abbiamo progettato questa utilità affinché lavori esclusivamente nel motore del tuo browser. <strong>Nulla viene caricato su internet</strong>. Il file che selezioni viene caricato tramite un URL locale temporaneo che scompare alla chiusura della scheda. La tua proprietà intellettuale è al 100% sotto il tuo controllo.',
287
+ },
288
+ {
289
+ type: 'title',
290
+ text: 'Conclusione: Il Pixel Perfetto Garantito',
291
+ level: 3,
292
+ },
293
+ {
294
+ type: 'paragraph',
295
+ html: 'Smetti di tirare a indovinare e inizia a validare. L’<strong>Anteprima Miniature per YouTube</strong> di JJLMoya è lo strumento gratuito che separa i creator amatoriali dai professionisti dei contenuti. Un piccolo aggiustamento nella dimensione di un font o nella posizione del soggetto può fare la differenza tra un video che passa inosservato e un successo virale.',
296
+ },
297
+ {
298
+ type: 'paragraph',
299
+ html: 'Inizia a ottimizzare il tuo canale ora e dai ai tuoi video il tasso di clic che meritano!',
300
+ },
301
+ ],
302
+ ui: {
303
+ dropFeedTitle: 'Trascina la tua Miniatura',
304
+ dropFeedSub: 'PNG, JPG o WebP · Immagini multiple',
305
+ dropAvatarTitle: 'Trascina il tuo Avatar',
306
+ dropAvatarSub: 'Immagine profilo del canale',
307
+ labelTitle: 'Titolo del video',
308
+ labelChannel: 'Nome del canale',
309
+ defaultTitle: 'Il tuo Titolo Video Qui',
310
+ defaultChannel: 'Nome del Canale',
311
+ btnDesktop: 'Desktop',
312
+ btnMobile: 'Mobile',
313
+ btnClear: 'Pulisci',
314
+ labelLight: 'Chiaro',
315
+ labelDark: 'Scuro',
316
+ views0: '1,2 mln di visualizzazioni · 1 ora fa',
317
+ views1: '45 minuti fa',
318
+ views2: '250.000 visualizzazioni · 1 giorno fa',
319
+ views3: '3,1 mln di visualizzazioni · 1 settimana fa',
320
+ },
321
+ };
@@ -0,0 +1,321 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { YoutubeThumbnailPreviewerUI } from '../ui';
4
+
5
+ const slug = 'youtube-thumbnail-previewer';
6
+ const title = 'YouTubeサムネイルプレビュー:クリック率(CTR)向上のための無料ツール';
7
+ const description =
8
+ 'サムネイル画像をアップロードして、モバイルやデスクトップの実際のYouTubeフィードでの見栄えを確認できます。ダークモードとライトモードのシミュレーターで、クリックを即座に最適化。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'なぜYouTubeサムネイルのテストが重要なのですか?',
13
+ answer:
14
+ 'ほとんどのユーザーはモバイルデバイスでYouTubeを視聴します。PCモニターで綺麗に見えるサムネイルでも、小さな画面では文字が読めないことがあります。シミュレーターでテストすることで、どんなサイズでもテキストが鮮明で、メインの被写体が際立つことを確認できます。',
15
+ },
16
+ {
17
+ question: 'このプレビューツールを使うために登録は必要ですか?',
18
+ answer:
19
+ 'いいえ。当ツールは100%無料で、ブラウザ上で直接動作します。サムネイルを最適化するために、アカウント作成やメールアドレスの提供は一切不要です。',
20
+ },
21
+ {
22
+ question: 'デザインした画像はサーバーにアップロードされますか?',
23
+ answer:
24
+ 'いいえ、決してアップロードされません。プライバシーを最優先に考えています。ファイルを選択すると、ブラウザのメモリ内に一時的なURLとしてローカルに読み込まれます。あなた以外の誰も、テスト中のデザインを見ることはできません。',
25
+ },
26
+ {
27
+ question: 'このツールはどのようにCTR(クリック率)の向上に役立ちますか?',
28
+ answer:
29
+ 'CTRとは、サムネイルを見た人のうち、実際にクリックした人の割合です。実際の環境(ダーク vs ライト背景、モバイル vs デスクトップ)をシミュレートすることで、公開前にコントラストや構成の問題を修正でき、クリック数を増やすことができます。',
30
+ },
31
+ {
32
+ question: 'YouTube公式のダークモードに対応していますか?',
33
+ answer:
34
+ 'はい。YouTube公式アプリの各モードで使用されている正確なカラーコードを再現したテーマセレクター(ライトとダーク)を搭載しています。',
35
+ },
36
+ ];
37
+
38
+ const howToData = [
39
+ {
40
+ name: 'デザインをアップロード',
41
+ text: 'アップロードエリアをクリックするか、画像ファイル(PNG、JPG、またはWebP)を直接ツールにドラッグします。',
42
+ },
43
+ {
44
+ name: 'コンテキストを設定',
45
+ text: '動画のタイトルとチャンネル名を入力して、実際のフィードに近い、よりリアルなシミュレーションを行います。',
46
+ },
47
+ {
48
+ name: 'デバイスを切り替える',
49
+ text: '「デスクトップ」と「モバイル」の表示を切り替え、さまざまな画面サイズでの視認性を確認します。',
50
+ },
51
+ {
52
+ name: 'コントラストを確認',
53
+ text: '「ダーク」テーマを有効にして、YouTubeの黒い背景に対して色が正しく際立つかどうかをチェックします。',
54
+ },
55
+ ];
56
+
57
+ const faqSchema: WithContext<FAQPage> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'FAQPage',
60
+ mainEntity: faqData.map((item) => ({
61
+ '@type': 'Question',
62
+ name: item.question,
63
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
64
+ })),
65
+ };
66
+
67
+ const howToSchema: WithContext<HowToThing> = {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'HowTo',
70
+ name: title,
71
+ description,
72
+ step: howToData.map((step, i) => ({
73
+ '@type': 'HowToStep',
74
+ position: i + 1,
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'JPY' },
88
+ inLanguage: 'ja',
89
+ };
90
+
91
+ export const content: ToolLocaleContent<YoutubeThumbnailPreviewerUI> = {
92
+ slug,
93
+ title,
94
+ description,
95
+ faqTitle: 'よくある質問',
96
+ faq: faqData,
97
+ bibliographyTitle: '関連リファレンス',
98
+ bibliography: [
99
+ {
100
+ name: 'YouTubeヘルプ: カスタム動画サムネイルを追加する',
101
+ url: 'https://support.google.com/youtube/answer/141805',
102
+ },
103
+ {
104
+ name: 'Nielsen Norman Group: Visual Processing and UX Design',
105
+ url: 'https://www.nngroup.com/articles/visual-processing/',
106
+ },
107
+ {
108
+ name: 'Derral Eves: The YouTube Formula (Thumbnail Strategy)',
109
+ url: 'https://derraleves.com/the-youtube-formula/',
110
+ },
111
+ ],
112
+ howTo: howToData,
113
+ schemas: [faqSchema, howToSchema, appSchema],
114
+ seo: [
115
+ {
116
+ type: 'title',
117
+ text: 'YouTubeサムネイルプレビュー:チャンネルのCTRをマスターする',
118
+ level: 2,
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'YouTubeのエコシステムにおいて、サムネイルはコンテンツへの玄関口です。世界最高の動画、ハリウッド級の編集、オスカー級の脚本があったとしても、誰もクリックしなければ、その作品はアルゴリズムから見えない存在になってしまいます。ここで重要になるのが<strong>CTR(クリック率)</strong>であり、サムネイルはその決定要因です。',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'アップロード前にサムネイルをテストすべき理由',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'list',
131
+ items: [
132
+ '<strong>リアルなプレビュー:</strong>YouTubeフィードに表示される際の状態を正確に確認できます。',
133
+ '<strong>ダーク/ライトモード:</strong>どんなユーザー設定でも色が鮮やかに見えるか確認できます。',
134
+ '<strong>デバイスシミュレーター:</strong>PCモニターと小さなモバイル画面の両方でテキストの読みやすさをチェックできます。',
135
+ '<strong>CTR最適化:</strong>ネイティブのインターフェースと自身のデザインを比較し、クリックを最大化。',
136
+ '<strong>登録不要:</strong>アカウント作成なしで、画像をアップロードしてすぐにテストできます。',
137
+ '<strong>プライバシー保護:</strong>デザインはローカルで処理され、サーバーに送信されることはありません。',
138
+ ],
139
+ },
140
+ {
141
+ type: 'paragraph',
142
+ html: '多くのクリエイターは、大きなモニターでデザインし、お気に入りのエディタで全画面表示して満足してしまうという間違いを犯しがちです。しかし、エンドユーザーがそのように見ることは稀です。ほとんどの人は、無限スクロール中のモバイルデバイスや、ダークモードに設定されたモニターの隅でサムネイルを目にします。当サイトの<strong>YouTubeサムネイルプレビュー</strong>は、その「デザイナーの錯覚」を打ち破り、フィード上の厳しい現実を見せてくれます。',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: '技術仕様とパフォーマンス',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'grid',
151
+ columns: [
152
+ { title: '0.2秒', body: '応答速度' },
153
+ { title: '4K', body: '最大解像度' },
154
+ { title: '100%', body: 'ローカルプライバシー' },
155
+ { title: 'HD', body: 'ネイティブ品質' },
156
+ ],
157
+ },
158
+ {
159
+ type: 'title',
160
+ text: 'クリックの心理学:なぜサムネイルは失敗するのか',
161
+ level: 3,
162
+ },
163
+ {
164
+ type: 'paragraph',
165
+ html: '人間の脳はテキストよりも数千倍速く画像を処理します。しかし、YouTubeの競争は熾烈です。サムネイルは単に「綺麗」なだけでは不十分で、<strong>読みやすさ</strong>と<strong>コントラスト</strong>が必要です。',
166
+ },
167
+ {
168
+ type: 'paragraph',
169
+ html: 'よくある間違いは、YouTubeの背景色に溶け込んでしまう色を使ってしまうことです。ダークグレーを多用し、視聴者がダークモードで視聴している場合、あなたの動画は周辺視野から消えてしまいます。このテスターを使えば、テーマを切り替えて、どんな状況でもデザインが「ポップ」に(際立って)見えるかを確認できます。',
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: '直接比較:デザイン vs 現実',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'paragraph',
178
+ html: 'サムネイルのテストに30秒かける価値はあるでしょうか?答えは、圧倒的な「イエス」です。最適化されたサムネイルは、最初の24時間で視聴回数を倍増させることがあり、YouTubeのAIにそのコンテンツに「引き」があることを知らせます。',
179
+ },
180
+ {
181
+ type: 'grid',
182
+ columns: [
183
+ {
184
+ title: 'Photoshop / Canvaでのデザイン',
185
+ body: '実際のサイズ感の誤認 ・ アプリの背景とのコントラストを無視 ・ テキストは読めるように見える(実際は読めないことも) ・ UI要素(再生時間、アバター)が見えない',
186
+ },
187
+ {
188
+ title: 'YouTubeサムネイルプレビュー',
189
+ body: 'ホームフィードでの実際の見え方 ・ ダーク vs ライトモードでのコントラスト検証 ・ モバイルでのテキスト視認性を保証 ・ タイトルとチャンネル名のシミュレート',
190
+ },
191
+ ],
192
+ },
193
+ {
194
+ type: 'title',
195
+ text: 'CTR 10%超えを目指すサムネイルチェックリスト',
196
+ level: 3,
197
+ },
198
+ {
199
+ type: 'paragraph',
200
+ html: '最終的なデザインを書き出す前に、プロ仕様のシミュレーターを使って以下のリストを確認してください。',
201
+ },
202
+ {
203
+ type: 'list',
204
+ items: [
205
+ '小さなモバイル画面でもテキストは読めますか?',
206
+ '背景とメインの被写体のコントラストは十分ですか?',
207
+ 'ダークモードの黒い背景でもサムネイルは綺麗に見えますか?',
208
+ '動画のタイトルが画像の重要な情報を隠していませんか?',
209
+ '再生時間の表示(黒いボックス)が重要なものを隠していませんか?',
210
+ '顔やメインオブジェクトの表情が縮小サイズでも伝わりますか?',
211
+ ],
212
+ },
213
+ {
214
+ type: 'title',
215
+ text: '高インパクトなサムネイルの構造',
216
+ level: 3,
217
+ },
218
+ {
219
+ type: 'paragraph',
220
+ html: '世界トップクラスのチャンネルの分析に基づくと、勝ち筋のサムネイルは通常、以下のような構造パターンに従っています。',
221
+ },
222
+ {
223
+ type: 'grid',
224
+ columns: [
225
+ {
226
+ title: 'メインの被写体',
227
+ body: '注意を引く主役 ・ 輪郭をはっきりさせ、わずかな境界線や彩度の調整を活用。',
228
+ },
229
+ {
230
+ title: 'テキスト(最大3単語)',
231
+ body: '瞬時の文脈把握 ・ 太字のサンセリフ体と補色を使用。',
232
+ },
233
+ {
234
+ title: 'ぼかした背景',
235
+ body: '平面の分離 ・ 奥行きを加え、メインの被写体が画面から「飛び出す」ように演出。',
236
+ },
237
+ {
238
+ title: '再生時間スペース',
239
+ body: 'ミスを避ける ・ 右下隅に顔やテキストを配置しない。',
240
+ },
241
+ ],
242
+ },
243
+ {
244
+ type: 'tip',
245
+ title: 'デッドゾーンのトリック',
246
+ html: '<p>YouTubeは常にサムネイルの右下隅にビデオの長さを表示する黒いボックスを配置します。何千ものクリエイターがそのゾーンに重要な要素を置いてしまい、アプリで隠れてしまうという失敗をしています。当ツールはこのボックスをシミュレートするので、最高のショットが隠れる心配はありません。</p>',
247
+ },
248
+ {
249
+ type: 'title',
250
+ text: 'ツールの利点と制限事項',
251
+ level: 3,
252
+ },
253
+ {
254
+ type: 'grid',
255
+ columns: [
256
+ {
257
+ title: '超高速で反応の良いインターフェース',
258
+ body: '制限:画像編集機能はありません(CanvaやPSを使用してください)',
259
+ },
260
+ {
261
+ title: '正確なアプリおよびWebのモックアップ',
262
+ body: '制限:プレロール広告のシミュレートは行いません',
263
+ },
264
+ {
265
+ title: '無料で煩わしい広告なし',
266
+ body: '制限:ローカルファイルのみをサポート',
267
+ },
268
+ ],
269
+ },
270
+ {
271
+ type: 'title',
272
+ text: '「スプリット」モード(直接比較)の活用',
273
+ level: 3,
274
+ },
275
+ {
276
+ type: 'paragraph',
277
+ html: 'これは目玉機能です。スプリットモードを有効にすると、ライトモードとダークモードの両方での見え方を同時に確認できます。カラーパレットがどんな設定でも通用するか、あるいは明るさやコントラストの調整が必要かを判断する決定的な方法です。',
278
+ },
279
+ {
280
+ type: 'title',
281
+ text: 'プライバシー:デザインはクラウドへ送信されません',
282
+ level: 3,
283
+ },
284
+ {
285
+ type: 'paragraph',
286
+ html: '公開前のサムネイルは、ローンチに向けた重要な戦略の一部であることを私たちは理解しています。そのため、このツールはブラウザエンジン内のみで動作するように設計されています。<strong>インターネットへのアップロードは行われません</strong>。選択したファイルは一時的なローカルURLで読み込まれ、タブを閉じると消去されます。知的財産は100%あなたの管理下にあります。',
287
+ },
288
+ {
289
+ type: 'title',
290
+ text: '結論:完璧なピクセルを保証',
291
+ level: 3,
292
+ },
293
+ {
294
+ type: 'paragraph',
295
+ html: '推測はやめて、検証を始めましょう。JJLMoyaの<strong>YouTubeサムネイルプレビュー</strong>は、アマチュアのクリエイターとプロの制作陣を分かつ無料ツールです。フォントサイズや被写体の位置を少し調整するだけで、埋もれてしまう動画と、バズる動画の分かれ道になります。',
296
+ },
297
+ {
298
+ type: 'paragraph',
299
+ html: '今すぐチャンネルの最適化を始め、動画にふさわしいクリック率を与えましょう!',
300
+ },
301
+ ],
302
+ ui: {
303
+ dropFeedTitle: 'サムネイルをドラッグ',
304
+ dropFeedSub: 'PNG, JPG or WebP ・ 複数画像に対応',
305
+ dropAvatarTitle: 'アバターをドラッグ',
306
+ dropAvatarSub: 'チャンネルのプロフィール画像',
307
+ labelTitle: '動画タイトル',
308
+ labelChannel: 'チャンネル名',
309
+ defaultTitle: 'ここに動画タイトルを入力',
310
+ defaultChannel: 'チャンネル名',
311
+ btnDesktop: 'デスクトップ',
312
+ btnMobile: 'モバイル',
313
+ btnClear: 'クリア',
314
+ labelLight: 'ライト',
315
+ labelDark: 'ダーク',
316
+ views0: '120万回視聴 ・ 1時間前',
317
+ views1: '45分前',
318
+ views2: '25万回視聴 ・ 1日前',
319
+ views3: '310万回視聴 ・ 1週間前',
320
+ },
321
+ };