@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 = '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 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
|
+
};
|
|
@@ -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 = 'konwerter-avif-na-webp';
|
|
6
|
+
const title = 'Konwertuj AVIF na WebP Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Konwertuj obrazy AVIF na WebP dla lepszej kompatybilności. Przetwarzanie lokalne bez serwerów. Darmowe, prywatne i nielimitowane.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Przeciągnij pliki AVIF...',
|
|
12
|
+
convertText: 'Aby błyskawicznie konwertować je na WebP',
|
|
13
|
+
selectFiles: 'Wybierz pliki',
|
|
14
|
+
processedFiles: 'Przetworzone pliki',
|
|
15
|
+
downloadAll: 'Pobierz wszystko (.zip)',
|
|
16
|
+
pending: 'Oczekiwanie',
|
|
17
|
+
bibliographyTitle: 'Bibliografia',
|
|
18
|
+
faqTitle: 'Często zadawane pytania',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Jaka jest rzeczywista różnica między konwersją na WebP a inne formaty?',
|
|
24
|
+
answer:
|
|
25
|
+
'WebP oferuje to, co najlepsze z obu światów: kompresję tak niesamowitą jak JPG, przy jednoczesnym zachowaniu możliwości obsługi czystych przezroczystości jak w PNG. Zmiana AVIF na WebP maksymalizuje kompatybilność w sieci, zachowując wszystkie jego zalety.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Jak udaje się to zmienić bez serwera i tak szybko?',
|
|
29
|
+
answer:
|
|
30
|
+
'Wykorzystujemy wbudowane moduły dekodujące i obiekt Image JavaScript HTML5, co pozwala na odczyt pliku AVIF w pamięci lokalnej i wyodrębnienie zoptymalizowanego pliku WebP w rekordowym czasie.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Czy format WebP jest dziś w pełni kompatybilny?',
|
|
34
|
+
answer:
|
|
35
|
+
'W przeciwieństwie do raczkującego formatu AVIF, format WebP cieszy się bardzo szerokim wsparciem wśród przeglądarek takich jak Chrome, Firefox i Safari.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Wstaw pliki zdjęć',
|
|
42
|
+
text: 'Przenieś i upuść wszystkie zaznaczone pliki w formacie AVIF na nasz obszar roboczy.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Algorytmiczne tłumaczenie bajtów',
|
|
46
|
+
text: 'Nasz silnik przetwarza algorytmy bez przesyłania czegokolwiek i tworzy dokładne iteracje oparte na skompresowanym WebP.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Pobierz gotowe pliki',
|
|
50
|
+
text: 'Kliknij panel i odbierz pliki w paczkach ZIP lub pojedynczo, aby opublikować je bezpośrednio.',
|
|
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: 'Konwerter AVIF na WebP: Nowoczesna i bezpieczna alternatywa dla sieci',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'AVIF to najbardziej zaawansowany format obrazu dostępny obecnie: mniejszy niż WebP, mniejszy niż JPG, o wyższej jakości wizualnej. Jednak jego adaptacja była nierównomierna — Safari nie wspierało go do 2024 roku, a wiele starszych urządzeń mobilnych go nie rozpoznaje. WebP natomiast od lat cieszy się mianem nowoczesnego standardu sieciowego z ponad 95% globalnym wsparciem. Konwersja AVIF na WebP to pragmatyczna decyzja, gdy potrzebujesz nowoczesności bez ryzykowania kompatybilności.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs WebP: Najnowszy kontra Najbezpieczniejszy',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIF oferuje najbardziej zaawansowaną dostępną kompresję — zazwyczaj o 20-30% mniejszą niż WebP przy tej samej jakości. Jego technologia oparta na AV1 jest najnowocześniejsza w branży. Jednak wsparcie dla AVIF wciąż ma luki: starsze wersje Safari, niektóre przeglądarki na starszym Androidzie i niektóre stacjonarne przeglądarki obrazów go nie rozpoznają. W przypadku produkcji internetowej skierowanej do szerokiego i zróżnicowanego grona odbiorców stanowi to ryzyko.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebP ma znacznie solidniejszą historię wsparcia. Chrome przyjął go w 2010 roku, Firefox i Edge poszły w jego ślady, a Safari dołączyło w 2020. Dzięki ponad 95% globalnemu zasięgowi w przeglądarkach, WebP jest bezpiecznym wyborem dla każdej strony internetowej, która nie chce dostarczać formatów zapasowych (fallback). Obsługuje przezroczystości, kompresję stratną i bezstratną, i generuje znacznie mniejsze pliki niż JPG czy PNG.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Porównanie: Konwertery w chmurze vs nasza lokalna architektura',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Konwertery w chmurze',
|
|
98
|
+
description: 'Narzędzia przesyłające Twoje pliki AVIF na zdalny serwer w celu ich przetworzenia.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Twoje prywatne zdjęcia przechodzą przez serwery zewnętrzne',
|
|
103
|
+
'Opóźnienia sieciowe spowalniające pracę',
|
|
104
|
+
'Limity plików na darmową konwersję',
|
|
105
|
+
'Zależność od usług zewnętrznych, które mogą ulec zmianie',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Nasza lokalna architektura',
|
|
110
|
+
description: 'Przetwarzanie bezpośrednio w przeglądarce za pomocą technologii Vanilla JS i Canvas API.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Całkowita prywatność — 0 bajtów opuszcza Twoje urządzenie',
|
|
115
|
+
'Błyskawiczne tempo bez zależności od sieci',
|
|
116
|
+
'Brak limitów rozmiaru i liczby plików',
|
|
117
|
+
'Działa bez połączenia z Internetem',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Jak działa techniczna konwersja w przeglądarce',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Przeglądarki Chrome, Firefox i Edge posiadają natywne dekodery AVIF. Po załadowaniu pliku silnik obrazów przeglądarki dekoduje go w pamięci RAM, zachowując informacje o kanale alfa. Obraz jest rysowany na niewidocznym elemencie <code>Canvas</code> HTML5 przy użyciu kontekstu 2D, który poprawnie zachowuje przezroczystości.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Eksport odbywa się za pomocą <code>toBlob(\'image/webp\', quality)</code>. Przeglądarka wewnętrznie stosuje algorytm kompresji WebP, generując obiekt Blob zawierający kanał alfa, jeśli oryginalny obraz go posiadał. Ten Blob jest zamieniany na bezpośredni link do pobrania. Cały proces odbywa się w mikrosekundach bez żadnej komunikacji z serwerami zewnętrznymi.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'WebP: pragmatyczny wybór nowoczesnego programisty',
|
|
138
|
+
html: 'WebP ma ponad 95% wsparcia w przeglądarkach — AVIF rośnie, ale nie osiągnął jeszcze tego poziomu. W przypadku witryn produkcyjnych bez adaptacyjnego wykrywania formatu, WebP jest bezpiecznym wyborem, który obejmuje niemal każdą grupę odbiorców. Konwertuj pliki AVIF na WebP i pewnie dostarczaj nowoczesne obrazy.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Przypadki użycia: kiedy wybrać WebP zamiast AVIF',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Strony internetowe potrzebujące wsparcia w przeglądarkach od 2020 roku bez polyfilli.',
|
|
150
|
+
'Sieci CDN i systemy dostarczania obrazów akceptujące WebP, ale nie AVIF.',
|
|
151
|
+
'Hybrydowe aplikacje mobilne z elementami WebView nieobsługującymi AVIF.',
|
|
152
|
+
'Nowoczesne e-maile HTML, gdzie WebP ma szersze wsparcie niż AVIF.',
|
|
153
|
+
'Platformy CMS i e-commerce z ugruntowanym wsparciem dla obrazów WebP.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Podsumowanie: Nowoczesność z gwarantowaną kompatybilnością',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'AVIF to czołówka kompresji obrazów, ale WebP to niezawodny i uniwersalny wybór nowoczesnego ekosystemu sieciowego. Dzięki naszemu narzędziu błyskawicznie przejdziesz z najnowszego formatu na ten najlepiej wspierany — bez przesyłania czegokolwiek na serwer, z zachowaniem pełnej prywatności i bez limitów rozmiaru.',
|
|
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: 'pl', faq, howTo }),
|
|
178
|
+
};
|