@jjlmoya/utils-converters 1.25.0 → 1.27.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/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_translation_completeness.test.ts +18 -12
  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 { AvifAWebpLocaleContent } from '../index';
5
-
6
- const slug = 'avif-to-webp-converter';
7
- const title = 'AVIFをWebPにオンラインで変換';
8
- const description =
9
- '互換性を高めるためにAVIF画像をWebPに変換します。サーバーを介さないローカル処理。無料でプライベート、かつ無制限に使用できます。';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'AVIFファイルをドラッグ...',
13
- convertText: '即座にWebPに変換します',
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 { AvifAWebpLocaleContent } from '../index';
5
+
6
+ const slug = 'avif-to-webp-converter';
7
+ const title = 'AVIFをWebPにオンラインで変換';
8
+ const description =
9
+ '互換性を高めるためにAVIF画像をWebPに変換します。サーバーを介さないローカル処理。無料でプライベート、かつ無制限に使用できます。';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'AVIFファイルをドラッグ...',
13
+ convertText: '即座にWebPに変換します',
14
+ selectFiles: 'ファイルを選択',
15
+ processedFiles: '処理済みファイル',
16
+ downloadAll: 'すべてダウンロード (.zip)',
17
17
  pending: '待機中',
18
- bibliographyTitle: '参考文献',
19
- faqTitle: 'よくある質問',
20
- };
21
-
22
- const faq: AvifAWebpLocaleContent['faq'] = [
23
- {
24
- question: 'WebPへの変換と他の形式との実際の違いは何ですか?',
25
- answer:
26
- 'WebPは両方の長所を兼ね備えています。JPGのように驚異的な圧縮を実現しながら、PNGのようにきれいな透明度を保持する能力を備えています。AVIFをWebPに変更することで、すべての利点を保ちながらウェブへの互換性を最大化できます。',
27
- },
28
- {
29
- question: 'サーバーなしで、どのようにして素早く変更できるのですか?',
30
- answer:
31
- '内蔵のデコードモジュールとJavaScript HTML5 Imageオブジェクトを活用しています。これにより、ローカルメモリ内でAVIFを読み込み、最適化されたWebPファイルを記録的な速さで抽出できます。',
32
- },
33
- {
34
- question: '現在、WebP形式には完全な互換性がありますか?',
35
- answer:
36
- '誕生したばかりのAVIFとは異なり、WebP形式はChrome、Firefox、Safariなどのブラウザ間で非常に幅広いサポートを受けています。',
37
- },
38
- ];
39
-
40
- const howTo: AvifAWebpLocaleContent['howTo'] = [
41
- {
42
- name: '写真ファイルを挿入',
43
- text: 'すべてのAVIF形式の選択内容を当サイトのキャンバスに移動させてください。',
44
- },
45
- {
46
- name: 'アルゴリズムによるバイト変換',
47
- text: '当サイトのエンジンは、何もアップロードせずにアルゴリズムを処理し、圧縮されたWebPに基づいた正確な反復を作成します。',
48
- },
49
- {
50
- name: '準備が整ったダウンロードを収集',
51
- text: 'パネルを押して、ZIP形式または個別のファイルで受け取り、直接公開してください。',
52
- },
53
- ];
54
-
55
- const seo: AvifAWebpLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'AVIF-WebPコンバーター:ウェブ向けのモダンで安全な選択肢',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'AVIFは、現在利用可能な最も高度な画像形式です。WebPよりも小さく、JPGよりも小さく、優れた視覚品質を備えています。しかし、その普及状況は一様ではありません。Safariは2024年までそれをサポートせず、多くの古いモバイルデバイスはそれを認識しません。対照的に、WebPは95%以上の世界的なサポートを受けており、長年最新のウェブ標準として確立されています。互換性を損なうことなく最新性を必要とする場合、AVIFをWebPに変換することは実用的な決定です。',
64
- },
65
- {
66
- type: 'title',
67
- text: 'AVIF vs WebP:最新 vs 最も安全',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'AVIFは、現在利用可能な最高の圧縮を提供します。同じ品質で通常WebPよりも20〜30%小さくなります。AV1に基づくそのテクノロジーは、業界で最もモダンなものです。しかし、AVIFのサポートにはまだ不十分な点があります。古いSafariバージョン、一部の古いAndroidブラウザ、および特定のデスクトップ画像プレーヤーでは認識されません。幅広い多様なユーザーを抱えるウェブ制作にとって、これはリスクを伴います。',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'WebPのサポート履歴ははるかに強固です。Chromeは2010年に採用し、FirefoxとEdgeがそれに続き、Safariは2020年に組み込みました。ブラウザにおける世界的なカバー率が95%を超えるWebPは、代替形式を提供したくないあらゆるウェブサイトにとって安全な選択です。透明度、非可逆および可逆圧縮をサポートし、JPGやPNGよりもはるかに小さなファイルを生成します。',
77
- },
78
- {
79
- type: 'title',
80
- text: '比較:クラウドコンバーターと当サイトのローカルアーキテクチャ',
81
- level: 3,
82
- },
83
- {
84
- type: 'comparative',
85
- items: [
86
- {
87
- title: 'クラウドコンバーター',
88
- description: '処理のためにAVIFファイルをリモートサーバーにアップロードするツール。',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'プライベート画像が外部サーバーを通過する',
93
- 'ワークフローを遅らせるネットワーク遅延が発生する',
94
- '無料変換あたりのファイル数に制限がある',
95
- '変更される可能性のあるサードパーティサービスに依存する',
96
- ],
97
- },
98
- {
99
- title: '当サイトのローカルアーキテクチャ',
100
- description: 'Vanilla JSテクノロジーとCanvas APIを使用してブラウザで直接処理。',
101
- icon: 'mdi:laptop-mac',
102
- highlight: true,
103
- points: [
104
- '完全なプライバシー:0バイトがデバイスから外部へ出ません',
105
- 'ネットワーク依存のない即時の速度',
106
- 'ファイルサイズやファイル数に制限なし',
107
- 'インターネット接続なしで動作可能',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'ブラウザにおける技術的な変換の仕組み',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'Chrome、Firefox、およびEdgeには、ネイティブのAVIFデコーダーが含まれています。ファイルを読み込むと、ブラウザの画像エンジンがアルファチャンネル情報を保持しながらRAM内でデコードします。画像は、透明度を正しく保持する2Dコンテキストを使用して、不可視のHTML5 <code>Canvas</code>上に描画されます。',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'エクスポートは <code>toBlob(\'image/webp\', quality)</code> で行われます。ブラウザは内部でWebP圧縮アルゴリズムを適用し、元の画像にアルファチャンネルがある場合はそれを含むBlobを生成します。このBlobは、直接ダウンロードリンクに変換されます。プロセス全体は、外部サーバーとの通信なしで数マイクロ秒で完了します。',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'WebP:モダンな開発者の実用的な選択',
128
- html: 'WebPには95%以上のブラウザサポートがあります。AVIFは成長していますが、まだその数値には達していません。アダプティブ形式検出が行われていない本番サイトにとって、WebPはほぼすべてのユーザーをカバーする安全な選択です。AVIFをWebPに変換して、自信を持って最新の画像を提供しましょう。',
129
- },
130
- {
131
- type: 'title',
132
- text: '使用例:AVIFよりもWebPを選択すべき時',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- '2020年以降のブラウザのサポートをポリフィルなしで必要とするウェブサイト。',
140
- 'WebPは受け入れるがAVIFは受け入れないCDNおよび画像配信システム。',
141
- 'AVIFをサポートしていない可能性があるWebViewを備えたハイブリッドモバイルアプリ。',
142
- 'WebPがAVIFよりもサポートが高い最新のHTMLメール。',
143
- 'WebP画像サポートが確立されているCMSプラットフォームおよびEコマース。',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: '結論:互換性が保証された最新性',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'AVIFは画像圧縮の最先端ですが、WebPはモダンなウェブエコシステムにおいて信頼できる普遍的な選択肢です。当ツールを使用すれば、最新のものから最もサポートされているものへ一瞬で変換できます。サーバーへ何もアップロードせず、完全なプライバシーを保ち、サイズ制限もありません。',
154
- },
155
- ];
156
-
157
-
158
- export const content: AvifAWebpLocaleContent = {
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: AvifAWebpLocaleContent['faq'] = [
23
+ {
24
+ question: 'WebPへの変換と他の形式との実際の違いは何ですか?',
25
+ answer:
26
+ 'WebPは両方の長所を兼ね備えています。JPGのように驚異的な圧縮を実現しながら、PNGのようにきれいな透明度を保持する能力を備えています。AVIFをWebPに変更することで、すべての利点を保ちながらウェブへの互換性を最大化できます。',
27
+ },
28
+ {
29
+ question: 'サーバーなしで、どのようにして素早く変更できるのですか?',
30
+ answer:
31
+ '内蔵のデコードモジュールとJavaScript HTML5 Imageオブジェクトを活用しています。これにより、ローカルメモリ内でAVIFを読み込み、最適化されたWebPファイルを記録的な速さで抽出できます。',
32
+ },
33
+ {
34
+ question: '現在、WebP形式には完全な互換性がありますか?',
35
+ answer:
36
+ '誕生したばかりのAVIFとは異なり、WebP形式はChrome、Firefox、Safariなどのブラウザ間で非常に幅広いサポートを受けています。',
37
+ },
38
+ ];
39
+
40
+ const howTo: AvifAWebpLocaleContent['howTo'] = [
41
+ {
42
+ name: '写真ファイルを挿入',
43
+ text: 'すべてのAVIF形式の選択内容を当サイトのキャンバスに移動させてください。',
44
+ },
45
+ {
46
+ name: 'アルゴリズムによるバイト変換',
47
+ text: '当サイトのエンジンは、何もアップロードせずにアルゴリズムを処理し、圧縮されたWebPに基づいた正確な反復を作成します。',
48
+ },
49
+ {
50
+ name: '準備が整ったダウンロードを収集',
51
+ text: 'パネルを押して、ZIP形式または個別のファイルで受け取り、直接公開してください。',
52
+ },
53
+ ];
54
+
55
+ const seo: AvifAWebpLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'AVIF-WebPコンバーター:ウェブ向けのモダンで安全な選択肢',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'AVIFは、現在利用可能な最も高度な画像形式です。WebPよりも小さく、JPGよりも小さく、優れた視覚品質を備えています。しかし、その普及状況は一様ではありません。Safariは2024年までそれをサポートせず、多くの古いモバイルデバイスはそれを認識しません。対照的に、WebPは95%以上の世界的なサポートを受けており、長年最新のウェブ標準として確立されています。互換性を損なうことなく最新性を必要とする場合、AVIFをWebPに変換することは実用的な決定です。',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'AVIF vs WebP:最新 vs 最も安全',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'AVIFは、現在利用可能な最高の圧縮を提供します。同じ品質で通常WebPよりも20〜30%小さくなります。AV1に基づくそのテクノロジーは、業界で最もモダンなものです。しかし、AVIFのサポートにはまだ不十分な点があります。古いSafariバージョン、一部の古いAndroidブラウザ、および特定のデスクトップ画像プレーヤーでは認識されません。幅広い多様なユーザーを抱えるウェブ制作にとって、これはリスクを伴います。',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'WebPのサポート履歴ははるかに強固です。Chromeは2010年に採用し、FirefoxとEdgeがそれに続き、Safariは2020年に組み込みました。ブラウザにおける世界的なカバー率が95%を超えるWebPは、代替形式を提供したくないあらゆるウェブサイトにとって安全な選択です。透明度、非可逆および可逆圧縮をサポートし、JPGやPNGよりもはるかに小さなファイルを生成します。',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: '比較:クラウドコンバーターと当サイトのローカルアーキテクチャ',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'comparative',
85
+ items: [
86
+ {
87
+ title: 'クラウドコンバーター',
88
+ description: '処理のためにAVIFファイルをリモートサーバーにアップロードするツール。',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'プライベート画像が外部サーバーを通過する',
93
+ 'ワークフローを遅らせるネットワーク遅延が発生する',
94
+ '無料変換あたりのファイル数に制限がある',
95
+ '変更される可能性のあるサードパーティサービスに依存する',
96
+ ],
97
+ },
98
+ {
99
+ title: '当サイトのローカルアーキテクチャ',
100
+ description: 'Vanilla JSテクノロジーとCanvas APIを使用してブラウザで直接処理。',
101
+ icon: 'mdi:laptop-mac',
102
+ highlight: true,
103
+ points: [
104
+ '完全なプライバシー:0バイトがデバイスから外部へ出ません',
105
+ 'ネットワーク依存のない即時の速度',
106
+ 'ファイルサイズやファイル数に制限なし',
107
+ 'インターネット接続なしで動作可能',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'ブラウザにおける技術的な変換の仕組み',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Chrome、Firefox、およびEdgeには、ネイティブのAVIFデコーダーが含まれています。ファイルを読み込むと、ブラウザの画像エンジンがアルファチャンネル情報を保持しながらRAM内でデコードします。画像は、透明度を正しく保持する2Dコンテキストを使用して、不可視のHTML5 <code>Canvas</code>上に描画されます。',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'エクスポートは <code>toBlob(\'image/webp\', quality)</code> で行われます。ブラウザは内部でWebP圧縮アルゴリズムを適用し、元の画像にアルファチャンネルがある場合はそれを含むBlobを生成します。このBlobは、直接ダウンロードリンクに変換されます。プロセス全体は、外部サーバーとの通信なしで数マイクロ秒で完了します。',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'WebP:モダンな開発者の実用的な選択',
128
+ html: 'WebPには95%以上のブラウザサポートがあります。AVIFは成長していますが、まだその数値には達していません。アダプティブ形式検出が行われていない本番サイトにとって、WebPはほぼすべてのユーザーをカバーする安全な選択です。AVIFをWebPに変換して、自信を持って最新の画像を提供しましょう。',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: '使用例:AVIFよりもWebPを選択すべき時',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ '2020年以降のブラウザのサポートをポリフィルなしで必要とするウェブサイト。',
140
+ 'WebPは受け入れるがAVIFは受け入れないCDNおよび画像配信システム。',
141
+ 'AVIFをサポートしていない可能性があるWebViewを備えたハイブリッドモバイルアプリ。',
142
+ 'WebPがAVIFよりもサポートが高い最新のHTMLメール。',
143
+ 'WebP画像サポートが確立されているCMSプラットフォームおよびEコマース。',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: '結論:互換性が保証された最新性',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'AVIFは画像圧縮の最先端ですが、WebPはモダンなウェブエコシステムにおいて信頼できる普遍的な選択肢です。当ツールを使用すれば、最新のものから最もサポートされているものへ一瞬で変換できます。サーバーへ何もアップロードせず、完全なプライバシーを保ち、サイズ制限もありません。',
154
+ },
155
+ ];
156
+
157
+
158
+ export const content: AvifAWebpLocaleContent = {
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
+ };