@jjlmoya/utils-converters 1.7.0 → 1.9.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/slug_uniqueness.test.ts +81 -0
- 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 = 'avif-to-webp-converter';
|
|
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
|
+
};
|
|
@@ -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 = 'avif-to-webp-converter';
|
|
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 to 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: '비교: 클라우드 변환기 vs 우리의 로컬 아키텍처',
|
|
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
|
+
'변경될 수 있는 제3자 서비스에 의존',
|
|
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 플랫폼 및 이커머스.',
|
|
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: 'ko', 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 = 'avif-naar-webp-converter';
|
|
6
|
+
const title = 'AVIF naar WebP Online Converteren';
|
|
7
|
+
const description =
|
|
8
|
+
'Converteer AVIF-afbeeldingen naar WebP voor betere compatibiliteit. Lokale verwerking zonder servers. Gratis, privé en onbeperkt.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Sleep AVIF-bestanden hierheen...',
|
|
12
|
+
convertText: 'Om ze direct naar WebP te converteren',
|
|
13
|
+
selectFiles: 'Bestanden selecteren',
|
|
14
|
+
processedFiles: 'Verwerkte bestanden',
|
|
15
|
+
downloadAll: 'Alles downloaden (.zip)',
|
|
16
|
+
pending: 'In afwachting',
|
|
17
|
+
bibliographyTitle: 'Bibliografische Referenties',
|
|
18
|
+
faqTitle: 'Veelgestelde Vragen',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Wat is het echte verschil tussen converteren naar WebP en naar andere formaten?',
|
|
24
|
+
answer:
|
|
25
|
+
'WebP biedt het beste van twee werelden: compressie die net zo verbazingwekkend is als JPG, maar met de mogelijkheid om schone transparanties te bevatten zoals PNG. Door je AVIF naar WebP te veranderen, maximaliseer je de compatibiliteit voor het web met behoud van alle voordelen.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Hoe lukt het om dit zonder server en zo snel te veranderen?',
|
|
29
|
+
answer:
|
|
30
|
+
'We maken gebruik van de ingebouwde decoderingsmodules en het Image-object van JavaScript HTML5, waardoor je AVIF in het lokale geheugen kan worden gelezen en een geoptimaliseerd WebP-bestand in recordtijd kan worden geëxtraheerd.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Is het WebP-formaat tegenwoordig volledig compatibel?',
|
|
34
|
+
answer:
|
|
35
|
+
'In tegenstelling tot het opkomende AVIF, geniet het WebP-formaat van een zeer brede ondersteuning in browsers zoals Chrome, Firefox en Safari.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Voeg je fotobestanden toe',
|
|
42
|
+
text: 'Sleep alle AVIF-bestanden naar ons canvas.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Algoritmische Byte-vertaling',
|
|
46
|
+
text: 'Onze engine verwerkt de algoritmen zonder iets te uploaden en creëert exacte iteraties op basis van gecomprimeerde WebP.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Download je bestanden',
|
|
50
|
+
text: 'Klik op het paneel en ontvang batches in ZIP-bestanden of losse bestanden om ze direct te publiceren.',
|
|
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 naar WebP Converter: Het moderne en veilige alternatief voor het web',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'AVIF is het meest geavanceerde beeldformaat dat momenteel beschikbaar is: kleiner dan WebP, kleiner dan JPG, met superieure visuele kwaliteit. De adoptie is echter ongelijkmatig — Safari ondersteunde het pas in 2024 en veel oudere mobiele apparaten herkennen het niet. WebP daarentegen is al jaren gevestigd als de moderne webstandaard met meer dan 95% wereldwijde ondersteuning. AVIF naar WebP converteren is de pragmatische keuze wanneer je moderniteit wilt zonder compatibiliteitsrisico\'s.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs WebP: De nieuwste vs De veiligste',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIF biedt de meest geavanceerde compressie die beschikbaar is — doorgaans 20-30% kleiner dan WebP bij dezelfde kwaliteit. De op AV1 gebaseerde technologie is de modernste in de sector. De ondersteuning van AVIF heeft echter nog blinde vlekken: oudere versies van Safari, sommige browsers op oudere Android-toestellen en bepaalde desktop-beeldviewers herkennen het niet. Voor webproductie met een breed en divers publiek is dit een risico.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebP heeft een veel solidere ondersteuningsgeschiedenis. Chrome adopteerde het in 2010, Firefox en Edge volgden, en Safari voegde het toe in 2020. Met meer dan 95% wereldwijde dekking in browsers is WebP de veilige keuze voor elke website die geen fallback-formaten wil aanbieden. Het ondersteunt transparantie, compressie met en zonder verlies, en realiseert veel kleinere bestanden dan JPG of PNG.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Vergelijking: Cloud Converters vs Onze Lokale Architectuur',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Cloud Converters',
|
|
98
|
+
description: 'Tools die je AVIF-bestanden naar een externe server uploaden om ze te verwerken.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Je privéafbeeldingen gaan via externe servers',
|
|
103
|
+
'Netwerklatentie die de workflow vertraagt',
|
|
104
|
+
'Bestandslimieten per gratis conversie',
|
|
105
|
+
'Afhankelijkheid van diensten van derden die kunnen veranderen',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Onze Lokale Architectuur',
|
|
110
|
+
description: 'Directe verwerking in je browser via Vanilla JS-technologie en Canvas API.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Volledige privacy — 0 bytes verlaten je apparaat',
|
|
115
|
+
'Directe snelheid zonder afhankelijkheid van netwerk',
|
|
116
|
+
'Zonder limieten voor grootte of aantal bestanden',
|
|
117
|
+
'Werkt zonder internetverbinding',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Hoe de technische conversie in de browser werkt',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Chrome, Firefox en Edge bevatten native AVIF-decoders. Bij het laden van het bestand decodeert de image-engine van de browser het in de RAM met behoud van de informatie van het alfakanaal. De afbeelding wordt getekend op een onzichtbaar HTML5 <code>Canvas</code> met behulp van de 2D-context, die transparanties correct behoudt.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'De export wordt uitgevoerd met <code>toBlob(\'image/webp\', quality)</code>. De browser past intern het WebP-compressie-algoritme toe, waarbij een Blob wordt gegenereerd die het alfakanaal bevat als de originele afbeelding dat had. Deze Blob wordt omgezet in een directe downloadlink. Het volledige proces vindt plaats in microseconden zonder enige communicatie met externe servers.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'WebP: de pragmatische keuze van de moderne ontwikkelaar',
|
|
138
|
+
html: 'WebP heeft meer dan 95% ondersteuning in browsers — AVIF groeit, maar bereikt dat aantal nog niet. Voor websites in productie zonder adaptieve formaatdetectie is WebP de veilige keuze die bijna elk publiek dekt. Converteer je AVIF\'s naar WebP en bied moderne afbeeldingen met vertrouwen aan.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Gebruikssituaties: wanneer kiezen voor WebP boven AVIF',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Websites die ondersteuning nodig hebben in browsers vanaf 2020 zonder polyfills.',
|
|
150
|
+
'CDN\'s en beeldleveringssystemen die WebP accepteren maar geen AVIF.',
|
|
151
|
+
'Hybride mobiele apps met WebViews die AVIF mogelijk niet ondersteunen.',
|
|
152
|
+
'Moderne HTML-e-mails waarbij WebP meer ondersteuning heeft dan AVIF.',
|
|
153
|
+
'CMS-platforms en e-commerce met gevestigde WebP-beeldondersteuning.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Conclusie: Moderniteit met gegarandeerde compatibiliteit',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'AVIF is de voorhoede van beeldcompressie, maar WebP is de betrouwbare en universele keuze van het moderne web-ecosysteem. Met onze tool converteer je in een oogwenk van het nieuwste naar het meest ondersteunde — zonder iets naar een server te uploaden, met volledige privacy en zonder groottebeperkingen.',
|
|
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: 'nl', faq, howTo }),
|
|
178
|
+
};
|