@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
|
@@ -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 { AvifAJpgLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'convertidor-avif-a-jpg';
|
|
@@ -164,16 +164,6 @@ const seo: AvifAJpgLocaleContent['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: AvifAJpgLocaleContent = {
|
|
179
169
|
slug,
|
|
@@ -184,5 +174,5 @@ export const content: AvifAJpgLocaleContent = {
|
|
|
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 { AvifAJpgLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'convertisseur-avif-en-jpg';
|
|
@@ -164,16 +164,6 @@ const seo: AvifAJpgLocaleContent['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: AvifAJpgLocaleContent = {
|
|
179
169
|
slug,
|
|
@@ -184,5 +174,5 @@ export const content: AvifAJpgLocaleContent = {
|
|
|
184
174
|
faq,
|
|
185
175
|
bibliography,
|
|
186
176
|
howTo,
|
|
187
|
-
schemas:
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'fr', faq, howTo }),
|
|
188
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 = 'konverter-avif-ke-jpg';
|
|
6
|
+
const title = 'Ubah AVIF ke JPG Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Ubah gambar AVIF ke JPG di browser Anda. Tanpa server. Pemrosesan lokal 100% pribadi. Gratis dan tidak terbatas.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Seret file AVIF...',
|
|
12
|
+
convertText: 'Untuk mengubahnya ke JPG secara instan',
|
|
13
|
+
selectFiles: 'Pilih file',
|
|
14
|
+
processedFiles: 'File yang diproses',
|
|
15
|
+
downloadAll: 'Unduh Semua (.zip)',
|
|
16
|
+
pending: 'Tertunda',
|
|
17
|
+
bibliographyTitle: 'Referensi Bibliografi',
|
|
18
|
+
faqTitle: 'Pertanyaan Umum',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Mengapa mengubah AVIF ke JPG?',
|
|
24
|
+
answer:
|
|
25
|
+
'Format AVIF menawarkan kompresi yang unggul, tetapi tidak semua program atau penampil mendukungnya. Mengubahnya ke JPG memastikan bahwa gambar tersebut dapat dilihat di 100% perangkat di seluruh dunia.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Bagaimana kami melindungi gambar AVIF Anda?',
|
|
29
|
+
answer:
|
|
30
|
+
'Foto-foto Anda tidak pernah keluar dari ponsel atau PC Anda. Seluruh proses penggambaran dan pengkodean ke JPEG dijalankan di lingkungan Javascript browser Anda.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Apakah saya akan kehilangan kualitas saat beralih dari AVIF ke JPG?',
|
|
34
|
+
answer:
|
|
35
|
+
'Alat kami memproses piksel dengan kualitas standar Canvas (0,9 hingga 0,95), membuat perubahan hampir tidak terlihat.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Seret file atau klik',
|
|
42
|
+
text: 'Pindahkan semua foto AVIF yang ingin Anda ubah ke area pemrosesan yang ditentukan.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Transformasi Instan',
|
|
46
|
+
text: 'Lihat dalam waktu kurang dari satu detik bagaimana AVIF dikodekan ulang ke JPG, mengganti saluran alfa yang mungkin ada dengan latar belakang solid.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Simpan atau Unduh ZIP',
|
|
50
|
+
text: 'Unduh gambar JPG baru Anda secara individual atau dengan menekan Unduh Semua jika Anda memproses secara massal.',
|
|
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: 'Informasi Umum JPG',
|
|
61
|
+
url: 'https://en.wikipedia.org/wiki/JPEG',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Konverter AVIF ke JPG: Kompatibilitas Universal untuk Gambar Modern Anda',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'AVIF (AV1 Image File Format) adalah format gambar paling efisien yang tersedia saat ini. Dikembangkan oleh Alliance for Open Media dan didasarkan pada codec video AV1, format ini menawarkan kompresi 50% lebih baik daripada JPG pada kualitas visual yang sama. Namun, keunggulan teknis ini ada harganya: AVIF tidak didukung oleh Photoshop, Lightroom, Penampil Foto Windows, atau sebagian besar alat pengeditan dan tampilan tradisional. Mengubahnya ke JPG menyelesaikan masalah ini secara tuntas.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs JPG: Efisiensi vs Kompatibilitas Universal',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIF mengompresi secara luar biasa: foto beresolusi tinggi yang di JPG berukuran 4 MB bisa berukuran hanya 2 MB di AVIF dengan tetap menjaga kualitas yang sama. Ini menjadikannya sempurna untuk pengiriman web di mana kinerja pemuatan sangat kritis. Namun, di luar browser, AVIF praktis tidak terlihat: Windows Explorer tidak menampilkan pratinjaunya, kamera tidak mengekspornya, dan desainer tidak menerimanya dengan senang hati dalam alur kerja mereka.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPG telah menjadi standar universal fotografi digital selama lebih dari 30 tahun. Format ini didukung oleh 100% perangkat, sistem operasi, aplikasi kantor, jejaring sosial, printer, dan perangkat lunak apa pun yang pernah menampilkan gambar. Saat Anda perlu membagikan, mencetak, mengedit, atau mengirim melalui email, JPG adalah jaminan bahwa semuanya akan berjalan lancar.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Perbandingan: Konverter Cloud vs Arsitektur Lokal Kami',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Konverter Cloud',
|
|
98
|
+
description: 'Alat yang mengunggah file AVIF Anda ke server jarak jauh untuk memprosesnya.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Foto pribadi Anda dikirim melalui internet ke server eksternal',
|
|
103
|
+
'Waktu tunggu untuk mengunggah dan mengunduh file',
|
|
104
|
+
'Batasan ukuran dan jumlah konversi gratis',
|
|
105
|
+
'Risiko penyimpanan gambar di server pihak ketiga',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Arsitektur Lokal Kami',
|
|
110
|
+
description: 'Pemrosesan langsung di browser Anda menggunakan teknologi Vanilla JS dan Canvas API.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Gambar Anda tidak pernah keluar dari perangkat Anda',
|
|
115
|
+
'Konversi instan tanpa latensi jaringan',
|
|
116
|
+
'Tanpa batasan jumlah file maupun ukuran',
|
|
117
|
+
'Cocok untuk gambar medis, hukum, atau rahasia',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Cara kerja konversi teknis di browser',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Browser modern seperti Chrome, Firefox, dan Edge menyertakan dukungan asli untuk AVIF berkat decoder AV1 terintegrasi mereka. Saat Anda memuat file AVIF, browser mendekodenya dalam memori dan mengubahnya menjadi representasi bitmap di RAM. Representasi ini digambar di atas elemen <code>Canvas</code> HTML5 yang tidak terlihat.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Selanjutnya, Canvas mengekspor gambar menggunakan <code>toBlob(\'image/jpeg\', quality)</code>, menerapkan kompresi JPG standar. Karena JPG tidak mendukung transparansi, semua saluran alfa yang ada di AVIF akan diisi dengan latar belakang putih sebelum diekspor. Hasilnya adalah file JPG berkualitas tinggi yang siap untuk diunduh langsung, tanpa ada byte yang keluar dari browser Anda.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Keseimbangan sempurna antara kompresi dan kompatibilitas',
|
|
138
|
+
html: 'AVIF 50% lebih kecil dari JPG untuk kualitas yang sama — tetapi JPG memiliki kompatibilitas 100% dengan perangkat lunak apa pun. Jika Anda menerima gambar AVIF dari server dan perlu mengeditnya, mengirimnya melalui email, atau membukanya di alat desktop, ubah ke JPG terlebih dahulu.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Kasus penggunaan: kapan mengubah AVIF ke JPG',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Edit di Photoshop, Lightroom, GIMP, atau perangkat lunak desktop lainnya.',
|
|
150
|
+
'Bagikan gambar dengan pengguna di perangkat atau sistem operasi lama.',
|
|
151
|
+
'Lampirkan dalam email untuk menjamin tampilan di klien email mana pun.',
|
|
152
|
+
'Publikasikan di platform yang tidak menerima AVIF sebagai format unggahan.',
|
|
153
|
+
'Cetak: layanan pencetakan profesional bekerja secara asli dengan JPG.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Kesimpulan: Kompatibilitas universal dalam satu langkah',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'AVIF adalah masa depan kompresi gambar, tetapi saat ini menuntut kompatibilitas. Konverter kami memungkinkan Anda mendapatkan yang terbaik dari kedua dunia: terima dan simpan gambar dalam AVIF untuk efisiensi maksimum, dan ubah ke JPG secara instan saat Anda membutuhkannya untuk berfungsi dalam konteks apa pun. Semuanya secara pribadi, gratis, dan tanpa batas.',
|
|
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: 'id', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { AvifAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertitore-avif-a-jpg';
|
|
6
|
+
const title = 'Convertire AVIF in JPG Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Converti le tue immagini AVIF in JPG nel tuo browser. Senza server. Elaborazione locale al 100% privata. Gratuito e illimitato.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Trascina i file AVIF...',
|
|
12
|
+
convertText: 'Per convertirli in JPG istantaneamente',
|
|
13
|
+
selectFiles: 'Seleziona i file',
|
|
14
|
+
processedFiles: 'File elaborati',
|
|
15
|
+
downloadAll: 'Scarica tutto (.zip)',
|
|
16
|
+
pending: 'In attesa',
|
|
17
|
+
bibliographyTitle: 'Riferimenti Bibliografici',
|
|
18
|
+
faqTitle: 'Domande Frequenti',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Perché convertire AVIF in JPG?',
|
|
24
|
+
answer:
|
|
25
|
+
'Il formato AVIF offre una compressione superiore, ma non tutti i programmi o visualizzatori lo supportano. Convertirlo in JPG assicura che l\'immagine possa essere vista sul 100% dei dispositivi nel mondo.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Come proteggiamo le tue immagini AVIF?',
|
|
29
|
+
answer:
|
|
30
|
+
'Le tue foto non lasciano mai il tuo cellulare o PC. Tutto il processo di disegno e codifica in JPEG viene eseguito nell\'ambiente Javascript del tuo browser.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Perderò qualità passando da AVIF a JPG?',
|
|
34
|
+
answer:
|
|
35
|
+
'Il nostro strumento elabora i pixel con una qualità standard di Canvas (da 0,9 a 0,95), facendo sì che i cambiamenti siano appena percettibili.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Trascina i file o clicca',
|
|
42
|
+
text: 'Sposta tutte le fotografie AVIF che desideri convertire nell\'area di elaborazione delimitata.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Trasformazione Istantanea',
|
|
46
|
+
text: 'Osserva in meno di un secondo come l\'AVIF viene ricodificato in JPG eliminando eventuali canali alfa con uno sfondo solido.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Salva o Scarica lo ZIP',
|
|
50
|
+
text: 'Scarica le tue nuove immagini JPG individualmente o premendo "Scarica tutto" se hai elaborato in batch.',
|
|
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: 'Informazioni Generali sul JPG',
|
|
61
|
+
url: 'https://en.wikipedia.org/wiki/JPEG',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertitore AVIF a JPG: Compatibilità Universale per le Tue Immagini Moderne',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'L\'AVIF (AV1 Image File Format) è il formato immagine più efficiente disponibile oggi. Sviluppato da Alliance for Open Media e basato sul codec video AV1, offre una compressione superiore del 50% rispetto al JPG a parità di qualità visiva. Tuttavia, questo vantaggio tecnico ha un prezzo: l\'AVIF non è supportato da Photoshop, Lightroom, Visualizzatore foto di Windows, né dalla maggior parte degli strumenti di editing e visualizzazione tradizionali. Convertire in JPG risolve questo problema alla radice.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs JPG: Efficienza contro Compatibilità Universale',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'L\'AVIF comprime in modo straordinario: una foto ad alta risoluzione che in JPG occupa 4 MB può pesare appena 2 MB in AVIF mantenendo la stessa qualità percepita. Questo lo rende perfetto per la distribuzione web dove le prestazioni di caricamento sono critiche. Tuttavia, al di fuori del browser, l\'AVIF è praticamente invisibile: né Esplora file di Windows lo visualizza in anteprima, né le fotocamere lo esportano, né i designer lo ricevono con favore nei loro flussi di lavoro.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'Il JPG è da oltre 30 anni lo standard universale della fotografia digitale. È supportato dal 100% dei dispositivi, sistemi operativi, applicazioni per ufficio, social network, stampanti e qualsiasi software che abbia mai visualizzato un\'immagine. Quando hai bisogno di condividere, stampare, modificare o inviare via email, il JPG è la garanzia che tutto funzionerà senza problemi.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Confronto: Convertitori Cloud vs La Nostra Architettura Locale',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Convertitori Cloud',
|
|
98
|
+
description: 'Strumenti che caricano i tuoi file AVIF su un server remoto per elaborarli.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Le tue foto private viaggiano su Internet verso server esterni',
|
|
103
|
+
'Tempi di attesa per il caricamento e lo scaricamento del file',
|
|
104
|
+
'Limiti di dimensione e numero di conversioni gratuite',
|
|
105
|
+
'Rischio di conservazione delle immagini su server di terze parti',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'La Nostra Architettura Locale',
|
|
110
|
+
description: 'Elaborazione diretta nel tuo browser tramite tecnologia Vanilla JS e Canvas API.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Le tue immagini non lasciano mai il tuo dispositivo',
|
|
115
|
+
'Conversione istantanea senza latenza di rete',
|
|
116
|
+
'Senza limiti di file né di dimensioni',
|
|
117
|
+
'Adatto per immagini mediche, legali o riservate',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Come funziona la conversione tecnica nel browser',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'I browser moderni come Chrome, Firefox ed Edge includono il supporto nativo per l\'AVIF grazie ai loro decodificatori AV1 integrati. Quando carichi un file AVIF, il browser lo decodifica in memoria e lo converte in una rappresentazione bitmap nella RAM. Questa rappresentazione viene disegnata su un elemento <code>Canvas</code> HTML5 invisibile.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Successivamente, il Canvas esporta l\'immagine usando <code>toBlob(\'image/jpeg\', quality)</code>, applicando la compressione JPG standard. Dato che il JPG non supporta le trasparenze, qualsiasi canale alfa presente nell\'AVIF viene riempito con uno sfondo bianco prima dell\'esportazione. Il risultato è un file JPG di alta qualità pronto per il download diretto, senza che alcun byte abbia lasciato il tuo browser.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'L\'equilibrio perfetto tra compressione e compatibilità',
|
|
138
|
+
html: 'L\'AVIF è più piccolo del 50% rispetto al JPG a parità di qualità — ma il JPG ha una compatibilità del 100% con qualsiasi software. Se ricevi immagini AVIF dal server e hai bisogno di modificarle, inviarle via email o aprirle in strumenti desktop, convertile prima in JPG.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Casi d\'uso: quando convertire AVIF a JPG',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Modificare in Photoshop, Lightroom, GIMP o altro software desktop.',
|
|
150
|
+
'Condividere immagini con utenti su dispositivi o sistemi operativi vecchi.',
|
|
151
|
+
'Allegare nelle email per garantire la visualizzazione in qualsiasi client di posta.',
|
|
152
|
+
'Pubblicare su piattaforme che non accettano l\'AVIF come formato di caricamento.',
|
|
153
|
+
'Stampare: i servizi di stampa professionale lavorano con il JPG in modo nativo.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Conclusione: La compatibilità universale in un solo passaggio',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'L\'AVIF è il futuro della compressione delle immagini, ma il presente esige compatibilità. Il nostro convertitore ti permette di ottenere il meglio da entrambi i mondi: ricevi e memorizza immagini in AVIF per la massima efficienza, e convertile in JPG istantaneamente quando hai bisogno che funzionino in qualsiasi contesto. Tutto in modo privato, gratuito e senza limiti.',
|
|
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: 'it', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { 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
|
+
'お客様の写真は、スマートフォンやPCから外部に出ることはありません。JPEGへの描画およびエンコードの全プロセスは、ブラウザのJavascript環境内で実行されます。',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'AVIFからJPGに変換すると品質は低下しますか?',
|
|
34
|
+
answer:
|
|
35
|
+
'当ツールは標準的なキャンバスクオリティ(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が1秒以内にJPGとして再エンコードされる様子を確認してください。',
|
|
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%高い圧縮率を実現します。しかし、この技術的な優位性には代償があります。AVIFは、Photoshop、Lightroom、Windowsフォトビューアー、およびほとんどの伝統的な編集・表示ツールでサポートされていません。JPGに変換することで、この問題を根本から解決できます。',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs JPG:効率性とユニバーサルな互換性の比較',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIFの圧縮能力は非常に優れています。JPGで4MBを占める高解像度の写真も、同じ知覚品質を維持しながら、AVIFではわずか2MBに抑えられる場合があります。これは、読み込みパフォーマンスが重要なウェブ配信にとって完璧です。しかし、ブラウザ以外の環境では、AVIFはほとんど認識されません。Windowsエクスプローラーでのプレビュー表示ができず、カメラもこの形式を書き出さず、デザイナーもワークフローで受け入れにくいのが現状です。',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPGは30年以上にわたり、デジタル写真のユニバーサルな標準であり続けています。100%のデバイス、OS、オフィスアプリケーション、SNS、プリンター、そして画像表示ソフトウェアのすべてでサポートされています。共有、印刷、編集、またはメール送信が必要な場合、JPGはすべてが問題なく動作することを保証するものです。',
|
|
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
|
+
'画像がデバイスから外部へ出ることはありません',
|
|
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ファイルを読み込むと、ブラウザはそれをメモリ内でデコードし、RAM上のビットマップデータに変換します。このデータが不可視のHTML5 <code>Canvas</code>要素上に描画されます。',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: '次に、Canvasは標準的なJPG圧縮を適用しながら <code>toBlob(\'image/jpeg\', quality)</code> を使用して画像を書き出します。JPGは透明度をサポートしていないため、AVIF内に存在するアルファチャンネルは書き出し前に白色背景で塗りつぶされます。結果として、1バイトも外部へ流出することなく、高品質な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
|
+
'古いデバイスやOSを使用しているユーザーと画像を共有するとき。',
|
|
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: 'ja', faq, howTo }),
|
|
178
|
+
};
|