@jjlmoya/utils-converters 1.25.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 (133) 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/tests/bibliography_wellformed_export.test.ts +46 -0
  12. package/src/tests/category_seo_quality.test.ts +74 -0
  13. package/src/tests/faq_count.test.ts +1 -1
  14. package/src/tests/no_h1_in_components.test.ts +1 -1
  15. package/src/tests/seo_parity.test.ts +2 -2
  16. package/src/tests/seo_wellformed_export.test.ts +65 -0
  17. package/src/tests/tool_validation.test.ts +15 -15
  18. package/src/tool/avifAJpg/i18n/en.ts +164 -164
  19. package/src/tool/avifAJpg/i18n/es.ts +164 -164
  20. package/src/tool/avifAJpg/i18n/fr.ts +164 -164
  21. package/src/tool/avifAJpg/i18n/ja.ts +166 -166
  22. package/src/tool/avifAJpg/i18n/ko.ts +166 -166
  23. package/src/tool/avifAJpg/i18n/zh.ts +166 -166
  24. package/src/tool/avifAJpg/seo.astro +15 -15
  25. package/src/tool/avifAPng/i18n/en.ts +164 -164
  26. package/src/tool/avifAPng/i18n/es.ts +164 -164
  27. package/src/tool/avifAPng/i18n/fr.ts +164 -164
  28. package/src/tool/avifAPng/i18n/ja.ts +166 -166
  29. package/src/tool/avifAPng/i18n/ko.ts +166 -166
  30. package/src/tool/avifAPng/i18n/zh.ts +166 -166
  31. package/src/tool/avifAPng/seo.astro +15 -15
  32. package/src/tool/avifAWebp/i18n/en.ts +164 -164
  33. package/src/tool/avifAWebp/i18n/es.ts +164 -164
  34. package/src/tool/avifAWebp/i18n/fr.ts +164 -164
  35. package/src/tool/avifAWebp/i18n/ja.ts +166 -166
  36. package/src/tool/avifAWebp/i18n/ko.ts +166 -166
  37. package/src/tool/avifAWebp/i18n/zh.ts +166 -166
  38. package/src/tool/avifAWebp/seo.astro +15 -15
  39. package/src/tool/bmpAJpg/i18n/en.ts +164 -164
  40. package/src/tool/bmpAJpg/i18n/es.ts +164 -164
  41. package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
  42. package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
  43. package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
  44. package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
  45. package/src/tool/bmpAJpg/seo.astro +15 -15
  46. package/src/tool/bmpAPng/i18n/en.ts +164 -164
  47. package/src/tool/bmpAPng/i18n/es.ts +164 -164
  48. package/src/tool/bmpAPng/i18n/fr.ts +164 -164
  49. package/src/tool/bmpAPng/i18n/ja.ts +165 -165
  50. package/src/tool/bmpAPng/i18n/ko.ts +165 -165
  51. package/src/tool/bmpAPng/i18n/zh.ts +165 -165
  52. package/src/tool/bmpAPng/seo.astro +15 -15
  53. package/src/tool/bmpAWebp/i18n/en.ts +164 -164
  54. package/src/tool/bmpAWebp/i18n/es.ts +164 -164
  55. package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
  56. package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
  57. package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
  58. package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
  59. package/src/tool/bmpAWebp/seo.astro +15 -15
  60. package/src/tool/gifAJpg/i18n/en.ts +164 -164
  61. package/src/tool/gifAJpg/i18n/es.ts +164 -164
  62. package/src/tool/gifAJpg/i18n/fr.ts +164 -164
  63. package/src/tool/gifAJpg/i18n/ja.ts +166 -166
  64. package/src/tool/gifAJpg/i18n/ko.ts +166 -166
  65. package/src/tool/gifAJpg/i18n/zh.ts +166 -166
  66. package/src/tool/gifAJpg/seo.astro +15 -15
  67. package/src/tool/gifAPng/i18n/en.ts +164 -164
  68. package/src/tool/gifAPng/i18n/es.ts +164 -164
  69. package/src/tool/gifAPng/i18n/fr.ts +164 -164
  70. package/src/tool/gifAPng/i18n/ja.ts +166 -166
  71. package/src/tool/gifAPng/i18n/ko.ts +166 -166
  72. package/src/tool/gifAPng/i18n/zh.ts +166 -166
  73. package/src/tool/gifAPng/seo.astro +15 -15
  74. package/src/tool/gifAWebp/i18n/en.ts +164 -164
  75. package/src/tool/gifAWebp/i18n/es.ts +164 -164
  76. package/src/tool/gifAWebp/i18n/fr.ts +164 -164
  77. package/src/tool/gifAWebp/i18n/ja.ts +166 -166
  78. package/src/tool/gifAWebp/i18n/ko.ts +166 -166
  79. package/src/tool/gifAWebp/i18n/zh.ts +166 -166
  80. package/src/tool/gifAWebp/seo.astro +15 -15
  81. package/src/tool/imagenBase64/i18n/en.ts +154 -154
  82. package/src/tool/imagenBase64/i18n/es.ts +154 -154
  83. package/src/tool/imagenBase64/i18n/fr.ts +154 -154
  84. package/src/tool/imagenBase64/seo.astro +15 -15
  85. package/src/tool/jpgAIco/seo.astro +15 -15
  86. package/src/tool/jpgAPng/i18n/en.ts +164 -164
  87. package/src/tool/jpgAPng/i18n/es.ts +164 -164
  88. package/src/tool/jpgAPng/i18n/fr.ts +164 -164
  89. package/src/tool/jpgAPng/i18n/ja.ts +166 -166
  90. package/src/tool/jpgAPng/i18n/ko.ts +166 -166
  91. package/src/tool/jpgAPng/i18n/zh.ts +166 -166
  92. package/src/tool/jpgAPng/seo.astro +15 -15
  93. package/src/tool/jpgAWebp/i18n/en.ts +164 -164
  94. package/src/tool/jpgAWebp/i18n/es.ts +164 -164
  95. package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
  96. package/src/tool/jpgAWebp/seo.astro +15 -15
  97. package/src/tool/pngAIco/seo.astro +15 -15
  98. package/src/tool/pngAJpg/i18n/de.ts +21 -21
  99. package/src/tool/pngAJpg/i18n/es.ts +177 -177
  100. package/src/tool/pngAJpg/i18n/fr.ts +137 -137
  101. package/src/tool/pngAJpg/i18n/id.ts +89 -89
  102. package/src/tool/pngAJpg/i18n/it.ts +89 -89
  103. package/src/tool/pngAJpg/i18n/ko.ts +177 -177
  104. package/src/tool/pngAJpg/i18n/nl.ts +20 -20
  105. package/src/tool/pngAJpg/i18n/pl.ts +89 -89
  106. package/src/tool/pngAJpg/i18n/pt.ts +89 -89
  107. package/src/tool/pngAJpg/i18n/ru.ts +177 -177
  108. package/src/tool/pngAJpg/i18n/sv.ts +89 -89
  109. package/src/tool/pngAJpg/i18n/tr.ts +89 -89
  110. package/src/tool/pngAJpg/seo.astro +15 -15
  111. package/src/tool/pngAWebp/i18n/en.ts +164 -164
  112. package/src/tool/pngAWebp/i18n/es.ts +164 -164
  113. package/src/tool/pngAWebp/i18n/fr.ts +164 -164
  114. package/src/tool/pngAWebp/seo.astro +15 -15
  115. package/src/tool/svgAJpg/i18n/fr.ts +164 -164
  116. package/src/tool/svgAJpg/seo.astro +15 -15
  117. package/src/tool/svgAPng/i18n/fr.ts +164 -164
  118. package/src/tool/svgAPng/seo.astro +15 -15
  119. package/src/tool/webpAIco/seo.astro +15 -15
  120. package/src/tool/webpAJpg/seo.astro +15 -15
  121. package/src/tool/webpAPng/bibliography.ts +13 -13
  122. package/src/tool/webpAPng/i18n/de.ts +166 -166
  123. package/src/tool/webpAPng/i18n/es.ts +171 -171
  124. package/src/tool/webpAPng/i18n/fr.ts +166 -166
  125. package/src/tool/webpAPng/i18n/id.ts +166 -166
  126. package/src/tool/webpAPng/i18n/it.ts +166 -166
  127. package/src/tool/webpAPng/i18n/nl.ts +166 -166
  128. package/src/tool/webpAPng/i18n/pl.ts +166 -166
  129. package/src/tool/webpAPng/i18n/pt.ts +166 -166
  130. package/src/tool/webpAPng/i18n/ru.ts +166 -166
  131. package/src/tool/webpAPng/i18n/sv.ts +166 -166
  132. package/src/tool/webpAPng/i18n/tr.ts +167 -167
  133. 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
+ };