@jjlmoya/utils-converters 1.24.0 → 1.26.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 (134) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/en.ts +1 -1
  4. package/src/category/i18n/fr.ts +1 -1
  5. package/src/category/i18n/id.ts +1 -1
  6. package/src/category/i18n/it.ts +1 -1
  7. package/src/category/i18n/nl.ts +1 -1
  8. package/src/category/i18n/pl.ts +1 -1
  9. package/src/category/i18n/pt.ts +1 -1
  10. package/src/category/i18n/sv.ts +1 -1
  11. package/src/entries.ts +6 -0
  12. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  13. package/src/tests/category_seo_quality.test.ts +74 -0
  14. package/src/tests/faq_count.test.ts +1 -1
  15. package/src/tests/no_h1_in_components.test.ts +1 -1
  16. package/src/tests/seo_parity.test.ts +2 -2
  17. package/src/tests/seo_wellformed_export.test.ts +65 -0
  18. package/src/tests/tool_validation.test.ts +15 -15
  19. package/src/tool/avifAJpg/i18n/en.ts +164 -164
  20. package/src/tool/avifAJpg/i18n/es.ts +164 -164
  21. package/src/tool/avifAJpg/i18n/fr.ts +164 -164
  22. package/src/tool/avifAJpg/i18n/ja.ts +166 -166
  23. package/src/tool/avifAJpg/i18n/ko.ts +166 -166
  24. package/src/tool/avifAJpg/i18n/zh.ts +166 -166
  25. package/src/tool/avifAJpg/seo.astro +15 -15
  26. package/src/tool/avifAPng/i18n/en.ts +164 -164
  27. package/src/tool/avifAPng/i18n/es.ts +164 -164
  28. package/src/tool/avifAPng/i18n/fr.ts +164 -164
  29. package/src/tool/avifAPng/i18n/ja.ts +166 -166
  30. package/src/tool/avifAPng/i18n/ko.ts +166 -166
  31. package/src/tool/avifAPng/i18n/zh.ts +166 -166
  32. package/src/tool/avifAPng/seo.astro +15 -15
  33. package/src/tool/avifAWebp/i18n/en.ts +164 -164
  34. package/src/tool/avifAWebp/i18n/es.ts +164 -164
  35. package/src/tool/avifAWebp/i18n/fr.ts +164 -164
  36. package/src/tool/avifAWebp/i18n/ja.ts +166 -166
  37. package/src/tool/avifAWebp/i18n/ko.ts +166 -166
  38. package/src/tool/avifAWebp/i18n/zh.ts +166 -166
  39. package/src/tool/avifAWebp/seo.astro +15 -15
  40. package/src/tool/bmpAJpg/i18n/en.ts +164 -164
  41. package/src/tool/bmpAJpg/i18n/es.ts +164 -164
  42. package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
  43. package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
  44. package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
  45. package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
  46. package/src/tool/bmpAJpg/seo.astro +15 -15
  47. package/src/tool/bmpAPng/i18n/en.ts +164 -164
  48. package/src/tool/bmpAPng/i18n/es.ts +164 -164
  49. package/src/tool/bmpAPng/i18n/fr.ts +164 -164
  50. package/src/tool/bmpAPng/i18n/ja.ts +165 -165
  51. package/src/tool/bmpAPng/i18n/ko.ts +165 -165
  52. package/src/tool/bmpAPng/i18n/zh.ts +165 -165
  53. package/src/tool/bmpAPng/seo.astro +15 -15
  54. package/src/tool/bmpAWebp/i18n/en.ts +164 -164
  55. package/src/tool/bmpAWebp/i18n/es.ts +164 -164
  56. package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
  57. package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
  58. package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
  59. package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
  60. package/src/tool/bmpAWebp/seo.astro +15 -15
  61. package/src/tool/gifAJpg/i18n/en.ts +164 -164
  62. package/src/tool/gifAJpg/i18n/es.ts +164 -164
  63. package/src/tool/gifAJpg/i18n/fr.ts +164 -164
  64. package/src/tool/gifAJpg/i18n/ja.ts +166 -166
  65. package/src/tool/gifAJpg/i18n/ko.ts +166 -166
  66. package/src/tool/gifAJpg/i18n/zh.ts +166 -166
  67. package/src/tool/gifAJpg/seo.astro +15 -15
  68. package/src/tool/gifAPng/i18n/en.ts +164 -164
  69. package/src/tool/gifAPng/i18n/es.ts +164 -164
  70. package/src/tool/gifAPng/i18n/fr.ts +164 -164
  71. package/src/tool/gifAPng/i18n/ja.ts +166 -166
  72. package/src/tool/gifAPng/i18n/ko.ts +166 -166
  73. package/src/tool/gifAPng/i18n/zh.ts +166 -166
  74. package/src/tool/gifAPng/seo.astro +15 -15
  75. package/src/tool/gifAWebp/i18n/en.ts +164 -164
  76. package/src/tool/gifAWebp/i18n/es.ts +164 -164
  77. package/src/tool/gifAWebp/i18n/fr.ts +164 -164
  78. package/src/tool/gifAWebp/i18n/ja.ts +166 -166
  79. package/src/tool/gifAWebp/i18n/ko.ts +166 -166
  80. package/src/tool/gifAWebp/i18n/zh.ts +166 -166
  81. package/src/tool/gifAWebp/seo.astro +15 -15
  82. package/src/tool/imagenBase64/i18n/en.ts +154 -154
  83. package/src/tool/imagenBase64/i18n/es.ts +154 -154
  84. package/src/tool/imagenBase64/i18n/fr.ts +154 -154
  85. package/src/tool/imagenBase64/seo.astro +15 -15
  86. package/src/tool/jpgAIco/seo.astro +15 -15
  87. package/src/tool/jpgAPng/i18n/en.ts +164 -164
  88. package/src/tool/jpgAPng/i18n/es.ts +164 -164
  89. package/src/tool/jpgAPng/i18n/fr.ts +164 -164
  90. package/src/tool/jpgAPng/i18n/ja.ts +166 -166
  91. package/src/tool/jpgAPng/i18n/ko.ts +166 -166
  92. package/src/tool/jpgAPng/i18n/zh.ts +166 -166
  93. package/src/tool/jpgAPng/seo.astro +15 -15
  94. package/src/tool/jpgAWebp/i18n/en.ts +164 -164
  95. package/src/tool/jpgAWebp/i18n/es.ts +164 -164
  96. package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
  97. package/src/tool/jpgAWebp/seo.astro +15 -15
  98. package/src/tool/pngAIco/seo.astro +15 -15
  99. package/src/tool/pngAJpg/i18n/de.ts +21 -21
  100. package/src/tool/pngAJpg/i18n/es.ts +177 -177
  101. package/src/tool/pngAJpg/i18n/fr.ts +137 -137
  102. package/src/tool/pngAJpg/i18n/id.ts +89 -89
  103. package/src/tool/pngAJpg/i18n/it.ts +89 -89
  104. package/src/tool/pngAJpg/i18n/ko.ts +177 -177
  105. package/src/tool/pngAJpg/i18n/nl.ts +20 -20
  106. package/src/tool/pngAJpg/i18n/pl.ts +89 -89
  107. package/src/tool/pngAJpg/i18n/pt.ts +89 -89
  108. package/src/tool/pngAJpg/i18n/ru.ts +177 -177
  109. package/src/tool/pngAJpg/i18n/sv.ts +89 -89
  110. package/src/tool/pngAJpg/i18n/tr.ts +89 -89
  111. package/src/tool/pngAJpg/seo.astro +15 -15
  112. package/src/tool/pngAWebp/i18n/en.ts +164 -164
  113. package/src/tool/pngAWebp/i18n/es.ts +164 -164
  114. package/src/tool/pngAWebp/i18n/fr.ts +164 -164
  115. package/src/tool/pngAWebp/seo.astro +15 -15
  116. package/src/tool/svgAJpg/i18n/fr.ts +164 -164
  117. package/src/tool/svgAJpg/seo.astro +15 -15
  118. package/src/tool/svgAPng/i18n/fr.ts +164 -164
  119. package/src/tool/svgAPng/seo.astro +15 -15
  120. package/src/tool/webpAIco/seo.astro +15 -15
  121. package/src/tool/webpAJpg/seo.astro +15 -15
  122. package/src/tool/webpAPng/bibliography.ts +13 -13
  123. package/src/tool/webpAPng/i18n/de.ts +166 -166
  124. package/src/tool/webpAPng/i18n/es.ts +171 -171
  125. package/src/tool/webpAPng/i18n/fr.ts +166 -166
  126. package/src/tool/webpAPng/i18n/id.ts +166 -166
  127. package/src/tool/webpAPng/i18n/it.ts +166 -166
  128. package/src/tool/webpAPng/i18n/nl.ts +166 -166
  129. package/src/tool/webpAPng/i18n/pl.ts +166 -166
  130. package/src/tool/webpAPng/i18n/pt.ts +166 -166
  131. package/src/tool/webpAPng/i18n/ru.ts +166 -166
  132. package/src/tool/webpAPng/i18n/sv.ts +166 -166
  133. package/src/tool/webpAPng/i18n/tr.ts +167 -167
  134. package/src/tool/webpAPng/seo.astro +15 -15
@@ -1,168 +1,168 @@
1
1
  import { bibliography } from '../bibliography';
2
- import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
3
- import { generateSchemas } from '../../../shared/logic/schemas';
4
- import type { GifAJpgLocaleContent } from '../index';
5
-
6
- const slug = 'gif-to-jpg-converter';
7
- const title = 'GIFをJPGにオンラインで変換';
8
- const description =
9
- 'GIFファイルから最初のフレームを抽出してJPGに変換します。サーバーを介さず、ブラウザ内でローカル処理を行います。無料で無制限に使用できます。';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'GIFファイルをドラッグ...',
13
- convertText: '即座にJPGに変換します',
14
- selectFiles: 'ファイルを選択',
15
- processedFiles: '処理済みファイル',
16
- downloadAll: 'すべてダウンロード (.zip)',
2
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
3
+ import { generateSchemas } from '../../../shared/logic/schemas';
4
+ import type { GifAJpgLocaleContent } from '../index';
5
+
6
+ const slug = 'gif-to-jpg-converter';
7
+ const title = 'GIFをJPGにオンラインで変換';
8
+ const description =
9
+ 'GIFファイルから最初のフレームを抽出してJPGに変換します。サーバーを介さず、ブラウザ内でローカル処理を行います。無料で無制限に使用できます。';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'GIFファイルをドラッグ...',
13
+ convertText: '即座にJPGに変換します',
14
+ selectFiles: 'ファイルを選択',
15
+ processedFiles: '処理済みファイル',
16
+ downloadAll: 'すべてダウンロード (.zip)',
17
17
  pending: '待機中',
18
- bibliographyTitle: '参考文献',
19
- faqTitle: 'よくある質問',
20
- };
21
-
22
- const faq: GifAJpgLocaleContent['faq'] = [
23
- {
24
- question: 'JPGに変換するとアニメーションはどうなりますか?',
25
- answer:
26
- 'JPG形式は静止画専用であり、複数のフレームをサポートしていません。当コンバーターは、GIFシーケンスの最初の画像(フレーム)のみを抽出します。',
27
- },
28
- {
29
- question: '特殊効果や透明な背景は失われますか?',
30
- answer:
31
- 'はい、これはJPG標準の仕様です。透明な背景を持つGIFを読み込んだ場合、色の崩れを防ぐために、背景に自動的に白の塗りつぶしレイヤーを挿入します。',
32
- },
33
- {
34
- question: 'コンテンツが保存されることなく、GIFからJPGを抽出できますか?',
35
- answer:
36
- 'もちろんです。このツールはHTML5のCanvasを利用したウェブアプリです。すべてのデコード処理は、お客様自身のデバイスのプロセッサで実行されます。',
37
- },
38
- ];
39
-
40
- const howTo: GifAJpgLocaleContent['howTo'] = [
41
- {
42
- name: '動く重いファイルをドラッグ',
43
- text: 'フォルダから変換したいGIFを選択し、処理ボックスへドラッグ&ドロップしてください。',
44
- },
45
- {
46
- name: '最初のフレームをクリーンに抽出',
47
- text: '一瞬でアニメーションを抽出し、サーバーを経由せずに白背景のJPGを作成します。',
48
- },
49
- {
50
- name: 'ZIPパッケージでまとめて取得',
51
- text: '個別ダウンロード、または大量のファイルを処理した場合はZIP形式でまとめて取得してください。',
52
- },
53
- ];
54
-
55
- const seo: GifAJpgLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'GIFからJPGへのコンバーター:フレームを高品質な画像として抽出',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'GIFファイルは何十年もの間、インターネット上の短いアニメーションの世界を支配してきました。しかし、そのアニメーションという性質上、サムネイルやSNSのプレビュー、文書用の画像としては不便な場合があります。特定のフレームを高品質な静止画として抽出したい場合、JPGへの変換が最も実用的で互換性の高い解決策です。',
64
- },
65
- {
66
- type: 'title',
67
- text: 'GIFそれともJPG?対照的な目的を持つ形式',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'GIF(Graphics Interchange Format)は、1フレームあたり256色しか表現できないという厳しい制限のもと、1987年に設計されました。この制限は色数の少ないシンプルなアニメーションでは問題ありませんでしたが、実写写真のような表現には不向きでした。一方、JPGは高度な圧縮アルゴリズムにより、数百万色を表現できます。',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'GIFからフレームを抽出してJPGとして保存することは、ビデオプレーヤーのサムネイル生成、コンテンツ管理プラットフォーム用のプレビュー作成、プレゼン用の静止画取得、複雑なアニメーションの一瞬をアーカイブするなど、多くの用途があります。結果として得られるJPGは、元のGIFよりもはるかに軽量で、汎用性が高いものになります。',
77
- },
78
- {
79
- type: 'title',
80
- text: 'アーキテクチャの比較:ローカル vs クラウド',
81
- level: 3,
82
- },
83
- {
84
- type: 'comparative',
85
- items: [
86
- {
87
- title: 'クラウドコンバーター',
88
- description: '処理のためにファイルをリモートサーバーにアップロードするツール。',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'あなたのGIFがインターネット経由で第三者のサーバーに送信される',
93
- 'アップロードとダウンロードにネットワーク遅延が発生する',
94
- 'セッションごとのサイズやファイル数に制限がある',
95
- '他人のサーバーにデータが保持されるリスク',
96
- ],
97
- },
98
- {
99
- title: '当サイトのローカルアーキテクチャ',
100
- description: 'Vanilla JSテクノロジーを使用してハードウェア上で直接処理。',
101
- icon: 'mdi:laptop-mac',
102
- highlight: true,
103
- points: [
104
- 'GIFがデバイスから離れることはありません',
105
- 'ネットワークの待ち時間なしで即座に処理が完了',
106
- 'サイズ制限やファイル数制限なし',
107
- '完全なプライバシー:外部へのデータ送信なし',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'フレーム抽出の仕組み',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'ローカル変換は、HTML5のCanvas APIの性能に支えられています。GIFを読み込むと、ブラウザはメモリ内でそれをネイティブのImage要素としてデコードします。不可視のキャンバス上でレンダリングすることにより、ブラウザのグラフィックエンジンが自動的にアニメーションシーケンスの最初のフレームをキャプチャします。',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'JPG形式は透明度をサポートしていないため、当アルゴリズムは書き出し前に白の背景を適用します。キャンバスの<code>toDataURL(\'image/jpeg\')</code>メソッドは、ネットワーク接続なしで、お客様のコンピュータのRAM内に直接JPGバイトストリームを生成します。結果のファイルは即座にお手元のデバイスに保存されます。',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'GIFの限定されたカラーパレット',
128
- html: 'GIFは1フレームあたり256色しか保持できません。抽出されたJPGは、元のGIFの限定されたパレットを継承します。そのため、グラデーションや写真が含まれるGIFの場合、色の境界が目立つポスタリゼーションが起こる可能性があります。最高の結果を得るには、シンプルな色使いのGIFやイラストを使用することをお勧めします。',
129
- },
130
- {
131
- type: 'title',
132
- text: '変換後のJPGの使用例と互換性',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'ビデオプラットフォームやCMS用のサムネイルおよびプレビュー。',
140
- 'ソーシャルネットワーク投稿用のカバー画像。',
141
- 'Word、PowerPoint、PDFドキュメントへの挿入。',
142
- 'プレゼン資料やマーケティング素材。',
143
- 'Windows, macOS, モバイル端末のビューアーでの高い互換性。',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: '結論:アニメーション以上の価値を持つ1フレーム',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: '2 MBのアニメーションGIFから、解像度にもよりますが、わずか50〜200 KBの高品質な静止画JPGを生成できます。当ツールは、サーバーを介さずにお客様のブラウザ内で即座に、プライベートに、そして無制限にこの変換を実行します。アカウント作成や待ち時間は不要です。',
154
- },
155
- ];
156
-
157
-
158
- export const content: GifAJpgLocaleContent = {
159
- slug,
160
- title,
161
- description,
162
- ui,
163
- seo,
164
- faq,
165
- bibliography,
166
- howTo,
167
- schemas: generateSchemas({ title, description, inLanguage: 'ja', faq, howTo }),
168
- };
18
+ bibliographyTitle: '参考文献',
19
+ faqTitle: 'よくある質問',
20
+ };
21
+
22
+ const faq: GifAJpgLocaleContent['faq'] = [
23
+ {
24
+ question: 'JPGに変換するとアニメーションはどうなりますか?',
25
+ answer:
26
+ 'JPG形式は静止画専用であり、複数のフレームをサポートしていません。当コンバーターは、GIFシーケンスの最初の画像(フレーム)のみを抽出します。',
27
+ },
28
+ {
29
+ question: '特殊効果や透明な背景は失われますか?',
30
+ answer:
31
+ 'はい、これはJPG標準の仕様です。透明な背景を持つGIFを読み込んだ場合、色の崩れを防ぐために、背景に自動的に白の塗りつぶしレイヤーを挿入します。',
32
+ },
33
+ {
34
+ question: 'コンテンツが保存されることなく、GIFからJPGを抽出できますか?',
35
+ answer:
36
+ 'もちろんです。このツールはHTML5のCanvasを利用したウェブアプリです。すべてのデコード処理は、お客様自身のデバイスのプロセッサで実行されます。',
37
+ },
38
+ ];
39
+
40
+ const howTo: GifAJpgLocaleContent['howTo'] = [
41
+ {
42
+ name: '動く重いファイルをドラッグ',
43
+ text: 'フォルダから変換したいGIFを選択し、処理ボックスへドラッグ&ドロップしてください。',
44
+ },
45
+ {
46
+ name: '最初のフレームをクリーンに抽出',
47
+ text: '一瞬でアニメーションを抽出し、サーバーを経由せずに白背景のJPGを作成します。',
48
+ },
49
+ {
50
+ name: 'ZIPパッケージでまとめて取得',
51
+ text: '個別ダウンロード、または大量のファイルを処理した場合はZIP形式でまとめて取得してください。',
52
+ },
53
+ ];
54
+
55
+ const seo: GifAJpgLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'GIFからJPGへのコンバーター:フレームを高品質な画像として抽出',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'GIFファイルは何十年もの間、インターネット上の短いアニメーションの世界を支配してきました。しかし、そのアニメーションという性質上、サムネイルやSNSのプレビュー、文書用の画像としては不便な場合があります。特定のフレームを高品質な静止画として抽出したい場合、JPGへの変換が最も実用的で互換性の高い解決策です。',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'GIFそれともJPG?対照的な目的を持つ形式',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'GIF(Graphics Interchange Format)は、1フレームあたり256色しか表現できないという厳しい制限のもと、1987年に設計されました。この制限は色数の少ないシンプルなアニメーションでは問題ありませんでしたが、実写写真のような表現には不向きでした。一方、JPGは高度な圧縮アルゴリズムにより、数百万色を表現できます。',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'GIFからフレームを抽出してJPGとして保存することは、ビデオプレーヤーのサムネイル生成、コンテンツ管理プラットフォーム用のプレビュー作成、プレゼン用の静止画取得、複雑なアニメーションの一瞬をアーカイブするなど、多くの用途があります。結果として得られるJPGは、元のGIFよりもはるかに軽量で、汎用性が高いものになります。',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'アーキテクチャの比較:ローカル vs クラウド',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'comparative',
85
+ items: [
86
+ {
87
+ title: 'クラウドコンバーター',
88
+ description: '処理のためにファイルをリモートサーバーにアップロードするツール。',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'あなたのGIFがインターネット経由で第三者のサーバーに送信される',
93
+ 'アップロードとダウンロードにネットワーク遅延が発生する',
94
+ 'セッションごとのサイズやファイル数に制限がある',
95
+ '他人のサーバーにデータが保持されるリスク',
96
+ ],
97
+ },
98
+ {
99
+ title: '当サイトのローカルアーキテクチャ',
100
+ description: 'Vanilla JSテクノロジーを使用してハードウェア上で直接処理。',
101
+ icon: 'mdi:laptop-mac',
102
+ highlight: true,
103
+ points: [
104
+ 'GIFがデバイスから離れることはありません',
105
+ 'ネットワークの待ち時間なしで即座に処理が完了',
106
+ 'サイズ制限やファイル数制限なし',
107
+ '完全なプライバシー:外部へのデータ送信なし',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'フレーム抽出の仕組み',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'ローカル変換は、HTML5のCanvas APIの性能に支えられています。GIFを読み込むと、ブラウザはメモリ内でそれをネイティブのImage要素としてデコードします。不可視のキャンバス上でレンダリングすることにより、ブラウザのグラフィックエンジンが自動的にアニメーションシーケンスの最初のフレームをキャプチャします。',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'JPG形式は透明度をサポートしていないため、当アルゴリズムは書き出し前に白の背景を適用します。キャンバスの<code>toDataURL(\'image/jpeg\')</code>メソッドは、ネットワーク接続なしで、お客様のコンピュータのRAM内に直接JPGバイトストリームを生成します。結果のファイルは即座にお手元のデバイスに保存されます。',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'GIFの限定されたカラーパレット',
128
+ html: 'GIFは1フレームあたり256色しか保持できません。抽出されたJPGは、元のGIFの限定されたパレットを継承します。そのため、グラデーションや写真が含まれるGIFの場合、色の境界が目立つポスタリゼーションが起こる可能性があります。最高の結果を得るには、シンプルな色使いのGIFやイラストを使用することをお勧めします。',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: '変換後のJPGの使用例と互換性',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'ビデオプラットフォームやCMS用のサムネイルおよびプレビュー。',
140
+ 'ソーシャルネットワーク投稿用のカバー画像。',
141
+ 'Word、PowerPoint、PDFドキュメントへの挿入。',
142
+ 'プレゼン資料やマーケティング素材。',
143
+ 'Windows, macOS, モバイル端末のビューアーでの高い互換性。',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: '結論:アニメーション以上の価値を持つ1フレーム',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: '2 MBのアニメーションGIFから、解像度にもよりますが、わずか50〜200 KBの高品質な静止画JPGを生成できます。当ツールは、サーバーを介さずにお客様のブラウザ内で即座に、プライベートに、そして無制限にこの変換を実行します。アカウント作成や待ち時間は不要です。',
154
+ },
155
+ ];
156
+
157
+
158
+ export const content: GifAJpgLocaleContent = {
159
+ slug,
160
+ title,
161
+ description,
162
+ ui,
163
+ seo,
164
+ faq,
165
+ bibliography,
166
+ howTo,
167
+ schemas: generateSchemas({ title, description, inLanguage: 'ja', faq, howTo }),
168
+ };