@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 = 'pobieranie-miniaturek-youtube-hd';
6
+ const title = 'Pobieranie Miniaturek z YouTube (HD)';
7
+ const description =
8
+ 'Wyodrębnij i pobierz oryginalną miniaturę z dowolnego filmu na YouTube w maksymalnej rozdzielczości i bez znaków wodnych, używając tylko adresu URL.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'W jakiej rozdzielczości wyodrębniane są miniaturki?',
13
+ answer:
14
+ "Narzędzie zawsze próbuje uzyskać obraz w rozdzielczości 'MaxRes' (1280x720 lub 1920x1080), co jest oryginalną jakością przesłaną przez twórcę filmu. Jeśli autor nie przesłał miniaturki w jakości HD, automatycznie wyświetlona zostanie kolejna najwyższa dostępna rozdzielczość.",
15
+ },
16
+ {
17
+ question: 'Jakie typy linków są obsługiwane?',
18
+ answer:
19
+ 'Obsługuje tradycyjne adresy URL youtube.com/watch, krótkie linki youtu.be, linki mobilne, a nawet adresy URL YouTube Shorts w sposób przejrzysty.',
20
+ },
21
+ {
22
+ question: 'Czy pobieranie miniaturek z YouTube jest legalne?',
23
+ answer:
24
+ 'Tak, pobieranie jest w pełni legalne do użytku osobistego, projektowania, parodii i inspiracji (Fair Use). Zachowaj ostrożność, jeśli zamierzasz używać miniaturek chronionych prawem autorskim do celów czysto komercyjnych; w takich przypadkach ważne jest sprawdzenie licencji filmu.',
25
+ },
26
+ {
27
+ question: 'Czy istnieje dzienny limit użycia?',
28
+ answer:
29
+ 'Nie ma limitów miesięcznych ani dziennych. Ponieważ to oprogramowanie działa po stronie klienta, rozwiązując wzorzec adresu URL wewnętrznie w przeglądarce, nie wchodzimy w interakcję z tradycyjnymi restrykcyjnymi interfejsami API.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Skopiuj adres URL filmu',
36
+ text: 'Przejdź do YouTube i skopiuj link do filmu z paska przeglądarki lub za pomocą przycisku udostępniania.',
37
+ },
38
+ {
39
+ name: 'Wklej link',
40
+ text: 'Wprowadź adres URL w polu ekstraktora lub użyj przycisku wklejania ze schowka.',
41
+ },
42
+ {
43
+ name: 'Wybierz jakość',
44
+ text: 'Narzędzie wyświetli wszystkie dostępne rozdzielczości, od maksymalnej jakości (1080p) do najniższej.',
45
+ },
46
+ {
47
+ name: 'Pobierz obraz',
48
+ text: 'Kliknij przycisk pobierania, aby zapisać miniaturkę na swoim urządzeniu.',
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: 'PLN' },
83
+ inLanguage: 'pl',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Często zadawane pytania',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Dokumentacja i źródła',
93
+ bibliography: [
94
+ {
95
+ name: 'Pomoc YouTube: Dodawanie niestandardowej miniatury filmu',
96
+ url: 'https://support.google.com/youtube/answer/72431',
97
+ },
98
+ {
99
+ name: 'YouTube Creator Academy: Jak tworzyć skuteczne miniaturki',
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: 'Pobieraj Miniaturki z YouTube w HD za darmo',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Jeśli potrzebujesz <strong>pobrać miniaturkę z filmu na YouTube</strong> w jej oryginalnym rozmiarze lub maksymalnej jakości (Full HD lub 4K), to darmowe narzędzie jest najszybszym rozwiązaniem. Możesz uzyskać obraz okładki z dowolnego kanału, aby się zainspirować, stworzyć własne projekty lub wykorzystać go w prezentacjach.',
118
+ },
119
+ {
120
+ type: 'tip',
121
+ title: 'Wyodrębnij Zdjęcie Okładkowe bez Programów',
122
+ html: '<p>Nie trzeba instalować oprogramowania ani się rejestrować. Wystarczy skopiować i wkleić link do filmu, a będziesz mógł <strong>zapisać miniaturkę z YouTube</strong> bezpośrednio na swoim komputerze lub telefonie.</p>',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Jak uzyskać miniaturkę z filmu na YouTube?',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Proces <strong>wyciągania zdjęcia z filmu na YouTube</strong> jest bardzo prosty. Wykonaj poniższe kroki, aby uzyskać obraz w kilka sekund:',
132
+ },
133
+ {
134
+ type: 'list',
135
+ items: [
136
+ '<strong>1. Skopiuj adres URL:</strong> Przejdź do YouTube i skopiuj link do filmu (z paska przeglądarki lub przycisku udostępniania).',
137
+ '<strong>2. Wklej link:</strong> Wprowadź adres URL w polu wyszukiwania naszego ekstraktora miniaturek.',
138
+ '<strong>3. Wybierz jakość:</strong> Pokażemy Ci wszystkie dostępne rozdzielczości, od maksymalnej jakości (1080p) do najniższej (360p).',
139
+ '<strong>4. Pobierz obraz:</strong> Kliknij przycisk pobierania, aby zapisać <i>thumbnail</i> na swoim urządzeniu.',
140
+ ],
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Obsługiwane Formaty i Rozdzielczości',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Pobieranie okładek z filmów na YouTube nigdy nie było tak łatwe. Narzędzie automatycznie szuka najlepszego możliwego obrazu (znanego jako <strong>maxresdefault</strong>), którym zazwyczaj są projekty dopracowane w Photoshopie przez YouTuberów. Jeśli twórca nie przesłał obrazu w jakości HD, damy Ci kolejną najlepszą opcję (<strong>hqdefault</strong> lub <strong>mqdefault</strong>).',
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'To narzędzie jest idealne dla <i>Community Managerów</i>, grafików, twórców treści, twórców memów lub każdego, kto potrzebuje <strong>pobrać okładkę filmu</strong> do swoich projektów. Co więcej, jest kompatybilne z <strong>YouTube Shorts</strong>, więc możesz pobrać ich miniaturki w ten sam sposób.',
154
+ },
155
+ {
156
+ type: 'title',
157
+ text: 'Profesjonalne Zastosowania Miniaturek z YouTube',
158
+ level: 2,
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Miniaturki na YouTube to zasoby wizualne o wysokiej wartości. Reprezentują godziny pracy nad projektem, testy A/B i optymalizację CTR przez twórców. Wiedza o tym, jak uzyskać do nich dostęp i jak je pobierać, otwiera szereg profesjonalnych możliwości.',
163
+ },
164
+ {
165
+ type: 'grid',
166
+ columns: [
167
+ {
168
+ type: 'card',
169
+ title: 'Twórcy Treści',
170
+ html: '<p>Analizuj miniaturki wiralowych filmów w swojej niszy, aby zrozumieć, jakie elementy wizualne generują najwięcej kliknięć: typografia, dominujące kolory, wykorzystanie twarzy lub tekstu.</p><ul><li><strong>Benchmarking wizualny:</strong> Porównuj swoje miniaturki z liderami w Twoim sektorze.</li><li><strong>Iteracja projektu:</strong> Pobieraj i używaj miniaturek jako odniesienia w Photoshopie lub Canvie.</li><li><strong>Archiwum inspiracji:</strong> Buduj bibliotekę miniaturek o wysokiej konwersji.</li></ul>',
171
+ },
172
+ {
173
+ type: 'card',
174
+ title: 'Projektanci i Marketerzy',
175
+ html: '<p>Dla grafika lub <i>social media managera</i> szybki dostęp do miniaturek z YouTube jest niezbędny do prezentacji, ofert dla klientów i audytów wizualnych.</p><ul><li><strong>Prezentacje dla klientów:</strong> Dołączaj prawdziwe zrzuty ekranu konkurencji do swoich ofert.</li><li><strong>Audyty marki:</strong> Oceniaj spójność wizualną kanału na YouTube.</li><li><strong>Moodboardy:</strong> Zbieraj wysokiej jakości referencje wizualne bez rozmytych zrzutów ekranu.</li></ul>',
176
+ },
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'Kompatybilność z YouTube Shorts',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'Ekstraktor działa idealnie z <strong>YouTube Shorts</strong>. Shortsy mają swój własny pionowy format miniaturki (9:16), który jest generowany automatycznie z filmu. To narzędzie rozpoznaje adresy URL Shorts (<code>youtube.com/shorts/ID</code>) i wyodrębnia najlepszą dostępną miniaturkę w taki sam sposób, jak w przypadku standardowych filmów.',
187
+ },
188
+ {
189
+ type: 'tip',
190
+ title: 'Prywatność Gwarantowana',
191
+ html: '<p>Całe wyodrębnianie odbywa się w Twojej przeglądarce. Żadne adresy URL ani dane nie są wysyłane do żadnego zewnętrznego serwera.</p>',
192
+ },
193
+ ],
194
+ ui: {
195
+ urlPlaceholder: 'Wklej link z YouTube tutaj...',
196
+ pasteAriaLabel: 'Wklej ze schowka',
197
+ helperText: 'Obsługiwane formaty: youtube.com, youtu.be, shorts.',
198
+ ribbonLabel: 'Maksymalna Jakość',
199
+ downloadBtn: 'Pobierz w Maksymalnej Rozdzielczości',
200
+ qualityMedium: 'Średnia Jakość',
201
+ qualityStandard: 'Standardowa Jakość',
202
+ qualityLow: 'Niska Jakość',
203
+ viewImage: 'Zobacz Obraz',
204
+ errorInvalid: 'Nieprawidłowy adres URL YouTube. Proszę go sprawdzić.',
205
+ imgAlt: 'Miniaturka HD z 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 = 'descarregar-miniaturas-youtube-hd';
6
+ const title = 'Descarregador de Miniaturas do YouTube (HD)';
7
+ const description =
8
+ 'Extraia e descarregue a imagem em miniatura original de qualquer vídeo do YouTube na resolução máxima e sem marcas de água usando apenas o URL.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Em que resolução são extraídas as miniaturas?',
13
+ answer:
14
+ "A ferramenta tenta sempre obter a imagem na resolução 'MaxRes' (1280x720 ou 1920x1080), que é a qualidade original carregada pelo criador do vídeo. Se o autor não carregou uma miniatura em HD, mostrará automaticamente a resolução mais alta seguinte disponível.",
15
+ },
16
+ {
17
+ question: 'Que tipos de links suporta?',
18
+ answer:
19
+ 'Suporta URLs tradicionais de youtube.com/watch, links curtos de youtu.be, links móveis e até URLs do YouTube Shorts de forma transparente.',
20
+ },
21
+ {
22
+ question: 'É legal descarregar miniaturas do YouTube?',
23
+ answer:
24
+ 'Sim, o descarregamento é completamente legal para uso pessoal, design, paródias e inspiração (Fair Use). Tenha cuidado se pretender utilizar miniaturas protegidas por direitos de autor para fins puramente comerciais; nesses casos, é importante consultar a licença do vídeo.',
25
+ },
26
+ {
27
+ question: 'Existe algum limite de utilização diária?',
28
+ answer:
29
+ 'Não há limites mensais nem diários. Como este software funciona do lado do cliente, resolvendo o padrão do URL internamente no seu navegador, não interagimos com as APIs restritivas tradicionais.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Copie o URL do vídeo',
36
+ text: 'Vá ao YouTube e copie o link do vídeo da barra do navegador ou do botão de partilha.',
37
+ },
38
+ {
39
+ name: 'Cole o link',
40
+ text: 'Introduza o URL no campo do extrator ou utilize o botão para colar da área de transferência.',
41
+ },
42
+ {
43
+ name: 'Selecione a qualidade',
44
+ text: 'A ferramenta mostrará todas as resoluções disponíveis, desde a qualidade máxima (1080p) até à mais baixa.',
45
+ },
46
+ {
47
+ name: 'Descarregue a imagem',
48
+ text: 'Clique no botão de descarregar para guardar a miniatura no seu 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: 'pt',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Perguntas Frequentes',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Documentação e Referências',
93
+ bibliography: [
94
+ {
95
+ name: 'Ajuda do YouTube: Adicionar uma imagem em miniatura personalizada',
96
+ url: 'https://support.google.com/youtube/answer/72431',
97
+ },
98
+ {
99
+ name: 'YouTube Creator Academy: Como criar miniaturas eficazes',
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: 'Descarregar Miniaturas do YouTube em HD Grátis',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Se precisar de <strong>descarregar a miniatura de um vídeo do YouTube</strong> no seu tamanho original ou na qualidade máxima (Full HD ou 4K), esta ferramenta gratuita é a solução mais rápida. Poderá obter a imagem de capa de qualquer canal para se inspirar, criar os seus próprios designs ou utilizá-la em apresentações.',
118
+ },
119
+ {
120
+ type: 'tip',
121
+ title: 'Extrair Foto de Capa sem Programas',
122
+ html: '<p>Não é necessário instalar software nem registar-se. Só tem de copiar e colar o link do vídeo e poderá <strong>guardar a miniatura do YouTube</strong> diretamente no seu computador ou telemóvel.</p>',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Como obter a miniatura de um vídeo do YouTube?',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'O processo para <strong>tirar a foto de um vídeo do YouTube</strong> é muito simples. Siga estes passos para obter a imagem em segundos:',
132
+ },
133
+ {
134
+ type: 'list',
135
+ items: [
136
+ '<strong>1. Copie o URL:</strong> Vá ao YouTube e copie o link do vídeo (seja da barra do navegador ou do botão de partilha).',
137
+ '<strong>2. Cole o link:</strong> Introduza o URL no campo de pesquisa do nosso extrator de miniaturas.',
138
+ '<strong>3. Selecione a qualidade:</strong> Mostraremos todas as resoluções disponíveis, desde a qualidade máxima (1080p) até à mais baixa (360p).',
139
+ '<strong>4. Descarregue a imagem:</strong> Clique no botão de descarregar para guardar a <i>thumbnail</i> no seu dispositivo.',
140
+ ],
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Formatos e Resoluções Suportados',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Descarregar capas de vídeos do YouTube nunca foi tão fácil. A ferramenta procura automaticamente a melhor imagem possível (conhecida como <strong>maxresdefault</strong>), que costumam ser designs trabalhados em Photoshop pelos YouTubers. Se o criador não carregou uma imagem em HD, daremos a opção seguinte melhor (<strong>hqdefault</strong> ou <strong>mqdefault</strong>).',
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Esta utilidade é perfeita para <i>Community Managers</i>, designers gráficos, criadores de conteúdo, criadores de memes ou qualquer pessoa que precise de <strong>descarregar a capa de um vídeo</strong> para os seus projetos. Além disso, é compatível com os <strong>YouTube Shorts</strong>, pelo que também poderá obter as suas miniaturas da mesma forma.',
154
+ },
155
+ {
156
+ type: 'title',
157
+ text: 'Usos Profissionais das Miniaturas do YouTube',
158
+ level: 2,
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'As miniaturas do YouTube são ativos visuais de alto valor. Representam horas de trabalho de design, testes A/B e otimização de CTR por parte dos criadores. Saber como aceder a elas e descarregá-las abre um leque de possibilidades profissionais.',
163
+ },
164
+ {
165
+ type: 'grid',
166
+ columns: [
167
+ {
168
+ type: 'card',
169
+ title: 'Criadores de Conteúdo',
170
+ html: '<p>Analise as miniaturas de vídeos virais no seu nicho para entender que elementos visuais geram mais cliques: tipografia, cores dominantes, uso de rostos ou texto.</p><ul><li><strong>Benchmarking visual:</strong> Compare as suas miniaturas com as dos líderes do seu setor.</li><li><strong>Iteração de design:</strong> Descarregue e use miniaturas como referência no Photoshop ou Canva.</li><li><strong>Arquivo de inspiração:</strong> Construa uma biblioteca de thumbnails de alta conversão.</li></ul>',
171
+ },
172
+ {
173
+ type: 'card',
174
+ title: 'Designers e Marketers',
175
+ html: '<p>Para um designer gráfico ou um <i>social media manager</i>, aceder rapidamente às miniaturas do YouTube é essencial para apresentações, propostas de cliente e auditorias visuais.</p><ul><li><strong>Apresentações de cliente:</strong> Inclua capturas reais da concorrência nas suas propostas.</li><li><strong>Auditorias de marca:</strong> Avalie a coerência visual de um canal do YouTube.</li><li><strong>Moodboards:</strong> Reúna referências visuais de alta qualidade sem capturas de ecrã desfocadas.</li></ul>',
176
+ },
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'Compatibilidade com YouTube Shorts',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'O extrator funciona perfeitamente com os <strong>YouTube Shorts</strong>. Os Shorts têm o seu próprio formato de miniatura vertical (9:16) que é gerado automaticamente a partir do vídeo. Esta ferramenta reconhece os URLs de Shorts (<code>youtube.com/shorts/ID</code>) e extrai a melhor miniatura disponível da mesma forma que nos vídeos padrão.',
187
+ },
188
+ {
189
+ type: 'tip',
190
+ title: 'Privacidade Garantida',
191
+ html: '<p>Toda a extração ocorre no seu navegador. Não são enviados URLs nem dados para nenhum servidor externo.</p>',
192
+ },
193
+ ],
194
+ ui: {
195
+ urlPlaceholder: 'Cole o link do YouTube aqui...',
196
+ pasteAriaLabel: 'Colar da área de transferência',
197
+ helperText: 'Formatos suportados: youtube.com, youtu.be, shorts.',
198
+ ribbonLabel: 'Qualidade Máxima',
199
+ downloadBtn: 'Descarregar na Resolução Máxima',
200
+ qualityMedium: 'Qualidade Média',
201
+ qualityStandard: 'Qualidade Estágio',
202
+ qualityLow: 'Qualidade Baixa',
203
+ viewImage: 'Ver Imagem',
204
+ errorInvalid: 'URL do YouTube inválido. Por favor, verifique-o.',
205
+ imgAlt: 'Miniatura HD do 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 = 'skachat-znachki-youtube-hd';
6
+ const title = 'Загрузчик значков YouTube (HD)';
7
+ const description =
8
+ 'Извлекайте и скачивайте оригинальные значки (миниатюры) любого видео YouTube в максимальном разрешении и без водяных знаков, используя только URL-адрес.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'В каком разрешении извлекаются значки?',
13
+ answer:
14
+ "Инструмент всегда пытается получить изображение в разрешении 'MaxRes' (1280x720 или 1920x1080), что является оригинальным качеством, загруженным автором видео. Если автор не загрузил значок в формате HD, автоматически будет показано следующее максимально доступное разрешение.",
15
+ },
16
+ {
17
+ question: 'Какие типы ссылок поддерживаются?',
18
+ answer:
19
+ 'Поддерживаются традиционные URL-адреса youtube.com/watch, короткие ссылки youtu.be, мобильные ссылки и даже ссылки на YouTube Shorts.',
20
+ },
21
+ {
22
+ question: 'Законно ли скачивать значки YouTube?',
23
+ answer:
24
+ 'Да, скачивание полностью законно для личного использования, дизайна, пародий и вдохновения (Fair Use). Будьте осторожны, если собираетесь использовать защищенные авторским правом значки в чисто коммерческих целях; в таких случаях важно проверить лицензию видео.',
25
+ },
26
+ {
27
+ question: 'Есть ли ежедневный лимит использования?',
28
+ answer:
29
+ 'Лимитов нет. Поскольку это программное обеспечение работает на стороне клиента, анализируя URL-адрес внутри вашего браузера, мы не взаимодействуем с традиционными ограничительными API.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Скопируйте URL видео',
36
+ text: 'Перейдите на YouTube и скопируйте ссылку на видео из адресной строки браузера или с помощью кнопки «Поделиться».',
37
+ },
38
+ {
39
+ name: 'Вставьте ссылку',
40
+ text: 'Введите URL-адрес в поле загрузчика или используйте кнопку вставки из буфера обмена.',
41
+ },
42
+ {
43
+ name: 'Выберите качество',
44
+ text: 'Инструмент покажет все доступные разрешения, от максимального качества (1080p) до самого низкого.',
45
+ },
46
+ {
47
+ name: 'Скачайте изображение',
48
+ text: 'Нажмите кнопку загрузки, чтобы сохранить значок на своем устройстве.',
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: 'RUB' },
83
+ inLanguage: 'ru',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Часто задаваемые вопросы',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Документация и источники',
93
+ bibliography: [
94
+ {
95
+ name: 'Справка YouTube: Как добавить персонализированный значок видео',
96
+ url: 'https://support.google.com/youtube/answer/72431',
97
+ },
98
+ {
99
+ name: 'YouTube Creator Academy: Как создавать эффектные значки',
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 в HD бесплатно',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Если вам нужно <strong>скачать значок YouTube видео</strong> в оригинальном размере или максимальном качестве (Full HD или 4K), этот бесплатный инструмент станет самым быстрым решением. Вы сможете получить изображение обложки любого канала для вдохновения, создания собственных дизайнов или использования в презентациях.',
118
+ },
119
+ {
120
+ type: 'tip',
121
+ title: 'Извлечь фото обложки без программ',
122
+ html: '<p>Нет необходимости устанавливать программное обеспечение или регистрироваться. Вам просто нужно скопировать и вставить ссылку на видео, и вы сможете <strong>сохранить значок YouTube</strong> прямо на свой компьютер или мобильный телефон.</p>',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Как получить значок видео YouTube?',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Процесс <strong>извлечения фото из видео YouTube</strong> очень прост. Выполните следующие действия, чтобы получить изображение за считанные секунды:',
132
+ },
133
+ {
134
+ type: 'list',
135
+ items: [
136
+ '<strong>1. Скопируйте URL:</strong> Перейдите на YouTube и скопируйте ссылку на видео (из адресной строки или через кнопку «Поделиться»).',
137
+ '<strong>2. Вставьте ссылку:</strong> Введите URL-адрес в поле поиска нашего загрузчика значков.',
138
+ '<strong>3. Выберите качество:</strong> Мы покажем вам все доступные разрешения, от максимального качества (1080p) до самого низкого (360p).',
139
+ '<strong>4. Скачайте изображение:</strong> Нажмите кнопку загрузки, чтобы сохранить <i>значок</i> на своем устройстве.',
140
+ ],
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Поддерживаемые форматы и разрешения',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Скачивание обложек видео YouTube еще никогда не было таким простым. Инструмент автоматически ищет наилучшее возможное изображение (известное как <strong>maxresdefault</strong>), которое обычно представляет собой дизайн, созданный в Photoshop ютуберами. Если автор не загрузил изображение в формате HD, мы предложим вам следующий лучший вариант (<strong>hqdefault</strong> или <strong>mqdefault</strong>).',
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Эта утилита идеально подходит для <i>комьюнити-менеджеров</i>, графических дизайнеров, создателей контента, мемоделов или тех, кому нужно <strong>скачать обложку видео</strong> для своих проектов. Кроме того, она совместима с <strong>YouTube Shorts</strong>, поэтому вы также сможете получать их значки аналогичным образом.',
154
+ },
155
+ {
156
+ type: 'title',
157
+ text: 'Профессиональное использование значков YouTube',
158
+ level: 2,
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'Значки YouTube — это ценные визуальные активы. Они представляют собой часы дизайнерской работы, A/B-тестирования и оптимизации CTR со стороны авторов. Знание того, как получить к ним доступ и скачать их, открывает целый спектр профессиональных возможностей.',
163
+ },
164
+ {
165
+ type: 'grid',
166
+ columns: [
167
+ {
168
+ type: 'card',
169
+ title: 'Создатели контента',
170
+ html: '<p>Анализируйте значки вирусных видео в вашей нише, чтобы понять, какие визуальные элементы генерируют больше кликов: типографика, доминирующие цвета, использование лиц или текста.</p><ul><li><strong>Визуальный бенчмаркинг:</strong> Сравнивайте свои значки со значками лидеров в вашем секторе.</li><li><strong>Итерация дизайна:</strong> Скачивайте и используйте значки в качестве образца в Photoshop или Canva.</li><li><strong>Архив вдохновения:</strong> Создайте библиотеку значков с высокой конверсией.</li></ul>',
171
+ },
172
+ {
173
+ type: 'card',
174
+ title: 'Дизайнеры и маркетологи',
175
+ html: '<p>Для графического дизайнера или <i>SMM-менеджера</i> быстрый доступ к значкам YouTube необходим для презентаций, предложений клиентам и визуальных аудитов.</p><ul><li><strong>Клиентские презентации:</strong> Включайте реальные скриншоты конкурентов в свои предложения.</li><li><strong>Бренд-аудит:</strong> Оценивайте визуальную согласованность канала YouTube.</li><li><strong>Мудборды:</strong> Собирайте высококачественные визуальные референсы без размытых скриншотов.</li></ul>',
176
+ },
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'Совместимость с YouTube Shorts',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'Загрузчик отлично работает с <strong>YouTube Shorts</strong>. У Shorts есть свой собственный вертикальный формат значков (9:16), который автоматически создается из видео. Этот инструмент распознает URL-адреса Shorts (<code>youtube.com/shorts/ID</code>) и извлекает лучший доступный значок точно так же, как и для стандартных видео.',
187
+ },
188
+ {
189
+ type: 'tip',
190
+ title: 'Конфиденциальность гарантирована',
191
+ html: '<p>Все извлечение происходит в вашем браузере. Ссылки и данные не отправляются на внешние серверы.</p>',
192
+ },
193
+ ],
194
+ ui: {
195
+ urlPlaceholder: 'Вставьте ссылку YouTube здесь...',
196
+ pasteAriaLabel: 'Вставить из буфера обмена',
197
+ helperText: 'Поддерживаемые форматы: youtube.com, youtu.be, shorts.',
198
+ ribbonLabel: 'Максимальное качество',
199
+ downloadBtn: 'Скачать в макс. разрешении',
200
+ qualityMedium: 'Среднее качество',
201
+ qualityStandard: 'Стандартное качество',
202
+ qualityLow: 'Низкое качество',
203
+ viewImage: 'Просмотреть изображение',
204
+ errorInvalid: 'Неверный URL-адрес YouTube. Пожалуйста, проверьте его.',
205
+ imgAlt: 'YouTube HD значок',
206
+ },
207
+ };