@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 = '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
|
+
};
|
|
@@ -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 = 'conversor-avif-para-webp';
|
|
6
|
+
const title = 'Converter AVIF para WebP Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Converta imagens AVIF para WebP com melhor compatibilidade. Processamento local sem servidores. Grátis, privado e ilimitado.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Arraste os ficheiros AVIF...',
|
|
12
|
+
convertText: 'Para convertê-los para WebP instantaneamente',
|
|
13
|
+
selectFiles: 'Selecionar ficheiros',
|
|
14
|
+
processedFiles: 'Ficheiros processados',
|
|
15
|
+
downloadAll: 'Descarregar Tudo (.zip)',
|
|
16
|
+
pending: 'Pendente',
|
|
17
|
+
bibliographyTitle: 'Referências Bibliográficas',
|
|
18
|
+
faqTitle: 'Perguntas Frequentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAWebpLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Qual é a diferença real entre converter para WebP e para outros formatos?',
|
|
24
|
+
answer:
|
|
25
|
+
'O WebP oferece o melhor de dois mundos: compressões tão espantosas como o JPG, mas conservando a capacidade de albergar transparências limpas como um PNG. Mudar o seu AVIF para WebP maximiza a sua compatibilidade para a web, preservando todas as suas vantagens.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Como conseguem mudar isto sem servidor e de forma rápida?',
|
|
29
|
+
answer:
|
|
30
|
+
'Aproveitamos os módulos de descodificação incorporados e o objeto Image de JavaScript HTML5, o que permite ler o seu AVIF em memória local e extrair um ficheiro WebP otimizado em tempo recorde.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'O formato WebP é completamente compatível hoje em dia?',
|
|
34
|
+
answer:
|
|
35
|
+
'Ao contrário do nascente AVIF, o formato WebP desfruta de um amplíssimo suporte entre navegadores como Chrome, Firefox e Safari.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAWebpLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Insira os seus ficheiros fotográficos',
|
|
42
|
+
text: 'Mova e solte todas as seleções de formato AVIF para a nossa área de trabalho.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Tradução de Bytes Algorítmicos',
|
|
46
|
+
text: 'O nosso motor processa os algoritmos sem carregar nada e cria iterações exatas baseadas em WebP comprimido.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Acumule as suas Descarregamentos Prontos',
|
|
50
|
+
text: 'Pressione o painel e receba lotes em pastas ZIP ou soltos para publicá-los diretamente.',
|
|
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: 'Conversor AVIF para WebP: A Alternativa Moderna e Segura para a Web',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'O AVIF é o formato de imagem mais avançado disponível hoje: mais pequeno que o WebP, mais pequeno que o JPG, com uma qualidade visual superior. No entanto, a sua adoção tem sido irregular — o Safari não o suportou até 2024, e muitos dispositivos móveis mais antigos não o reconhecem. O WebP, por outro lado, está consolidado há anos como o padrão moderno da web com mais de 95% de suporte global. Converter AVIF para WebP é a decisão pragmática quando precisa de modernidade sem arriscar a compatibilidade.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs WebP: O Mais Novo vs O Mais Seguro',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'O AVIF oferece a compressão mais avançada disponível — tipicamente 20-30% mais pequeno que o WebP com a mesma qualidade. A sua tecnologia baseada em AV1 é a mais moderna do setor. No entanto, o suporte de AVIF ainda tem pontos cegos: versões antigas do Safari, alguns navegadores em Android mais antigo e certos visualizadores de imagem de ambiente de trabalho não o reconhecem. Para produção web com audiências amplas e diversas, isto representa um risco.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'O WebP tem uma história de suporte muito mais sólida. O Chrome adotou-o em 2010, o Firefox e o Edge seguiram-no, e o Safari incorporou-o em 2020. Com mais de 95% de cobertura global em navegadores, o WebP é a escolha segura para qualquer sítio web que não queira servir formatos de reserva. Suporta transparências, compressão com e sem perda, e consegue ficheiros muito mais pequenos do que o JPG ou o PNG.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Comparativo: Conversores Cloud vs A Nossa Arquitetura Local',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Conversores Cloud',
|
|
98
|
+
description: 'Ferramentas que carregam os seus ficheiros AVIF para um servidor remoto para processá-los.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'As suas imagens privadas transitam por servidores externos',
|
|
103
|
+
'Latência de rede que abranda o fluxo de trabalho',
|
|
104
|
+
'Limites de ficheiros por conversão gratuita',
|
|
105
|
+
'Dependência de serviços de terceiros que podem mudar',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'A Nossa Arquitetura Local',
|
|
110
|
+
description: 'Processamento direto no seu navegador através de tecnologia Vanilla JS e Canvas API.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Privacidade total — 0 bytes saem do seu dispositivo',
|
|
115
|
+
'Velocidade instantânea sem dependência de rede',
|
|
116
|
+
'Sem limites de tamanho nem de número de ficheiros',
|
|
117
|
+
'Funciona sem ligação à Internet',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Como funciona a conversão técnica no navegador',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'O Chrome, o Firefox e o Edge incluem descodificadores AVIF nativos. Ao carregar o ficheiro, o motor de imagens do navegador descodifica-o em RAM, mantendo a informação de canal alfa. A imagem é desenhada sobre um <code>Canvas</code> HTML5 invisível usando o contexto 2D, que preserva as transparências corretamente.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'A exportação é feita com <code>toBlob(\'image/webp\', quality)</code>. O navegador aplica o algoritmo de compressão WebP internamente, gerando um Blob que inclui o canal alfa se a imagem original o tivesse. Este Blob é convertido num link de descarregamento direto. O processo completo ocorre em microssegundos sem qualquer comunicação com servidores externos.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'WebP: a escolha pragmática do programador moderno',
|
|
138
|
+
html: 'O WebP tem mais de 95% de suporte em navegadores — o AVIF está a crescer mas ainda não chega a esse número. Para sítios em produção sem deteção de formato adaptativa, o WebP é a escolha segura que cobre quase qualquer audiência. Converta os seus AVIF para WebP e sirva imagens modernas com confiança.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Casos de uso: quando escolher WebP sobre AVIF',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Sítios web que precisam de suporte em navegadores desde 2020 sem polyfills.',
|
|
150
|
+
'CDNs e sistemas de entrega de imagens que aceitam WebP mas não AVIF.',
|
|
151
|
+
'Aplicações móveis híbridas com WebViews que podem não suportar AVIF.',
|
|
152
|
+
'Emails HTML modernos onde o WebP tem maior suporte do que o AVIF.',
|
|
153
|
+
'Plataformas CMS e ecommerce com suporte de imagem WebP estabelecido.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Conclusão: Modernidade com compatibilidade garantida',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'O AVIF é a vanguarda da compressão de imagens, mas o WebP é a escolha fiável e universal do ecossistema web moderno. Com a nossa ferramenta, converte do mais novo para o mais suportado num instante — sem carregar nada para nenhum servidor, com privacidade total e sem limites de tamanho.',
|
|
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: 'pt', 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 = 'konverter-avif-v-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
|
+
'Мы используем встроенные модули декодирования и объект Image JavaScript HTML5, что позволяет считывать ваш 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: Самый новый против Самого безопасного',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIF предлагает самое продвинутое сжатие — обычно на 20-30% меньше, чем WebP при том же качестве. Его технология на основе 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. При загрузке файла движок изображений браузера декодирует его в ОЗУ, сохраняя информацию об альфа-канале. Изображение отрисовывается на невидимом элементе HTML5 <code>Canvas</code> с использованием контекста 2D, который корректно сохраняет прозрачность.',
|
|
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: 'Случаи использования: когда следует выбирать WebP вместо AVIF',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Веб-сайты, которым нужна поддержка в браузерах с 2020 года без полифиллов.',
|
|
150
|
+
'CDN и системы доставки изображений, которые принимают WebP, но не AVIF.',
|
|
151
|
+
'Гибридные мобильные приложения с WebViews, которые могут не поддерживать AVIF.',
|
|
152
|
+
'Современные HTML-письма, где WebP имеет более широкую поддержку, чем AVIF.',
|
|
153
|
+
'Платформы CMS и e-commerce с устоявшейся поддержкой изображений WebP.',
|
|
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: 'ru', faq, howTo }),
|
|
178
|
+
};
|