@jjlmoya/utils-converters 1.7.0 → 1.8.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.
- package/package.json +60 -59
- package/src/shared/logic/schemas.ts +57 -0
- package/src/tests/faq_count.test.ts +13 -4
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/seo_length.test.ts +1 -1
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/avifAJpg/i18n/de.ts +178 -0
- package/src/tool/avifAJpg/i18n/en.ts +2 -12
- package/src/tool/avifAJpg/i18n/es.ts +2 -12
- package/src/tool/avifAJpg/i18n/fr.ts +2 -12
- package/src/tool/avifAJpg/i18n/id.ts +178 -0
- package/src/tool/avifAJpg/i18n/it.ts +178 -0
- package/src/tool/avifAJpg/i18n/ja.ts +178 -0
- package/src/tool/avifAJpg/i18n/ko.ts +178 -0
- package/src/tool/avifAJpg/i18n/nl.ts +178 -0
- package/src/tool/avifAJpg/i18n/pl.ts +178 -0
- package/src/tool/avifAJpg/i18n/pt.ts +178 -0
- package/src/tool/avifAJpg/i18n/ru.ts +178 -0
- package/src/tool/avifAJpg/i18n/sv.ts +178 -0
- package/src/tool/avifAJpg/i18n/tr.ts +178 -0
- package/src/tool/avifAJpg/i18n/zh.ts +178 -0
- package/src/tool/avifAJpg/index.ts +13 -1
- package/src/tool/avifAPng/i18n/de.ts +178 -0
- package/src/tool/avifAPng/i18n/en.ts +2 -12
- package/src/tool/avifAPng/i18n/es.ts +2 -12
- package/src/tool/avifAPng/i18n/fr.ts +2 -12
- package/src/tool/avifAPng/i18n/id.ts +178 -0
- package/src/tool/avifAPng/i18n/it.ts +178 -0
- package/src/tool/avifAPng/i18n/ja.ts +178 -0
- package/src/tool/avifAPng/i18n/ko.ts +178 -0
- package/src/tool/avifAPng/i18n/nl.ts +178 -0
- package/src/tool/avifAPng/i18n/pl.ts +178 -0
- package/src/tool/avifAPng/i18n/pt.ts +178 -0
- package/src/tool/avifAPng/i18n/ru.ts +178 -0
- package/src/tool/avifAPng/i18n/sv.ts +178 -0
- package/src/tool/avifAPng/i18n/tr.ts +178 -0
- package/src/tool/avifAPng/i18n/zh.ts +178 -0
- package/src/tool/avifAPng/index.ts +13 -1
- package/src/tool/avifAWebp/i18n/de.ts +178 -0
- package/src/tool/avifAWebp/i18n/en.ts +2 -12
- package/src/tool/avifAWebp/i18n/es.ts +2 -12
- package/src/tool/avifAWebp/i18n/fr.ts +2 -12
- package/src/tool/avifAWebp/i18n/id.ts +178 -0
- package/src/tool/avifAWebp/i18n/it.ts +178 -0
- package/src/tool/avifAWebp/i18n/ja.ts +178 -0
- package/src/tool/avifAWebp/i18n/ko.ts +178 -0
- package/src/tool/avifAWebp/i18n/nl.ts +178 -0
- package/src/tool/avifAWebp/i18n/pl.ts +178 -0
- package/src/tool/avifAWebp/i18n/pt.ts +178 -0
- package/src/tool/avifAWebp/i18n/ru.ts +178 -0
- package/src/tool/avifAWebp/i18n/sv.ts +178 -0
- package/src/tool/avifAWebp/i18n/tr.ts +178 -0
- package/src/tool/avifAWebp/i18n/zh.ts +178 -0
- package/src/tool/avifAWebp/index.ts +13 -1
- package/src/tool/bmpAJpg/i18n/de.ts +178 -0
- package/src/tool/bmpAJpg/i18n/en.ts +2 -12
- package/src/tool/bmpAJpg/i18n/es.ts +2 -12
- package/src/tool/bmpAJpg/i18n/fr.ts +2 -12
- package/src/tool/bmpAJpg/i18n/id.ts +178 -0
- package/src/tool/bmpAJpg/i18n/it.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ja.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ko.ts +178 -0
- package/src/tool/bmpAJpg/i18n/nl.ts +178 -0
- package/src/tool/bmpAJpg/i18n/pl.ts +178 -0
- package/src/tool/bmpAJpg/i18n/pt.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ru.ts +178 -0
- package/src/tool/bmpAJpg/i18n/sv.ts +178 -0
- package/src/tool/bmpAJpg/i18n/tr.ts +178 -0
- package/src/tool/bmpAJpg/i18n/zh.ts +178 -0
- package/src/tool/bmpAJpg/index.ts +13 -1
- package/src/tool/bmpAPng/i18n/de.ts +177 -0
- package/src/tool/bmpAPng/i18n/en.ts +2 -12
- package/src/tool/bmpAPng/i18n/es.ts +2 -12
- package/src/tool/bmpAPng/i18n/fr.ts +2 -12
- package/src/tool/bmpAPng/i18n/id.ts +177 -0
- package/src/tool/bmpAPng/i18n/it.ts +177 -0
- package/src/tool/bmpAPng/i18n/ja.ts +177 -0
- package/src/tool/bmpAPng/i18n/ko.ts +177 -0
- package/src/tool/bmpAPng/i18n/nl.ts +177 -0
- package/src/tool/bmpAPng/i18n/pl.ts +177 -0
- package/src/tool/bmpAPng/i18n/pt.ts +177 -0
- package/src/tool/bmpAPng/i18n/ru.ts +177 -0
- package/src/tool/bmpAPng/i18n/sv.ts +177 -0
- package/src/tool/bmpAPng/i18n/tr.ts +177 -0
- package/src/tool/bmpAPng/i18n/zh.ts +177 -0
- package/src/tool/bmpAPng/index.ts +13 -1
- package/src/tool/bmpAWebp/i18n/de.ts +178 -0
- package/src/tool/bmpAWebp/i18n/en.ts +2 -12
- package/src/tool/bmpAWebp/i18n/es.ts +2 -12
- package/src/tool/bmpAWebp/i18n/fr.ts +2 -12
- package/src/tool/bmpAWebp/i18n/id.ts +178 -0
- package/src/tool/bmpAWebp/i18n/it.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ja.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ko.ts +178 -0
- package/src/tool/bmpAWebp/i18n/nl.ts +178 -0
- package/src/tool/bmpAWebp/i18n/pl.ts +178 -0
- package/src/tool/bmpAWebp/i18n/pt.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ru.ts +178 -0
- package/src/tool/bmpAWebp/i18n/sv.ts +178 -0
- package/src/tool/bmpAWebp/i18n/tr.ts +178 -0
- package/src/tool/bmpAWebp/i18n/zh.ts +178 -0
- package/src/tool/bmpAWebp/index.ts +13 -1
- package/src/tool/gifAJpg/i18n/de.ts +178 -0
- package/src/tool/gifAJpg/i18n/en.ts +2 -12
- package/src/tool/gifAJpg/i18n/es.ts +2 -12
- package/src/tool/gifAJpg/i18n/fr.ts +2 -12
- package/src/tool/gifAJpg/i18n/id.ts +178 -0
- package/src/tool/gifAJpg/i18n/it.ts +178 -0
- package/src/tool/gifAJpg/i18n/ja.ts +178 -0
- package/src/tool/gifAJpg/i18n/ko.ts +178 -0
- package/src/tool/gifAJpg/i18n/nl.ts +178 -0
- package/src/tool/gifAJpg/i18n/pl.ts +178 -0
- package/src/tool/gifAJpg/i18n/pt.ts +178 -0
- package/src/tool/gifAJpg/i18n/ru.ts +178 -0
- package/src/tool/gifAJpg/i18n/sv.ts +178 -0
- package/src/tool/gifAJpg/i18n/tr.ts +178 -0
- package/src/tool/gifAJpg/i18n/zh.ts +178 -0
- package/src/tool/gifAJpg/index.ts +13 -1
- package/src/tool/gifAPng/i18n/de.ts +178 -0
- package/src/tool/gifAPng/i18n/en.ts +2 -12
- package/src/tool/gifAPng/i18n/es.ts +2 -12
- package/src/tool/gifAPng/i18n/fr.ts +2 -12
- package/src/tool/gifAPng/i18n/id.ts +178 -0
- package/src/tool/gifAPng/i18n/it.ts +178 -0
- package/src/tool/gifAPng/i18n/ja.ts +178 -0
- package/src/tool/gifAPng/i18n/ko.ts +178 -0
- package/src/tool/gifAPng/i18n/nl.ts +178 -0
- package/src/tool/gifAPng/i18n/pl.ts +178 -0
- package/src/tool/gifAPng/i18n/pt.ts +178 -0
- package/src/tool/gifAPng/i18n/ru.ts +178 -0
- package/src/tool/gifAPng/i18n/sv.ts +178 -0
- package/src/tool/gifAPng/i18n/tr.ts +178 -0
- package/src/tool/gifAPng/i18n/zh.ts +178 -0
- package/src/tool/gifAPng/index.ts +12 -0
- package/src/tool/gifAWebp/i18n/de.ts +178 -0
- package/src/tool/gifAWebp/i18n/en.ts +2 -12
- package/src/tool/gifAWebp/i18n/es.ts +2 -12
- package/src/tool/gifAWebp/i18n/fr.ts +2 -12
- package/src/tool/gifAWebp/i18n/id.ts +178 -0
- package/src/tool/gifAWebp/i18n/it.ts +178 -0
- package/src/tool/gifAWebp/i18n/ja.ts +178 -0
- package/src/tool/gifAWebp/i18n/ko.ts +178 -0
- package/src/tool/gifAWebp/i18n/nl.ts +178 -0
- package/src/tool/gifAWebp/i18n/pl.ts +178 -0
- package/src/tool/gifAWebp/i18n/pt.ts +178 -0
- package/src/tool/gifAWebp/i18n/ru.ts +178 -0
- package/src/tool/gifAWebp/i18n/sv.ts +178 -0
- package/src/tool/gifAWebp/i18n/tr.ts +178 -0
- package/src/tool/gifAWebp/i18n/zh.ts +178 -0
- package/src/tool/gifAWebp/index.ts +12 -0
- package/src/tool/imagenBase64/i18n/de.ts +168 -0
- package/src/tool/imagenBase64/i18n/en.ts +2 -12
- package/src/tool/imagenBase64/i18n/es.ts +2 -12
- package/src/tool/imagenBase64/i18n/fr.ts +2 -12
- package/src/tool/imagenBase64/i18n/id.ts +168 -0
- package/src/tool/imagenBase64/i18n/it.ts +168 -0
- package/src/tool/imagenBase64/i18n/ja.ts +168 -0
- package/src/tool/imagenBase64/i18n/ko.ts +168 -0
- package/src/tool/imagenBase64/i18n/nl.ts +168 -0
- package/src/tool/imagenBase64/i18n/pl.ts +168 -0
- package/src/tool/imagenBase64/i18n/pt.ts +173 -0
- package/src/tool/imagenBase64/i18n/ru.ts +168 -0
- package/src/tool/imagenBase64/i18n/sv.ts +168 -0
- package/src/tool/imagenBase64/i18n/tr.ts +168 -0
- package/src/tool/imagenBase64/i18n/zh.ts +168 -0
- package/src/tool/imagenBase64/index.ts +12 -0
- package/src/tool/jpgAIco/i18n/de.ts +183 -0
- package/src/tool/jpgAIco/i18n/en.ts +8 -13
- package/src/tool/jpgAIco/i18n/es.ts +13 -18
- package/src/tool/jpgAIco/i18n/fr.ts +9 -14
- package/src/tool/jpgAIco/i18n/id.ts +183 -0
- package/src/tool/jpgAIco/i18n/it.ts +183 -0
- package/src/tool/jpgAIco/i18n/ja.ts +183 -0
- package/src/tool/jpgAIco/i18n/ko.ts +183 -0
- package/src/tool/jpgAIco/i18n/nl.ts +183 -0
- package/src/tool/jpgAIco/i18n/pl.ts +183 -0
- package/src/tool/jpgAIco/i18n/pt.ts +183 -0
- package/src/tool/jpgAIco/i18n/ru.ts +183 -0
- package/src/tool/jpgAIco/i18n/sv.ts +183 -0
- package/src/tool/jpgAIco/i18n/tr.ts +183 -0
- package/src/tool/jpgAIco/i18n/zh.ts +183 -0
- package/src/tool/jpgAIco/index.ts +12 -0
- package/src/tool/jpgAPng/i18n/de.ts +178 -0
- package/src/tool/jpgAPng/i18n/en.ts +2 -12
- package/src/tool/jpgAPng/i18n/es.ts +2 -12
- package/src/tool/jpgAPng/i18n/fr.ts +2 -12
- package/src/tool/jpgAPng/i18n/id.ts +178 -0
- package/src/tool/jpgAPng/i18n/it.ts +178 -0
- package/src/tool/jpgAPng/i18n/ja.ts +178 -0
- package/src/tool/jpgAPng/i18n/ko.ts +178 -0
- package/src/tool/jpgAPng/i18n/nl.ts +178 -0
- package/src/tool/jpgAPng/i18n/pl.ts +178 -0
- package/src/tool/jpgAPng/i18n/pt.ts +178 -0
- package/src/tool/jpgAPng/i18n/ru.ts +178 -0
- package/src/tool/jpgAPng/i18n/sv.ts +178 -0
- package/src/tool/jpgAPng/i18n/tr.ts +178 -0
- package/src/tool/jpgAPng/i18n/zh.ts +178 -0
- package/src/tool/jpgAPng/index.ts +13 -1
- package/src/tool/jpgAWebp/i18n/de.ts +178 -0
- package/src/tool/jpgAWebp/i18n/en.ts +2 -12
- package/src/tool/jpgAWebp/i18n/es.ts +2 -12
- package/src/tool/jpgAWebp/i18n/fr.ts +2 -12
- package/src/tool/jpgAWebp/i18n/id.ts +178 -0
- package/src/tool/jpgAWebp/i18n/it.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ja.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ko.ts +178 -0
- package/src/tool/jpgAWebp/i18n/nl.ts +178 -0
- package/src/tool/jpgAWebp/i18n/pl.ts +178 -0
- package/src/tool/jpgAWebp/i18n/pt.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ru.ts +178 -0
- package/src/tool/jpgAWebp/i18n/sv.ts +178 -0
- package/src/tool/jpgAWebp/i18n/tr.ts +178 -0
- package/src/tool/jpgAWebp/i18n/zh.ts +178 -0
- package/src/tool/jpgAWebp/index.ts +12 -0
- package/src/tool/pngAIco/i18n/de.ts +183 -0
- package/src/tool/pngAIco/i18n/en.ts +8 -13
- package/src/tool/pngAIco/i18n/es.ts +19 -24
- package/src/tool/pngAIco/i18n/fr.ts +20 -25
- package/src/tool/pngAIco/i18n/id.ts +183 -0
- package/src/tool/pngAIco/i18n/it.ts +183 -0
- package/src/tool/pngAIco/i18n/ja.ts +183 -0
- package/src/tool/pngAIco/i18n/ko.ts +183 -0
- package/src/tool/pngAIco/i18n/nl.ts +183 -0
- package/src/tool/pngAIco/i18n/pl.ts +183 -0
- package/src/tool/pngAIco/i18n/pt.ts +183 -0
- package/src/tool/pngAIco/i18n/ru.ts +183 -0
- package/src/tool/pngAIco/i18n/sv.ts +183 -0
- package/src/tool/pngAIco/i18n/tr.ts +183 -0
- package/src/tool/pngAIco/i18n/zh.ts +183 -0
- package/src/tool/pngAIco/index.ts +12 -0
- package/src/tool/pngAJpg/i18n/de.ts +191 -0
- package/src/tool/pngAJpg/i18n/en.ts +2 -12
- package/src/tool/pngAJpg/i18n/es.ts +2 -12
- package/src/tool/pngAJpg/i18n/fr.ts +2 -12
- package/src/tool/pngAJpg/i18n/id.ts +191 -0
- package/src/tool/pngAJpg/i18n/it.ts +191 -0
- package/src/tool/pngAJpg/i18n/ja.ts +191 -0
- package/src/tool/pngAJpg/i18n/ko.ts +191 -0
- package/src/tool/pngAJpg/i18n/nl.ts +191 -0
- package/src/tool/pngAJpg/i18n/pl.ts +191 -0
- package/src/tool/pngAJpg/i18n/pt.ts +191 -0
- package/src/tool/pngAJpg/i18n/ru.ts +191 -0
- package/src/tool/pngAJpg/i18n/sv.ts +191 -0
- package/src/tool/pngAJpg/i18n/tr.ts +191 -0
- package/src/tool/pngAJpg/i18n/zh.ts +191 -0
- package/src/tool/pngAJpg/index.ts +13 -1
- package/src/tool/pngAWebp/i18n/de.ts +182 -0
- package/src/tool/pngAWebp/i18n/en.ts +2 -12
- package/src/tool/pngAWebp/i18n/es.ts +2 -12
- package/src/tool/pngAWebp/i18n/fr.ts +2 -12
- package/src/tool/pngAWebp/i18n/id.ts +182 -0
- package/src/tool/pngAWebp/i18n/it.ts +182 -0
- package/src/tool/pngAWebp/i18n/ja.ts +182 -0
- package/src/tool/pngAWebp/i18n/ko.ts +182 -0
- package/src/tool/pngAWebp/i18n/nl.ts +182 -0
- package/src/tool/pngAWebp/i18n/pl.ts +182 -0
- package/src/tool/pngAWebp/i18n/pt.ts +182 -0
- package/src/tool/pngAWebp/i18n/ru.ts +182 -0
- package/src/tool/pngAWebp/i18n/sv.ts +182 -0
- package/src/tool/pngAWebp/i18n/tr.ts +182 -0
- package/src/tool/pngAWebp/i18n/zh.ts +182 -0
- package/src/tool/pngAWebp/index.ts +12 -0
- package/src/tool/svgAJpg/i18n/de.ts +178 -0
- package/src/tool/svgAJpg/i18n/en.ts +8 -13
- package/src/tool/svgAJpg/i18n/es.ts +8 -13
- package/src/tool/svgAJpg/i18n/fr.ts +2 -12
- package/src/tool/svgAJpg/i18n/id.ts +178 -0
- package/src/tool/svgAJpg/i18n/it.ts +178 -0
- package/src/tool/svgAJpg/i18n/ja.ts +178 -0
- package/src/tool/svgAJpg/i18n/ko.ts +178 -0
- package/src/tool/svgAJpg/i18n/nl.ts +178 -0
- package/src/tool/svgAJpg/i18n/pl.ts +178 -0
- package/src/tool/svgAJpg/i18n/pt.ts +178 -0
- package/src/tool/svgAJpg/i18n/ru.ts +178 -0
- package/src/tool/svgAJpg/i18n/sv.ts +178 -0
- package/src/tool/svgAJpg/i18n/tr.ts +178 -0
- package/src/tool/svgAJpg/i18n/zh.ts +178 -0
- package/src/tool/svgAJpg/index.ts +12 -0
- package/src/tool/svgAPng/i18n/de.ts +178 -0
- package/src/tool/svgAPng/i18n/en.ts +8 -13
- package/src/tool/svgAPng/i18n/es.ts +31 -36
- package/src/tool/svgAPng/i18n/fr.ts +2 -12
- package/src/tool/svgAPng/i18n/id.ts +178 -0
- package/src/tool/svgAPng/i18n/it.ts +178 -0
- package/src/tool/svgAPng/i18n/ja.ts +178 -0
- package/src/tool/svgAPng/i18n/ko.ts +178 -0
- package/src/tool/svgAPng/i18n/nl.ts +178 -0
- package/src/tool/svgAPng/i18n/pl.ts +178 -0
- package/src/tool/svgAPng/i18n/pt.ts +178 -0
- package/src/tool/svgAPng/i18n/ru.ts +178 -0
- package/src/tool/svgAPng/i18n/sv.ts +178 -0
- package/src/tool/svgAPng/i18n/tr.ts +178 -0
- package/src/tool/svgAPng/i18n/zh.ts +178 -0
- package/src/tool/svgAPng/index.ts +12 -0
- package/src/tool/webpAIco/i18n/de.ts +183 -0
- package/src/tool/webpAIco/i18n/en.ts +8 -13
- package/src/tool/webpAIco/i18n/es.ts +9 -14
- package/src/tool/webpAIco/i18n/fr.ts +11 -16
- package/src/tool/webpAIco/i18n/id.ts +183 -0
- package/src/tool/webpAIco/i18n/it.ts +183 -0
- package/src/tool/webpAIco/i18n/ja.ts +183 -0
- package/src/tool/webpAIco/i18n/ko.ts +183 -0
- package/src/tool/webpAIco/i18n/nl.ts +183 -0
- package/src/tool/webpAIco/i18n/pl.ts +183 -0
- package/src/tool/webpAIco/i18n/pt.ts +183 -0
- package/src/tool/webpAIco/i18n/ru.ts +183 -0
- package/src/tool/webpAIco/i18n/sv.ts +183 -0
- package/src/tool/webpAIco/i18n/tr.ts +183 -0
- package/src/tool/webpAIco/i18n/zh.ts +183 -0
- package/src/tool/webpAIco/index.ts +12 -0
- package/src/tool/webpAJpg/i18n/de.ts +187 -0
- package/src/tool/webpAJpg/i18n/en.ts +9 -13
- package/src/tool/webpAJpg/i18n/es.ts +37 -42
- package/src/tool/webpAJpg/i18n/fr.ts +35 -40
- package/src/tool/webpAJpg/i18n/id.ts +182 -0
- package/src/tool/webpAJpg/i18n/it.ts +182 -0
- package/src/tool/webpAJpg/i18n/ja.ts +182 -0
- package/src/tool/webpAJpg/i18n/ko.ts +182 -0
- package/src/tool/webpAJpg/i18n/nl.ts +182 -0
- package/src/tool/webpAJpg/i18n/pl.ts +182 -0
- package/src/tool/webpAJpg/i18n/pt.ts +182 -0
- package/src/tool/webpAJpg/i18n/ru.ts +182 -0
- package/src/tool/webpAJpg/i18n/sv.ts +182 -0
- package/src/tool/webpAJpg/i18n/tr.ts +182 -0
- package/src/tool/webpAJpg/i18n/zh.ts +182 -0
- package/src/tool/webpAJpg/index.ts +12 -0
- package/src/tool/webpAPng/i18n/de.ts +182 -0
- package/src/tool/webpAPng/i18n/en.ts +8 -13
- package/src/tool/webpAPng/i18n/es.ts +35 -40
- package/src/tool/webpAPng/i18n/fr.ts +2 -12
- package/src/tool/webpAPng/i18n/id.ts +182 -0
- package/src/tool/webpAPng/i18n/it.ts +182 -0
- package/src/tool/webpAPng/i18n/ja.ts +182 -0
- package/src/tool/webpAPng/i18n/ko.ts +182 -0
- package/src/tool/webpAPng/i18n/nl.ts +182 -0
- package/src/tool/webpAPng/i18n/pl.ts +182 -0
- package/src/tool/webpAPng/i18n/pt.ts +182 -0
- package/src/tool/webpAPng/i18n/ru.ts +182 -0
- package/src/tool/webpAPng/i18n/sv.ts +182 -0
- package/src/tool/webpAPng/i18n/tr.ts +182 -0
- package/src/tool/webpAPng/i18n/zh.ts +182 -0
- package/src/tool/webpAPng/index.ts +12 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { AvifAWebpLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'konverter-avif-ke-webp';
|
|
6
|
+
const title = 'Ubah AVIF ke WebP Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Ubah gambar AVIF ke WebP untuk kompatibilitas yang lebih baik. Pemrosesan lokal tanpa server. Gratis, pribadi, dan tidak terbatas.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Seret file AVIF...',
|
|
12
|
+
convertText: 'Untuk mengubahnya ke WebP secara instan',
|
|
13
|
+
selectFiles: 'Pilih file',
|
|
14
|
+
processedFiles: 'File yang diproses',
|
|
15
|
+
downloadAll: 'Unduh Semua (.zip)',
|
|
16
|
+
pending: 'Tertunda',
|
|
17
|
+
bibliographyTitle: 'Referensi Bibliografi',
|
|
18
|
+
faqTitle: 'Pertanyaan Umum',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Apa perbedaan nyata antara mengubah ke WebP dan format lainnya?',
|
|
24
|
+
answer:
|
|
25
|
+
'WebP menawarkan yang terbaik dari kedua dunia: kompresi yang luar biasa seperti JPG tetapi tetap mempertahankan kemampuan untuk menampung transparansi yang bersih seperti PNG. Mengubah AVIF Anda ke WebP memaksimalkan kompatibilitasnya untuk web sambil mempertahankan semua keunggulannya.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Bagaimana Anda bisa mengubah ini tanpa server dan dengan cepat?',
|
|
29
|
+
answer:
|
|
30
|
+
'Kami memanfaatkan modul dekode bawaan dan objek Image dari JavaScript HTML5, yang memungkinkan pembacaan AVIF Anda di memori lokal dan mengekstrak file WebP yang dioptimalkan dalam waktu singkat.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Apakah format WebP sepenuhnya kompatibel hari ini?',
|
|
34
|
+
answer:
|
|
35
|
+
'Berbeda dengan AVIF yang masih baru, format WebP menikmati dukungan yang sangat luas di antara browser seperti Chrome, Firefox, dan Safari.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Masukkan file foto Anda',
|
|
42
|
+
text: 'Pindahkan dan lepaskan semua pilihan format AVIF ke kanvas kami.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Terjemahan Byte Algoritmik',
|
|
46
|
+
text: 'Mesin kami memproses algoritma tanpa mengunggah apa pun dan membuat iterasi yang tepat berdasarkan WebP yang dikompresi.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Kumpulkan Unduhan Anda yang Sudah Siap',
|
|
50
|
+
text: 'Tekan panel dan terima batch dalam kotak ZIP atau satu per satu untuk langsung mempublikasikannya.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAWebpLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'AV1 Image File Format',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Google WebP Format Overview',
|
|
61
|
+
url: 'https://developers.google.com/speed/webp',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAWebpLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Konverter AVIF ke WebP: Alternatif Modern dan Aman untuk Web',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'AVIF adalah format gambar tercanggih yang tersedia saat ini: lebih kecil dari WebP, lebih kecil dari JPG, dengan kualitas visual yang unggul. Namun, pengadopsiannya tidak merata — Safari tidak mendukungnya hingga tahun 2024, dan banyak perangkat seluler lama tidak mengenalnya. Sebaliknya, WebP telah memantapkan dirinya selama bertahun-tahun sebagai standar web modern dengan lebih dari 95% dukungan global. Mengubah AVIF ke WebP adalah keputusan pragmatis ketika Anda membutuhkan modernitas tanpa mengorbankan kompatibilitas.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs WebP: Yang Terbaru vs Yang Paling Aman',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIF menawarkan kompresi tercanggih yang tersedia — biasanya 20-30% lebih kecil dari WebP pada kualitas yang sama. Teknologinya yang berbasis AV1 adalah yang termodern di sektor ini. Namun, dukungan AVIF masih memiliki titik buta: versi Safari lama, beberapa browser pada Android yang lebih lama, dan pemutar gambar desktop tertentu tidak mengenalinya. Untuk produksi web dengan audiens yang luas dan beragam, ini merupakan risiko.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebP memiliki sejarah dukungan yang jauh lebih solid. Chrome mengadopsinya pada tahun 2010, diikuti oleh Firefox dan Edge, dan Safari menyertakannya pada tahun 2020. Dengan cakupan global browser lebih dari 95%, WebP adalah pilihan aman untuk situs web mana pun yang tidak ingin menyajikan format cadangan. Ini mendukung transparansi, kompresi lossy dan lossless, serta menghasilkan file yang jauh lebih kecil daripada JPG atau PNG.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Perbandingan: Konverter Cloud vs Arsitektur Lokal Kami',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Konverter Cloud',
|
|
98
|
+
description: 'Alat yang mengunggah file AVIF Anda ke server jarak jauh untuk memprosesnya.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Gambar pribadi Anda melintasi server eksternal',
|
|
103
|
+
'Latensi jaringan yang memperlambat alur kerja',
|
|
104
|
+
'Batasan file per konversi gratis',
|
|
105
|
+
'Ketergantungan pada layanan pihak ketiga yang dapat berubah',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Arsitektur Lokal Kami',
|
|
110
|
+
description: 'Pemrosesan langsung di browser Anda menggunakan teknologi Vanilla JS dan Canvas API.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Privasi total — 0 byte keluar dari perangkat Anda',
|
|
115
|
+
'Kecepatan instan tanpa ketergantungan jaringan',
|
|
116
|
+
'Tanpa batasan ukuran maupun jumlah file',
|
|
117
|
+
'Berfungsi tanpa koneksi internet',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Cara kerja konversi teknis di browser',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Chrome, Firefox, dan Edge menyertakan decoder AVIF asli. Saat memuat file, mesin gambar browser mendekodenya di RAM sambil mempertahankan informasi saluran alfa. Gambar digambar di atas <code>Canvas</code> HTML5 yang tidak terlihat menggunakan konteks 2D, yang mempertahankan transparansi dengan benar.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Ekspor dilakukan dengan <code>toBlob(\'image/webp\', quality)</code>. Browser menerapkan algoritma kompresi WebP secara internal, menghasilkan Blob yang menyertakan saluran alfa jika gambar asli memilikinya. Blob ini diubah menjadi tautan unduhan langsung. Seluruh proses terjadi dalam mikrodetik tanpa komunikasi apa pun dengan server eksternal.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'WebP: pilihan pragmatis pengembang modern',
|
|
138
|
+
html: 'WebP memiliki lebih dari 95% dukungan di browser — AVIF berkembang tetapi belum mencapai angka tersebut. Untuk situs dalam produksi tanpa deteksi format adaptif, WebP adalah pilihan aman yang menjangkau hampir semua audiens. Ubah AVIF Anda ke WebP dan sajikan gambar modern dengan percaya diri.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Kasus penggunaan: kapan memilih WebP daripada AVIF',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Situs web yang membutuhkan dukungan di browser sejak 2020 tanpa polyfill.',
|
|
150
|
+
'CDN dan sistem pengiriman gambar yang menerima WebP tetapi bukan AVIF.',
|
|
151
|
+
'Aplikasi seluler hibrida dengan WebView yang mungkin tidak mendukung AVIF.',
|
|
152
|
+
'Email HTML modern di mana WebP memiliki dukungan lebih besar daripada AVIF.',
|
|
153
|
+
'Platform CMS dan e-commerce dengan dukungan gambar WebP yang sudah mapan.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Kesimpulan: Modernitas dengan kompatibilitas terjamin',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'AVIF adalah garda terdepan kompresi gambar, tetapi WebP adalah pilihan yang andal dan universal dari ekosistem web modern. Dengan alat kami, Anda beralih dari yang terbaru ke yang paling banyak didukung dalam sekejap — tanpa mengunggah apa pun ke server mana pun, dengan privasi total dan tanpa batas ukuran.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: AvifAWebpLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'id', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { AvifAWebpLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertitore-avif-a-webp';
|
|
6
|
+
const title = 'Convertire AVIF in WebP Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Converti le tue immagini AVIF in WebP con una migliore compatibilità. Elaborazione locale senza server. Gratuito, privato e illimitato.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Trascina i file AVIF...',
|
|
12
|
+
convertText: 'Per convertirli in WebP istantaneamente',
|
|
13
|
+
selectFiles: 'Seleziona i file',
|
|
14
|
+
processedFiles: 'File elaborati',
|
|
15
|
+
downloadAll: 'Scarica tutto (.zip)',
|
|
16
|
+
pending: 'In attesa',
|
|
17
|
+
bibliographyTitle: 'Riferimenti Bibliografici',
|
|
18
|
+
faqTitle: 'Domande Frequenti',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Qual è la differenza reale tra la conversione in WebP e altri formati?',
|
|
24
|
+
answer:
|
|
25
|
+
'Il WebP offre il meglio di entrambi i mondi: compressioni sorprendenti come il JPG, ma conservando la capacità di ospitare trasparenze pulite come un PNG. Passare l\'AVIF a WebP massimizza la sua compatibilità per il web preservando tutti i suoi vantaggi.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Come riuscite a cambiare questo senza un server e in modo rapido?',
|
|
29
|
+
answer:
|
|
30
|
+
'Sfruttiamo i moduli di decodifica integrati e l\'oggetto Image di JavaScript HTML5, che consente di leggere l\'AVIF nella memoria locale ed estrarre un file WebP ottimizzato a tempo di record.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Il formato WebP è completamente compatibile oggi?',
|
|
34
|
+
answer:
|
|
35
|
+
'A differenza del nascente AVIF, il formato WebP gode di un supporto amplissimo tra i browser come Chrome, Firefox e Safari.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Inserisci i tuoi file fotografici',
|
|
42
|
+
text: 'Sposta e rilascia tutte le selezioni in formato AVIF sulla nostra area di lavoro.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Algoritmi di Conversione dei Byte',
|
|
46
|
+
text: 'Il nostro motore elabora gli algoritmi senza caricare nulla e crea iterazioni esatte basate sul WebP compresso.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Accumula i tuoi Download Pronti',
|
|
50
|
+
text: 'Fai clic sul pannello e ricevi i lotti in archivi ZIP o singoli per pubblicarli direttamente.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAWebpLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'AV1 Image File Format',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Google WebP Format Overview',
|
|
61
|
+
url: 'https://developers.google.com/speed/webp',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAWebpLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertitore AVIF a WebP: L\'Alternativa Moderna e Sicura per il Web',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'L\'AVIF è il formato di immagine più avanzato disponibile oggi: più piccolo del WebP, più piccolo del JPG, con una qualità visiva superiore. Tuttavia, la sua adozione è stata irregolare: Safari non lo ha supportato fino al 2024 e molti dispositivi mobili più vecchi non lo riconoscono. Il WebP, invece, è consolidato da anni come lo standard moderno del web con oltre il 95% di supporto globale. Convertire l\'AVIF in WebP è la decisione pragmatica quando hai bisogno di innovazione senza rischiare la compatibilità.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs WebP: Il più nuovo vs Il più sicuro',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'L\'AVIF offre la compressione più avanzata disponibile, tipicamente il 20-30% più piccolo del WebP a parità di qualità. La sua tecnologia basata su AV1 è la più moderna del settore. Tuttavia, il supporto dell\'AVIF ha ancora dei punti ciechi: versioni precedenti di Safari, alcuni browser su versioni precedenti di Android e certi visualizzatori di immagini desktop non lo riconoscono. Per la produzione web con un pubblico ampio e diversificato, questo rappresenta un rischio.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'Il WebP ha una storia di supporto molto più solida. Chrome lo ha adottato nel 2010, seguiti da Firefox ed Edge, e Safari lo ha incorporato nel 2020. Con oltre il 95% di copertura globale nei browser, il WebP è la scelta sicura per qualsiasi sito web che non desideri offrire formati di riserva. Supporta trasparenze, compressione con e senza perdita di dati e ottiene file molto più piccoli del JPG o del PNG.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Confronto: Convertitori Cloud vs La Nostra Architettura Locale',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Convertitori Cloud',
|
|
98
|
+
description: 'Strumenti che caricano i tuoi file AVIF su un server remoto per elaborarli.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Le tue immagini private viaggiano attraverso server esterni',
|
|
103
|
+
'Latenza di rete che rallenta il flusso di lavoro',
|
|
104
|
+
'Limiti di file per ogni conversione gratuita',
|
|
105
|
+
'Dipendenza da servizi di terze parti che potrebbero cambiare',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'La Nostra Architettura Locale',
|
|
110
|
+
description: 'Elaborazione diretta nel tuo browser tramite tecnologia Vanilla JS e Canvas API.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Privacy totale: zero byte lasciano il tuo dispositivo',
|
|
115
|
+
'Velocità istantanea senza dipendenza dalla rete',
|
|
116
|
+
'Nessun limite di dimensioni né di numero di file',
|
|
117
|
+
'Funziona senza connessione a Internet',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Come funziona la conversione tecnica nel browser',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Chrome, Firefox ed Edge includono decodificatori AVIF nativi. Caricando il file, il motore di immagini del browser lo decodifica in RAM mantenendo le informazioni del canale alfa. L\'immagine viene disegnata su un <code>Canvas</code> HTML5 invisibile utilizzando il contesto 2D, che conserva correttamente le trasparenze.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'L\'esportazione viene eseguita con <code>toBlob(\'image/webp\', quality)</code>. Il browser applica internamente l\'algoritmo di compressione WebP, generando un Blob che include il canale alfa se l\'immagine originale ne possedeva uno. Questo Blob viene trasformato in un link di download diretto. L\'intero processo avviene in pochi microsecondi senza alcuna comunicazione con server esterni.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'WebP: la scelta pragmatica dello sviluppatore moderno',
|
|
138
|
+
html: 'Il WebP ha oltre il 95% di supporto nei browser: l\'AVIF sta crescendo ma non ha ancora raggiunto quella cifra. Per i siti in produzione senza rilevamento adattivo del formato, il WebP è la scelta sicura che copre quasi ogni tipo di pubblico. Converti i tuoi AVIF in WebP e offri immagini moderne con fiducia.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Casi d\'uso: quando scegliere il WebP rispetto all\'AVIF',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Siti web che necessitano di supporto nei browser dal 2020 senza polyfill.',
|
|
150
|
+
'CDN e sistemi di distribuzione delle immagini che accettano WebP ma non AVIF.',
|
|
151
|
+
'Applicazioni mobili ibride con WebViews che potrebbero non supportare l\'AVIF.',
|
|
152
|
+
'Email HTML moderne dove il WebP ha un supporto maggiore dell\'AVIF.',
|
|
153
|
+
'Piattaforme CMS ed e-commerce con supporto per immagini WebP consolidato.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Conclusione: Modernità con compatibilità garantita',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'L\'AVIF è l\'avanguardia della compressione delle immagini, ma il WebP è la scelta affidabile e universale del moderno ecosistema web. Con il nostro strumento, passi dal formato più recente a quello più supportato in un istante, senza caricare nulla su alcun server, con privacy totale e senza limiti di dimensione.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: AvifAWebpLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'it', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { AvifAWebpLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convert-avif-to-webp';
|
|
6
|
+
const title = 'AVIFをWebPにオンラインで変換';
|
|
7
|
+
const description =
|
|
8
|
+
'互換性を高めるためにAVIF画像をWebPに変換します。サーバーを介さないローカル処理。無料でプライベート、かつ無制限に使用できます。';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'AVIFファイルをドラッグ...',
|
|
12
|
+
convertText: '即座にWebPに変換します',
|
|
13
|
+
selectFiles: 'ファイルを選択',
|
|
14
|
+
processedFiles: '処理済みファイル',
|
|
15
|
+
downloadAll: 'すべてダウンロード (.zip)',
|
|
16
|
+
pending: '待機中',
|
|
17
|
+
bibliographyTitle: '参考文献',
|
|
18
|
+
faqTitle: 'よくある質問',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'WebPへの変換と他の形式との実際の違いは何ですか?',
|
|
24
|
+
answer:
|
|
25
|
+
'WebPは両方の長所を兼ね備えています。JPGのように驚異的な圧縮を実現しながら、PNGのようにきれいな透明度を保持する能力を備えています。AVIFをWebPに変更することで、すべての利点を保ちながらウェブへの互換性を最大化できます。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'サーバーなしで、どのようにして素早く変更できるのですか?',
|
|
29
|
+
answer:
|
|
30
|
+
'内蔵のデコードモジュールとJavaScript HTML5 Imageオブジェクトを活用しています。これにより、ローカルメモリ内でAVIFを読み込み、最適化されたWebPファイルを記録的な速さで抽出できます。',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '現在、WebP形式には完全な互換性がありますか?',
|
|
34
|
+
answer:
|
|
35
|
+
'誕生したばかりのAVIFとは異なり、WebP形式はChrome、Firefox、Safariなどのブラウザ間で非常に幅広いサポートを受けています。',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: '写真ファイルを挿入',
|
|
42
|
+
text: 'すべてのAVIF形式の選択内容を当サイトのキャンバスに移動させてください。',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'アルゴリズムによるバイト変換',
|
|
46
|
+
text: '当サイトのエンジンは、何もアップロードせずにアルゴリズムを処理し、圧縮されたWebPに基づいた正確な反復を作成します。',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: '準備が整ったダウンロードを収集',
|
|
50
|
+
text: 'パネルを押して、ZIP形式または個別のファイルで受け取り、直接公開してください。',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAWebpLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'AV1 Image File Format',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Google WebP Format Overview',
|
|
61
|
+
url: 'https://developers.google.com/speed/webp',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAWebpLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'AVIF-WebPコンバーター:ウェブ向けのモダンで安全な選択肢',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'AVIFは、現在利用可能な最も高度な画像形式です。WebPよりも小さく、JPGよりも小さく、優れた視覚品質を備えています。しかし、その普及状況は一様ではありません。Safariは2024年までそれをサポートせず、多くの古いモバイルデバイスはそれを認識しません。対照的に、WebPは95%以上の世界的なサポートを受けており、長年最新のウェブ標準として確立されています。互換性を損なうことなく最新性を必要とする場合、AVIFをWebPに変換することは実用的な決定です。',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs WebP:最新 vs 最も安全',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIFは、現在利用可能な最高の圧縮を提供します。同じ品質で通常WebPよりも20〜30%小さくなります。AV1に基づくそのテクノロジーは、業界で最もモダンなものです。しかし、AVIFのサポートにはまだ不十分な点があります。古いSafariバージョン、一部の古いAndroidブラウザ、および特定のデスクトップ画像プレーヤーでは認識されません。幅広い多様なユーザーを抱えるウェブ制作にとって、これはリスクを伴います。',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebPのサポート履歴ははるかに強固です。Chromeは2010年に採用し、FirefoxとEdgeがそれに続き、Safariは2020年に組み込みました。ブラウザにおける世界的なカバー率が95%を超えるWebPは、代替形式を提供したくないあらゆるウェブサイトにとって安全な選択です。透明度、非可逆および可逆圧縮をサポートし、JPGやPNGよりもはるかに小さなファイルを生成します。',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: '比較:クラウドコンバーターと当サイトのローカルアーキテクチャ',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'クラウドコンバーター',
|
|
98
|
+
description: '処理のためにAVIFファイルをリモートサーバーにアップロードするツール。',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'プライベート画像が外部サーバーを通過する',
|
|
103
|
+
'ワークフローを遅らせるネットワーク遅延が発生する',
|
|
104
|
+
'無料変換あたりのファイル数に制限がある',
|
|
105
|
+
'変更される可能性のあるサードパーティサービスに依存する',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: '当サイトのローカルアーキテクチャ',
|
|
110
|
+
description: 'Vanilla JSテクノロジーとCanvas APIを使用してブラウザで直接処理。',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'完全なプライバシー:0バイトがデバイスから外部へ出ません',
|
|
115
|
+
'ネットワーク依存のない即時の速度',
|
|
116
|
+
'ファイルサイズやファイル数に制限なし',
|
|
117
|
+
'インターネット接続なしで動作可能',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'ブラウザにおける技術的な変換の仕組み',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Chrome、Firefox、およびEdgeには、ネイティブのAVIFデコーダーが含まれています。ファイルを読み込むと、ブラウザの画像エンジンがアルファチャンネル情報を保持しながらRAM内でデコードします。画像は、透明度を正しく保持する2Dコンテキストを使用して、不可視のHTML5 <code>Canvas</code>上に描画されます。',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'エクスポートは <code>toBlob(\'image/webp\', quality)</code> で行われます。ブラウザは内部でWebP圧縮アルゴリズムを適用し、元の画像にアルファチャンネルがある場合はそれを含むBlobを生成します。このBlobは、直接ダウンロードリンクに変換されます。プロセス全体は、外部サーバーとの通信なしで数マイクロ秒で完了します。',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'WebP:モダンな開発者の実用的な選択',
|
|
138
|
+
html: 'WebPには95%以上のブラウザサポートがあります。AVIFは成長していますが、まだその数値には達していません。アダプティブ形式検出が行われていない本番サイトにとって、WebPはほぼすべてのユーザーをカバーする安全な選択です。AVIFをWebPに変換して、自信を持って最新の画像を提供しましょう。',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: '使用例:AVIFよりもWebPを選択すべき時',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'2020年以降のブラウザのサポートをポリフィルなしで必要とするウェブサイト。',
|
|
150
|
+
'WebPは受け入れるがAVIFは受け入れないCDNおよび画像配信システム。',
|
|
151
|
+
'AVIFをサポートしていない可能性があるWebViewを備えたハイブリッドモバイルアプリ。',
|
|
152
|
+
'WebPがAVIFよりもサポートが高い最新のHTMLメール。',
|
|
153
|
+
'WebP画像サポートが確立されているCMSプラットフォームおよびEコマース。',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: '結論:互換性が保証された最新性',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'AVIFは画像圧縮の最先端ですが、WebPはモダンなウェブエコシステムにおいて信頼できる普遍的な選択肢です。当ツールを使用すれば、最新のものから最もサポートされているものへ一瞬で変換できます。サーバーへ何もアップロードせず、完全なプライバシーを保ち、サイズ制限もありません。',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: AvifAWebpLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'ja', faq, howTo }),
|
|
178
|
+
};
|