@jjlmoya/utils-converters 1.6.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/ImageConverter.astro +2 -1
- 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 { AvifAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'avif-jpg-donusturucu';
|
|
6
|
+
const title = 'AVIF\'i Online JPG\'ye Dönüştür';
|
|
7
|
+
const description =
|
|
8
|
+
'AVIF görüntülerini tarayıcınızda JPG\'ye dönüştürün. Sunucu yok. %100 özel yerel işleme. Ücretsiz ve sınırsız.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'AVIF dosyalarını buraya sürükleyin...',
|
|
12
|
+
convertText: 'Anında JPG\'ye dönüştürmek için',
|
|
13
|
+
selectFiles: 'Dosyaları seçin',
|
|
14
|
+
processedFiles: 'İşlenen dosyalar',
|
|
15
|
+
downloadAll: 'Tümünü İndir (.zip)',
|
|
16
|
+
pending: 'Bekliyor',
|
|
17
|
+
bibliographyTitle: 'Bibliyografik Referanslar',
|
|
18
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Neden AVIF\'i JPG\'ye dönüştürmeliyim?',
|
|
24
|
+
answer:
|
|
25
|
+
'AVIF formatı üstün sıkıştırma sunar, ancak tüm programlar veya görüntüleyiciler bunu desteklemez. JPG\'ye dönüştürmek, görüntünün dünyadaki cihazların %100\'ünde görüntülenebilmesini sağlar.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'AVIF görüntülerinizi nasıl koruyoruz?',
|
|
29
|
+
answer:
|
|
30
|
+
'Fotoğraflarınız asla cep telefonunuzdan veya bilgisayarınızdan çıkmaz. Tüm çizim ve JPEG kodlama işlemi tarayıcınızın Javascript ortamında yürütülür.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'AVIF\'ten JPG\'ye geçerken kalite kaybı yaşar mıyım?',
|
|
34
|
+
answer:
|
|
35
|
+
'Aracımız pikselleri standart Canvas kalitesiyle (0.9 ila 0.95) işleyerek değişikliklerin neredeyse fark edilmemesini sağlar.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Dosyaları sürükleyin veya tıklayın',
|
|
42
|
+
text: 'Dönüştürmek istediğiniz tüm AVIF fotoğraflarını belirlenen işlem alanına taşıyın.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Anında Dönüşüm',
|
|
46
|
+
text: 'AVIF\'in bir saniyeden kısa bir sürede JPG olarak nasıl yeniden kodlandığını, olası alfa kanallarını düz bir arka planla değiştirdiğini görün.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'ZIP\'i Kaydet veya İndir',
|
|
50
|
+
text: 'Yeni JPG resimlerinizi tek tek indirin veya toplu işlem yaptıysanız Tümünü İndir\'e basın.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'AV1 Image File Format (AVIF)',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'JPG Hakkında Genel Bilgiler',
|
|
61
|
+
url: 'https://en.wikipedia.org/wiki/JPEG',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'AVIF - JPG Dönüştürücü: Modern Görüntüleriniz İçin Evrensel Uyumluluk',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'AVIF (AV1 Image File Format), bugün mevcut olan en verimli görüntü formatıdır. Alliance for Open Media tarafından geliştirilen ve AV1 video kodekine dayanan bu format, aynı görsel kalitede JPG\'den %50 daha fazla sıkıştırma sunar. Ancak bu teknik avantajın bir bedeli vardır: AVIF; Photoshop, Lightroom, Windows Fotoğraf Görüntüleyicisi veya çoğu geleneksel düzenleme ve görüntüleme aracı tarafından desteklenmez. JPG\'ye dönüştürmek bu sorunu kökten çözer.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs JPG: Verimlilik ve Evrensel Uyumluluk',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIF olağanüstü bir şekilde sıkıştırır: JPG\'de 4 MB yer kaplayan yüksek çözünürlüklü bir fotoğraf, aynı algılanan kaliteyi koruyarak AVIF\'te sadece 2 MB olabilir. Bu, yükleme performansının kritik olduğu web sunumu için mükemmel hale getirir. Ancak tarayıcı dışında AVIF pratik olarak görünmezdir: ne Windows Explorer önizleme yapar, ne kameralar dışa aktarır, ne de tasarımcılar iş akışlarında buna sıcak bakar.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPG, 30 yılı aşkın bir süredir dijital fotoğrafçılığın evrensel standardı olmuştur. Cihazların, işletim sistemlerinin, ofis uygulamalarının, sosyal ağların, yazıcıların ve şimdiye kadar bir görüntü görmüş olan her türlü yazılımın %100\'ü tarafından desteklenmektedir. Paylaşmanız, yazdırmanız, düzenlemeniz veya e-posta ile göndermeniz gerektiğinde JPG, her şeyin sorunsuz çalışacağının garantisidir.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Karşılaştırma: Bulut Dönüştürücüler ve Yerel Mimarimiz',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Bulut Dönüştürücüler',
|
|
98
|
+
description: 'AVIF dosyalarınızı işlemek için uzak bir sunucuya yükleyen araçlar.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Özel fotoğraflarınız internet üzerinden harici sunuculara gider',
|
|
103
|
+
'Dosyanın yüklenmesi ve indirilmesi için bekleme süreleri',
|
|
104
|
+
'Boyut sınırlamaları ve ücretsiz dönüşüm sayısı',
|
|
105
|
+
'Görüntülerin üçüncü taraf sunucularda tutulma riski',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Yerel Mimarimiz',
|
|
110
|
+
description: 'Vanilla JS teknolojisi ve Canvas API aracılığıyla doğrudan tarayıcınızda işleme.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Görüntüleriniz asla cihazınızdan çıkmaz',
|
|
115
|
+
'Ağ gecikmesi olmadan anında dönüşüm',
|
|
116
|
+
'Dosya veya boyut sınırı yok',
|
|
117
|
+
'Tıbbi, yasal veya gizli görüntüler için uygun',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Tarayıcıda teknik dönüşüm nasıl çalışır?',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Chrome, Firefox ve Edge gibi modern tarayıcılar, entegre AV1 kod çözücüleri sayesinde AVIF için yerel destek içerir. Bir AVIF dosyası yüklediğinizde, tarayıcı dosyayı bellekte çözer ve RAM\'de bir bit eşlem gösterimine dönüştürür. Bu gösterim, görünmez bir HTML5 <code>Canvas</code> öğesi üzerine çizilir.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Ardından Canvas, standart JPG sıkıştırmasını uygulayarak <code>toBlob(\'image/jpeg\', quality)</code> kullanarak görüntüyü dışa aktarır. JPG şeffaflığı desteklemediği için AVIF\'te bulunan her türlü alfa kanalı dışa aktarmadan önce beyaz arka planla doldurulur. Sonuç, tek bir bayt bile tarayıcınızdan çıkmadan doğrudan indirmeye hazır yüksek kaliteli bir JPG dosyasıdır.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Sıkıştırma ve uyumluluk arasındaki mükemmel denge',
|
|
138
|
+
html: 'AVIF, eşit kalitede JPG\'den %50 daha küçüktür - ancak JPG her türlü yazılımla %100 uyumluluğa sahiptir. Sunucudan AVIF görüntüleri alırsanız ve bunları düzenlemeniz, e-posta ile göndermeniz veya masaüstü araçlarında açmanız gerekiyorsa, önce bunları JPG\'ye dönüştürün.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Kullanım durumları: AVIF\'i JPG\'ye ne zaman dönüştürmeli?',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Photoshop, Lightroom, GIMP veya diğer masaüstü yazılımlarında düzenleme.',
|
|
150
|
+
'Görüntüleri eski cihazlardaki veya işletim sistemlerindeki kullanıcılarla paylaşma.',
|
|
151
|
+
'Herhangi bir e-posta istemcisinde görüntülemeyi garanti etmek için e-postalara ekleme.',
|
|
152
|
+
'Yükleme formatı olarak AVIF kabul etmeyen platformlarda yayınlama.',
|
|
153
|
+
'Yazdırma: Profesyonel yazdırma hizmetleri yerel olarak JPG ile çalışır.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Sonuç: Tek adımda evrensel uyumluluk',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'AVIF, görüntü sıkıştırmanın geleceğidir ancak bugün uyumluluk gerektirir. Dönüştürücümüz, her iki dünyanın da en iyisini elde etmenizi sağlar: maksimum verimlilik için görüntüleri AVIF\'te alın ve saklayın ve herhangi bir bağlamda çalışması gerektiğinde bunları anında JPG\'ye dönüştürün. Her şey özel, ücretsiz ve sınırsız.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: AvifAJpgLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'tr', 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 { AvifAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convert-avif-to-jpg';
|
|
6
|
+
const title = '在线将 AVIF 转换为 JPG';
|
|
7
|
+
const description =
|
|
8
|
+
'在浏览器中将 AVIF 图像转换为 JPG。无需服务器。100% 私密本地处理。免费且无限制。';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: '拖拽 AVIF 文件...',
|
|
12
|
+
convertText: '立即将其转换为 JPG',
|
|
13
|
+
selectFiles: '选择文件',
|
|
14
|
+
processedFiles: '已处理文件',
|
|
15
|
+
downloadAll: '下载全部 (.zip)',
|
|
16
|
+
pending: '等待中',
|
|
17
|
+
bibliographyTitle: '参考文献记录',
|
|
18
|
+
faqTitle: '常见问题',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: '为什么要将 AVIF 转换为 JPG?',
|
|
24
|
+
answer:
|
|
25
|
+
'AVIF 格式虽然提供了更卓越的压缩率,但并非所有程序或查看器都支持它。将其转换为 JPG 可确保图像可以在全球 100% 的设备上查看。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '我们如何保护您的 AVIF 图像?',
|
|
29
|
+
answer:
|
|
30
|
+
'您的照片永远不会离开您的手机或电脑。绘图并编码为 JPEG 的整个过程都在浏览器的 Javascript 环境中运行。',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '从 AVIF 转换为 JPG 会损失质量吗?',
|
|
34
|
+
answer:
|
|
35
|
+
'我们的工具以标准的 Canvas 质量(0.9 到 0.95)处理像素,使得画质的变化几乎无法察觉。',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: '拖拽文件或点击选择',
|
|
42
|
+
text: '将所有想要转换的 AVIF 照片移入指定的处理区域。',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: '即时转换',
|
|
46
|
+
text: '观察 AVIF 如何在不到一秒的时间内重新编码为 JPG,并将可能存在的 Alpha 通道替换为纯色背景。',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: '保存或下载 ZIP',
|
|
50
|
+
text: '逐个下载新的 JPG 图像,或者如果进行了批量处理,点击“下载全部”进行保存。',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'AV1 Image File Format (AVIF)',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'JPG 通用信息',
|
|
61
|
+
url: 'https://en.wikipedia.org/wiki/JPEG',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'AVIF 转 JPG 转换器:为您的现代图像提供通用兼容性',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'AVIF (AV1 Image File Format) 是目前最有效的图像格式。由 Alliance for Open Media 开发,基于 AV1 视频编解码器,它在保持相同视觉质量的前提下,压缩率比 JPG 高出 50%。然而,这种技术优势是有代价的:Photoshop、Lightroom、Windows 照片查看器以及大多数传统的编辑和可视化工具都不支持 AVIF。转换为 JPG 可以从根本上解决这个问题。',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs JPG:效率与通用兼容性的博弈',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIF 的压缩能力非常出色:在 JPG 中占用 4 MB 的高分辨率照片,在 AVIF 中仅占 2 MB 且能保持相同的感知质量。这对于对加载性能要求极高的网页分发来说非常完美。然而,在浏览器之外,AVIF 几乎是“隐身”的:Windows 资源管理器无法预览它,相机也无法直接导出它,设计师们在工作流中也不太愿意接受它。',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: '30 多年来,JPG 一直是数字摄影的通用标准。它受到 100% 设备、操作系统、办公应用、社交网络、打印机以及任何曾经显示过图像的软件的支持。当您需要分享、打印、编辑或通过电子邮件发送图像时,JPG 就是一切都能顺畅运行的保证。',
|
|
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
|
+
'图像可能在第三方服务器中被保留的风险',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: '我们的本地架构',
|
|
110
|
+
description: '通过 Vanilla JS 技术和 Canvas API 在浏览器中直接处理。',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'您的图像永远不会离开您的设备',
|
|
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 等现代浏览器凭借集成的 AV1 解码器,原生支持 AVIF。当您加载 AVIF 文件时,浏览器会在内存中对其进行解码,并将其转换为内存中的位图。这个位图会绘制在一个不可见的 HTML5 <code>Canvas</code> 元素上。',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: '接着,Canvas 使用 <code>toBlob(\'image/jpeg\', quality)</code> 导出图像,并应用标准的 JPG 压缩。由于 JPG 不支持透明度,AVIF 中存在的任何 Alpha 通道在导出前都会用白色背景填充。结果是一个高质量的 JPG 文件,可供直接下载,且没有一个字节离开过您的浏览器。',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: '压缩与兼容性的平衡',
|
|
138
|
+
html: '在相同质量下,AVIF 比 JPG 小 50% —— 但 JPG 与任何软件都有 100% 的兼容性。如果您从服务器收到 AVIF 图像,且需要编辑、发送邮件或在桌面工具中打开它们,请先将它们转换为 JPG。',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: '使用场景:何时将 AVIF 转换为 JPG',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'在 Photoshop、Lightroom、GIMP 或其他桌面软件中进行编辑。',
|
|
150
|
+
'与使用旧设备或操作系统的用户分享图像。',
|
|
151
|
+
'在电子邮件中添加附件,以确保在任何邮件客户端中都能正常查看。',
|
|
152
|
+
'在不接受 AVIF 作为上传格式的平台上发布。',
|
|
153
|
+
'打印:专业打印服务原生支持 JPG。',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: '结论:一步实现通用兼容性',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'AVIF 是图像压缩的未来,但目前兼容性至关重要。我们的转换器让您能兼顾两者的优点:接收并存储 AVIF 图像以获得最大效率,并在需要在任何情境下使用时,即时将它们转换为 JPG。一切都是私密的、免费的且无限制。',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: AvifAJpgLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'zh', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -13,9 +13,21 @@ export const avifAJpg: ConvertersToolEntry<ImageConverterUI> = {
|
|
|
13
13
|
fg: 'mdi:file-export',
|
|
14
14
|
},
|
|
15
15
|
i18n: {
|
|
16
|
-
|
|
16
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
17
17
|
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
18
19
|
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
20
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
21
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
22
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
23
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
24
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
25
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
26
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
27
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
28
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
29
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
30
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
19
31
|
},
|
|
20
32
|
};
|
|
21
33
|
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { AvifAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'avif-zu-png-konvertieren';
|
|
6
|
+
const title = 'AVIF in PNG Online Konvertieren';
|
|
7
|
+
const description =
|
|
8
|
+
'Konvertieren Sie AVIF-Bilder in PNG und behalten Sie dabei die Transparenz bei. Ohne Dateien hochzuladen. Lokale Verarbeitung in Ihrem Browser. Kostenlos und unbegrenzt.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'AVIF-Dateien hierher ziehen...',
|
|
12
|
+
convertText: 'Um sie sofort in PNG zu konvertieren',
|
|
13
|
+
selectFiles: 'Dateien auswählen',
|
|
14
|
+
processedFiles: 'Verarbeitete Dateien',
|
|
15
|
+
downloadAll: 'Alles herunterladen (.zip)',
|
|
16
|
+
pending: 'Ausstehend',
|
|
17
|
+
bibliographyTitle: 'Literaturhinweise',
|
|
18
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Warum sollte ich AVIF in PNG konvertieren?',
|
|
24
|
+
answer:
|
|
25
|
+
'AVIF ist großartig für die Kompression, aber die Kompatibilität in alten Browsern und klassischen Editoren ist eingeschränkt. Durch die Konvertierung von AVIF in PNG stellen Sie sicher, dass Ihre Datei die ursprüngliche Transparenz behält und von allen Anwendungen geöffnet werden kann.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Bleiben die Transparenzen der ursprünglichen AVIF-Datei erhalten?',
|
|
29
|
+
answer:
|
|
30
|
+
'Ja. Im Gegensatz zu JPG, das den transparenten Hintergrund entfernt, behält unser Konverter beim Export in PNG den Alphakanal intakt.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Werden meine Bilder wirklich nicht ins Internet hochgeladen?',
|
|
34
|
+
answer:
|
|
35
|
+
'Absolut richtig. Unser Konverter wird zu 100 % lokal auf Ihrem Gerät mit der internen JavaScript-Engine ausgeführt.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Fügen Sie Ihre AVIF-Dateien hinzu',
|
|
42
|
+
text: 'Sie können sie direkt in den markierten Bereich ziehen oder die Schaltfläche verwenden, um die Ordner auf Ihrem Gerät zu durchsuchen.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Sofortige Verarbeitung',
|
|
46
|
+
text: 'Lassen Sie den HTML5-Prozessor das Bild rendern; das Format wird in Mikrosekunden automatisch in PNG geändert.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Holen Sie sich Ihre PNGs',
|
|
50
|
+
text: 'Laden Sie die konvertierten Bilder einzeln herunter oder laden Sie einen kompletten Block über die ZIP-Schaltfläche herunter.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: AvifAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Alliance for Open Media: AVIF-Format',
|
|
57
|
+
url: 'https://aomediacodec.github.io/av1-avif/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'W3C - Portable Network Graphics (PNG) Spezifikation',
|
|
61
|
+
url: 'https://www.w3.org/TR/png/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAPngLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'AVIF-zu-PNG-Konverter: Von der Web-Bereitstellung zur professionellen Bearbeitung',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'AVIF ist das ideale Format für die Bereitstellung von Bildern im Web – klein, effizient und von hoher Qualität. Aber wenn es an der Zeit ist, diese Bilder in Design-Tools zu bearbeiten oder zu retuschieren, wird AVIF zu einem Hindernis. Figma, Photoshop, Illustrator, Sketch und praktisch jedes professionelle Design-Tool erwarten PNG für die Arbeit mit Transparenzen und verlustfreier Bearbeitung. Das Konvertieren von AVIF in PNG ist die Brücke zwischen der Welt der Web-Bereitstellung und der kreativen Bearbeitung.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs. PNG: Bereitstellung vs. Bearbeitung',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIF glänzt als Bereitstellungsformat: kleine Dateien, schnelles Laden, Unterstützung von Alphakanälen und außergewöhnliche visuelle Qualität. Sein Ökosystem an Tools ist jedoch begrenzt. Die meiste Design-Software kann AVIF nicht direkt importieren, was kreative Arbeitsabläufe unterbricht. Der Versuch, ein AVIF in Figma zu öffnen oder es als Ebene in Photoshop zu importieren, funktioniert einfach nicht.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'PNG ist das native Format des digitalen Designs. Mit verlustfreier Kompression, vollständiger Unterstützung von Alphakanälen und universeller Kompatibilität mit allen kreativen Tools ist PNG das Arbeitsformat schlechthin. Wenn Sie Bilder skalieren, retuschieren, in mehrere Formate exportieren oder in Ebenen arbeiten müssen, garantiert PNG, dass Sie dabei keine Details oder Pixel verlieren.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Vergleich: Cloud-Konverter vs. Unsere lokale Architektur',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Cloud Konverter',
|
|
98
|
+
description: 'Tools, die Ihre AVIF-Dateien zur Verarbeitung auf einen Remote-Server hochladen.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Ihre Design-Bilder wandern zu Servern von Drittanbietern',
|
|
103
|
+
'Wartezeit durch Netzwerklatenz',
|
|
104
|
+
'Möglicher Verlust oder Änderung des Alphakanals',
|
|
105
|
+
'Größenbeschränkungen, die die Stapelkonvertierung erschweren',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Unsere lokale Architektur',
|
|
110
|
+
description: 'Direkte Verarbeitung in Ihrem Browser mittels Vanilla JS-Technologie und Canvas API.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Alphakanal mit perfekter Treue erhalten',
|
|
115
|
+
'Sofortige Konvertierung ohne Datentransfer',
|
|
116
|
+
'Keine Beschränkungen für Dateien, Größe oder Stapel',
|
|
117
|
+
'Vollständige Privatsphäre für proprietäre Design-Assets',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Wie die technische Konvertierung mit Transparenzen funktioniert',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Moderne Browser dekodieren AVIF dank ihrer integrierten AV1-Engines nativ. Beim Laden der Datei dekodiert der Browser sie im Speicher und behält dabei alle Informationen des Alphakanals bei. Das dekodierte Bild – einschließlich seiner Transparenzen – wird auf ein HTML5-<code>Canvas</code>-Element mit dem richtigen Kompositionsmodus gezeichnet, um den Alphakanal zu erhalten.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Im Gegensatz zum Export in JPG (der Transparenzen durch Ausfüllen mit Weiß zerstört), bleibt beim Export in PNG mittels <code>toBlob(\'image/png\')</code> der Alphakanal vollständig erhalten. Das Ergebnis ist ein PNG mit verlustfreier Kompression, das jeden Pixel, jede Semitransparenz und jedes Detail des ursprünglichen AVIF beibehält.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Der obligatorische Vorab Schritt für jedes Design Tool',
|
|
138
|
+
html: 'Konvertieren Sie Ihre AVIFs in PNG, bevor Sie sie in Figma, Photoshop, Illustrator oder ein anderes Design-Tool importieren. Diese Anwendungen lesen AVIF nicht direkt, aber PNG funktioniert in allen nativ und behält Transparenzen und Qualität perfekt bei.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Anwendungsfälle: Wann Sie AVIF in PNG konvertieren müssen',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Importieren in Figma, Sketch, Adobe XD oder andere UI-Design-Tools.',
|
|
150
|
+
'Bearbeiten als Ebene in Photoshop, Affinity Photo oder GIMP unter Beibehaltung der Transparenz.',
|
|
151
|
+
'Verwendung als Quelle für die Erstellung von Icons oder Sprites.',
|
|
152
|
+
'Senden an Kunden oder Mitarbeiter, die mit Standard-Design-Software arbeiten.',
|
|
153
|
+
'Archivieren von Bildern mit Transparenzen im verlustfreien Bearbeitungsformat.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Fazit: Die Brücke zwischen Web und Design',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'AVIF und PNG sind perfekte Begleiter in einem modernen Arbeitsablauf: AVIF für die effiziente Bereitstellung im Web, PNG für die Bearbeitung und Zusammenarbeit in Design-Tools. Mit unserem Konverter ist der Übergang von einem zum anderen sofortig, privat und bewahrt jedes Detail – genau das, was Sie brauchen, wenn es auf Ihre visuellen Assets ankommt.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: AvifAPngLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'de', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
1
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
3
|
import type { AvifAPngLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'avif-to-png-converter';
|
|
@@ -164,16 +164,6 @@ const seo: AvifAPngLocaleContent['seo'] = [
|
|
|
164
164
|
},
|
|
165
165
|
];
|
|
166
166
|
|
|
167
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
168
|
-
'@context': 'https://schema.org',
|
|
169
|
-
'@type': 'SoftwareApplication',
|
|
170
|
-
name: title,
|
|
171
|
-
description,
|
|
172
|
-
applicationCategory: 'UtilitiesApplication',
|
|
173
|
-
operatingSystem: 'Web',
|
|
174
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
-
inLanguage: 'en',
|
|
176
|
-
};
|
|
177
167
|
|
|
178
168
|
export const content: AvifAPngLocaleContent = {
|
|
179
169
|
slug,
|
|
@@ -184,5 +174,5 @@ export const content: AvifAPngLocaleContent = {
|
|
|
184
174
|
faq,
|
|
185
175
|
bibliography,
|
|
186
176
|
howTo,
|
|
187
|
-
schemas:
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'en', faq, howTo }),
|
|
188
178
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
1
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
3
|
import type { AvifAPngLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'convertidor-avif-a-png';
|
|
@@ -164,16 +164,6 @@ const seo: AvifAPngLocaleContent['seo'] = [
|
|
|
164
164
|
},
|
|
165
165
|
];
|
|
166
166
|
|
|
167
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
168
|
-
'@context': 'https://schema.org',
|
|
169
|
-
'@type': 'SoftwareApplication',
|
|
170
|
-
name: title,
|
|
171
|
-
description,
|
|
172
|
-
applicationCategory: 'UtilitiesApplication',
|
|
173
|
-
operatingSystem: 'Web',
|
|
174
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
-
inLanguage: 'es',
|
|
176
|
-
};
|
|
177
167
|
|
|
178
168
|
export const content: AvifAPngLocaleContent = {
|
|
179
169
|
slug,
|
|
@@ -184,5 +174,5 @@ export const content: AvifAPngLocaleContent = {
|
|
|
184
174
|
faq,
|
|
185
175
|
bibliography,
|
|
186
176
|
howTo,
|
|
187
|
-
schemas:
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'es', faq, howTo }),
|
|
188
178
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
1
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
3
|
import type { AvifAPngLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'convertisseur-avif-en-png';
|
|
@@ -164,16 +164,6 @@ const seo: AvifAPngLocaleContent['seo'] = [
|
|
|
164
164
|
},
|
|
165
165
|
];
|
|
166
166
|
|
|
167
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
168
|
-
'@context': 'https://schema.org',
|
|
169
|
-
'@type': 'SoftwareApplication',
|
|
170
|
-
name: title,
|
|
171
|
-
description,
|
|
172
|
-
applicationCategory: 'UtilitiesApplication',
|
|
173
|
-
operatingSystem: 'Web',
|
|
174
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
-
inLanguage: 'fr',
|
|
176
|
-
};
|
|
177
167
|
|
|
178
168
|
export const content: AvifAPngLocaleContent = {
|
|
179
169
|
slug,
|
|
@@ -184,5 +174,5 @@ export const content: AvifAPngLocaleContent = {
|
|
|
184
174
|
faq,
|
|
185
175
|
bibliography,
|
|
186
176
|
howTo,
|
|
187
|
-
schemas:
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'fr', faq, howTo }),
|
|
188
178
|
};
|