@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-extractor';
6
+ const title = 'YouTube サムネイル保存・抽出 (HD対応)';
7
+ const description =
8
+ 'YouTube動画のURLを入力するだけで、オリジナルのサムネイル画像を最高解像度(1080p/720p)で抽出・ダウンロードできます。透かしなしで保存可能です。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '抽出されるサムネイルの解像度はどれくらいですか?',
13
+ answer:
14
+ "このツールは、動画投稿者がアップロードした最高品質の状態である 'MaxRes'(1280x720 または 1920x1080)の取得を常に試みます。HD解像度のサムネイルがアップロードされていない場合は、利用可能な次の高解像度が自動的に表示されます。",
15
+ },
16
+ {
17
+ question: 'どのようなURL形式に対応していますか?',
18
+ answer:
19
+ '通常の youtube.com/watch 形式に加え、短縮URLの youtu.be、モバイル版リンク、さらには YouTube ショート(Shorts)のURLにも完全対応しています。',
20
+ },
21
+ {
22
+ question: 'YouTubeのサムネイルをダウンロードすることは合法ですか?',
23
+ answer:
24
+ 'はい、個人利用、デザインの参考、パロディ、引用(フェアユース)目的でのダウンロードは完全に合法です。ただし、著作権で保護された画像を純粋に商用目的で使用する場合は、動画のライセンスを確認するなど注意が必要です。',
25
+ },
26
+ {
27
+ question: '1日の利用制限はありますか?',
28
+ answer:
29
+ '月間や日間の制限は一切ありません。このソフトウェアはブラウザ内でURLパターンを解析するクライアントサイド方式を採用しているため、API制限を気にせずお使いいただけます。',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: '動画のURLをコピー',
36
+ text: 'YouTubeを開き、ブラウザのURL欄または「共有」ボタンから動画のリンクをコピーします。',
37
+ },
38
+ {
39
+ name: 'リンクを貼り付け',
40
+ text: '抽出ツールの入力フィールドにURLを入力するか、クリップボードから貼り付けます。',
41
+ },
42
+ {
43
+ name: '画質を選択',
44
+ text: 'ツールが最高画質(1080p/720p)から低画質まで、利用可能なすべての解像度を表示します。',
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: 'JPY' },
83
+ inLanguage: 'ja',
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 クリエイター アカデミー: 効果的なサムネイルの作成',
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: 'YouTube動画のサムネイルを<strong>オリジナルサイズや最高画質(Full HD または 4K)でダウンロード</strong>したい場合、この無料ツールが最も素早い解決策です。インスピレーションを得たり、自作のデザインの参考にしたり、プレゼンテーションで使用するために、あらゆるチャンネルのカバー画像を取得できます。',
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: 'YouTube動画から<strong>画像を取り出すプロセス</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> ダウンロードボタンをクリックして、デバイスに画像を保存します。',
140
+ ],
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: '対応している形式と解像度',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'YouTubeビデオのカバーダウンロードが、かつてないほど簡単になりました。このツールは、YouTuberがPhotoshopなどで作成した高品質なデザインである<strong>maxresdefault</strong>(最大解像度の画像)を自動的に検索します。HD画像がアップロードされていない場合は、次に最適なオプション(<strong>hqdefault</strong> や <strong>mqdefault</strong>)を提供します。',
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'このユーティリティは、コミュニティマネージャー、グラフィックデザイナー、コンテンツクリエイター、またはプロジェクトで<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>グラフィックデザイナーやSNSマネージャーにとって、YouTubeのサムネイルに素早くアクセスできることは、プレゼンテーションや競合分析において不可欠です。</p><ul><li><strong>クライアント提案:</strong> 競合の実際の事例を提案資料に組み込む。</li><li><strong>ブランド監査:</strong> チャンネルの視覚的な一貫性を評価する。</li><li><strong>ムードボード:</strong> ぼやけたスクリーンショットではなく、高品質なビジュアル素材を収集する。</li></ul>',
176
+ },
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'YouTube ショートへの対応',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'この抽出ツールは、<strong>YouTube ショート</strong>でも完全に動作します。ショート動画には、動画から自動生成される特有の縦長(9:16)フォーマットがあります。当ツールはショートのURL(<code>youtube.com/shorts/ID</code>)を自動認識し、標準の動画と同様に最適なサムネイルを抽出します。',
187
+ },
188
+ {
189
+ type: 'tip',
190
+ title: 'プライバシー保証',
191
+ html: '<p>すべての抽出プロセスはお使いのブラウザ内で行われます。URLやデータが外部サーバーに送信されることはありません。</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: '無効なYouTube URLです。確認してください。',
205
+ imgAlt: 'YouTube HD サムネイル',
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 = 'youtube-thumbnail-extractor';
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
+ '기존의 youtube.com/watch URL, 단축 링크인 youtu.be, 모바일 링크, 그리고 YouTube 쇼츠(Shorts) URL까지 완벽하게 지원합니다.',
20
+ },
21
+ {
22
+ question: 'YouTube 썸네일을 다운로드하는 것이 합법인가요?',
23
+ answer:
24
+ '네, 개인적인 학습, 디자인 참고, 패러디 및 인용(공정 이용) 목적으로 다운로드하는 것은 완전히 합법입니다. 다만, 저작권이 있는 이미지를 순수 상업적 목적으로 사용할 경우 영상의 라이선스를 확인하는 등 주의가 필요합니다.',
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: 'KRW' },
83
+ inLanguage: 'ko',
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 크리에이터 아카데미: 효과적인 썸네일 제작법',
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: 'YouTube 동영상의 썸네일을 <strong>원본 크기나 최고 해상도(Full HD 또는 4K)로 다운로드</strong>해야 한다면, 이 무료 도구가 가장 빠른 해결책입니다. 디자인 영감을 얻거나 자작 디자인 참고용, 또는 프레젠테이션에 사용하기 위해 모든 채널의 커버 이미지를 가져올 수 있습니다.',
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: 'YouTube 영상에서 <strong>사진을 추출하는 과정</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>(최대 해상도 이미지)를 자동으로 찾습니다. 만약 HD 이미지가 없는 경우, 그 다음으로 좋은 옵션(<strong>hqdefault</strong> 또는 <strong>mqdefault</strong>)을 제공합니다.',
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: '이 유틸리티는 커뮤니티 매니저, 그래픽 디자이너, 콘텐츠 크리에이터, 밈 제작자 등 프로젝트를 위해 <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> 이미지를 다운로드하여 포토샵이나 캔바에서 디자인 가이드로 활용합니다.</li><li><strong>인스피레이션 아카이브:</strong> 전환율이 높은 썸네일 라이브러리를 구축합니다.</li></ul>',
171
+ },
172
+ {
173
+ type: 'card',
174
+ title: '디자이너 및 마케터',
175
+ html: '<p>그래픽 디자이너나 소셜 미디어 매니저에게 YouTube 썸네일에 빠르게 접근하는 것은 제안서 작성, 고객 브리핑, 시각적 감사를 위해 필수적입니다.</p><ul><li><strong>고객 제안서:</strong> 제안서에 경쟁사의 실제 사례 이미지를 포함시켜 설득력을 높입니다.</li><li><strong>브랜드 점검:</strong> 특정 채널의 시각적 일관성을 평가합니다.</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 쇼츠</strong>에서도 완벽하게 작동합니다. 쇼츠는 영상에서 자동으로 생성되는 특유의 세로형(9:16) 썸네일 형식을 가집니다. 본 도구는 쇼츠 URL(<code>youtube.com/shorts/ID</code>)을 인식하여 일반 영상과 마찬가지로 최상의 썸네일을 추출해냅니다.',
187
+ },
188
+ {
189
+ type: 'tip',
190
+ title: '개인정보 보호 보장',
191
+ html: '<p>모든 추출 과정은 사용자의 브라우저 내에서 이루어집니다. URL이나 어떤 데이터도 외부 서버로 전송되지 않습니다.</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: '유효하지 않은 YouTube URL입니다. 다시 확인해 주세요.',
205
+ imgAlt: 'YouTube HD 썸네일',
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 = 'youtube-thumbnail-ophalen-hd';
6
+ const title = 'YouTube Thumbnail Downloader (HD)';
7
+ const description =
8
+ 'Extraheer en download de originele miniatuurafbeelding van elke YouTube-video in maximale resolutie en zonder watermerken met alleen de URL.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Op welke resolutie worden de thumbnails geëxtraheerd?',
13
+ answer:
14
+ "De tool probeert altijd de afbeelding te verkrijgen in 'MaxRes' resolutie (1280x720 of 1920x1080), wat de originele kwaliteit is die door de maker van de video is geüpload. Als de auteur geen HD-thumbnail heeft geüpload, wordt automatisch de eerstvolgende hoogst beschikbare resolutie getoond.",
15
+ },
16
+ {
17
+ question: 'Welke soorten links worden ondersteund?',
18
+ answer:
19
+ 'Het ondersteunt traditionele youtube.com/watch URL\'s, korte youtu.be links, mobiele links en zelfs YouTube Shorts URL\'s op een transparante manier.',
20
+ },
21
+ {
22
+ question: 'Is het legaal om YouTube-thumbnails te downloaden?',
23
+ answer:
24
+ 'Ja, downloaden is volledig legaal voor persoonlijk gebruik, ontwerp, parodieën en inspiratie (Fair Use). Wees voorzichtig als je thumbnails die door auteursrecht zijn beschermd gaat gebruiken voor puur commerciële doeleinden; in die gevallen is het belangrijk om de licentie van de video te controleren.',
25
+ },
26
+ {
27
+ question: 'Is er een dagelijkse gebruikslimiet?',
28
+ answer:
29
+ 'Er zijn geen maandelijkse of dagelijkse limieten. Omdat deze software aan de client-zijde werkt door het URL-patroon intern in je browser op te lossen, hebben we geen interactie met de traditionele beperkende API\'s.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Kopieer de video-URL',
36
+ text: 'Ga naar YouTube en kopieer de link van de video vanuit de browserbalk of via de deelknop.',
37
+ },
38
+ {
39
+ name: 'Plak de link',
40
+ text: 'Voer de URL in het veld van de extractor in of gebruik de plakknop vanaf het klembord.',
41
+ },
42
+ {
43
+ name: 'Selecteer de kwaliteit',
44
+ text: 'De tool toont alle beschikbare resoluties, van maximale kwaliteit (1080p) tot de laagste.',
45
+ },
46
+ {
47
+ name: 'Download de afbeelding',
48
+ text: 'Klik op de downloadknop om de thumbnail op je apparaat op te slaan.',
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: 'nl',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<YoutubeThumbnailUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faqTitle: 'Veelgestelde Vragen',
91
+ faq: faqData,
92
+ bibliographyTitle: 'Documentatie en Referenties',
93
+ bibliography: [
94
+ {
95
+ name: 'YouTube Help: Een aangepaste miniatuurafbeelding toevoegen',
96
+ url: 'https://support.google.com/youtube/answer/72431',
97
+ },
98
+ {
99
+ name: 'YouTube Creator Academy: Hoe maak je effectieve thumbnails',
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 Gratis Downloaden in HD',
113
+ level: 2,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Als je de <strong>thumbnail van een YouTube-video wilt downloaden</strong> in zijn originele formaat of maximale kwaliteit (Full HD of 4K), dan is deze gratis tool de snelste oplossing. Je kunt de omslagfoto van elk kanaal verkrijgen ter inspiratie, om je eigen ontwerpen te maken of om te gebruiken in presentaties.',
118
+ },
119
+ {
120
+ type: 'tip',
121
+ title: 'Omslagfoto Extraheren zonder Programma\'s',
122
+ html: '<p>Het is niet nodig om software te installeren of je te registreren. Je hoeft alleen maar de link van de video te kopiëren en te plakken en je kunt de <strong>YouTube thumbnail direct opslaan</strong> op je computer of mobiel.</p>',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Hoe krijg je de thumbnail van een YouTube-video?',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Het proces om de <strong>foto van een YouTube-video te halen</strong> is heel eenvoudig. Volg deze stappen om de afbeelding in seconden te verkrijgen:',
132
+ },
133
+ {
134
+ type: 'list',
135
+ items: [
136
+ '<strong>1. Kopieer de URL:</strong> Ga naar YouTube en kopieer de link van de video (vanuit de browserbalk of via de deelknop).',
137
+ '<strong>2. Plak de link:</strong> Voer de URL in het zoekveld van onze thumbnail extractor in.',
138
+ '<strong>3. Selecteer de kwaliteit:</strong> We tonen je alle beschikbare resoluties, van maximale kwaliteit (1080p) tot de laagste (360p).',
139
+ '<strong>4. Download de afbeelding:</strong> Klik op de downloadknop om de <i>thumbnail</i> op je apparaat op te slaan.',
140
+ ],
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Ondersteunde Formaten en Resoluties',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'paragraph',
149
+ html: 'Omslagfoto\'s van YouTube-video\'s downloaden was nog nooit zo makkelijk. De tool zoekt automatisch naar de best mogelijke afbeelding (bekend als <strong>maxresdefault</strong>), wat meestal ontwerpen zijn die door YouTubers in Photoshop zijn gemaakt. Als de maker geen afbeelding in HD heeft geüpload, geven we je de eerstvolgende beste optie (<strong>hqdefault</strong> of <strong>mqdefault</strong>).',
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Deze tool is perfect voor <i>Community Managers</i>, grafisch ontwerpers, content creators, meme-makers of iedereen die de <strong>cover van een video</strong> nodig heeft voor hun projecten. Bovendien is het compatibel met <strong>YouTube Shorts</strong>, dus je kunt hun thumbnails op dezelfde manier verkrijgen.',
154
+ },
155
+ {
156
+ type: 'title',
157
+ text: 'Professioneel Gebruik van YouTube Thumbnails',
158
+ level: 2,
159
+ },
160
+ {
161
+ type: 'paragraph',
162
+ html: 'YouTube thumbnails zijn visuele activa van hoge waarde. Ze vertegenwoordigen uren aan ontwerpwerk, A/B-tests en CTR-optimalisatie door de makers. Weten hoe je ze kunt benaderen en downloaden opent een scala aan professionele mogelijkheden.',
163
+ },
164
+ {
165
+ type: 'grid',
166
+ columns: [
167
+ {
168
+ type: 'card',
169
+ title: 'Content Creators',
170
+ html: '<p>Analyseer de thumbnails van virale video\'s in jouw niche om te begrijpen welke visuele elementen meer klikken genereren: typografie, dominante kleuren, gebruik van gezichten of tekst.</p><ul><li><strong>Visuele benchmarking:</strong> Vergelijk jouw thumbnails met die van de leiders in jouw sector.</li><li><strong>Ontwerp-iteratie:</strong> Download en gebruik thumbnails als referentie in Photoshop of Canva.</li><li><strong>Inspiratie-archief:</strong> Bouw een bibliotheek op van thumbnails met een hoge conversie.</li></ul>',
171
+ },
172
+ {
173
+ type: 'card',
174
+ title: 'Ontwerpers en Marketeers',
175
+ html: '<p>Voor een grafisch ontwerper of een <i>social media manager</i> is snelle toegang tot YouTube thumbnails essentieel voor presentaties, klantvoorstellen en visuele audits.</p><ul><li><strong>Klantpresentaties:</strong> Voeg echte screenshots van de concurrentie toe aan je voorstellen.</li><li><strong>Merk-audits:</strong> Evalueer de visuele consistentie van een YouTube-kanaal.</li><li><strong>Mood boards:</strong> Verzamel visuele referenties van hoge kwaliteit zonder wazige screenshots.</li></ul>',
176
+ },
177
+ ],
178
+ },
179
+ {
180
+ type: 'title',
181
+ text: 'Compatibiliteit met YouTube Shorts',
182
+ level: 3,
183
+ },
184
+ {
185
+ type: 'paragraph',
186
+ html: 'De extractor werkt perfect met <strong>YouTube Shorts</strong>. Shorts hebben hun eigen verticale thumbnail-formaat (9:16) dat automatisch vanuit de video wordt gegenereerd. Deze tool herkent de URL\'s van Shorts (<code>youtube.com/shorts/ID</code>) en extraheert de beste beschikbare thumbnail op dezelfde manier als bij standaard video\'s.',
187
+ },
188
+ {
189
+ type: 'tip',
190
+ title: 'Gegarandeerde Privacy',
191
+ html: '<p>De gehele extractie vindt plaats in je browser. Er worden geen URL\'s of gegevens naar een externe server verzonden.</p>',
192
+ },
193
+ ],
194
+ ui: {
195
+ urlPlaceholder: 'Plak de YouTube-link hier...',
196
+ pasteAriaLabel: 'Plakken vanaf klembord',
197
+ helperText: 'Ondersteunde formaten: youtube.com, youtu.be, shorts.',
198
+ ribbonLabel: 'Maximale Kwaliteit',
199
+ downloadBtn: 'Downloaden in Maximale Resolutie',
200
+ qualityMedium: 'Gemiddelde Kwaliteit',
201
+ qualityStandard: 'Standaard Kwaliteit',
202
+ qualityLow: 'Lage Kwaliteit',
203
+ viewImage: 'Bekijk Afbeelding',
204
+ errorInvalid: 'Ongeldige YouTube URL. Controleer deze a.u.b.',
205
+ imgAlt: 'YouTube HD Thumbnail',
206
+ },
207
+ };