@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 { AvifAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'avif-till-jpg-konverterare';
|
|
6
|
+
const title = 'Konvertera AVIF till JPG Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Konvertera AVIF-bilder till JPG i din webbläsare. Utan server. 100 % privat lokal bearbetning. Gratis och obegränsat.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Dra AVIF-filer hit...',
|
|
12
|
+
convertText: 'För att konvertera dem till JPG direkt',
|
|
13
|
+
selectFiles: 'Välj filer',
|
|
14
|
+
processedFiles: 'Bearbetade filer',
|
|
15
|
+
downloadAll: 'Ladda ner alla (.zip)',
|
|
16
|
+
pending: 'Väntande',
|
|
17
|
+
bibliographyTitle: 'Bibliografiska Referenser',
|
|
18
|
+
faqTitle: 'Vanliga Frågor',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: AvifAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Varför konvertera AVIF till JPG?',
|
|
24
|
+
answer:
|
|
25
|
+
'AVIF-formatet erbjuder överlägsen kompression, men inte alla program eller bildvisare stöder det. Att konvertera till JPG säkerställer att bilden kan ses på 100 % av världens enheter.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Hur skyddar vi dina AVIF-bilder?',
|
|
29
|
+
answer:
|
|
30
|
+
'Dina bilder lämnar aldrig din mobil eller dator. Hela processen med att rita och koda till JPEG körs i din webbläsares Javascript-miljö.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Kommer jag att förlora kvalitet när jag byter från AVIF till JPG?',
|
|
34
|
+
answer:
|
|
35
|
+
'Vårt verktyg bearbetar pixlarna med en standardkvalitet för Canvas (0,9 till 0,95), vilket gör att förändringarna knappt är märkbara.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: AvifAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Dra filer eller klicka',
|
|
42
|
+
text: 'Flytta alla AVIF-bilder du vill konvertera till det markerade bearbetningsområdet.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Omedelbar Transformation',
|
|
46
|
+
text: 'Se hur AVIF-bilden kodas om till JPG på mindre än en sekund, och ersätter eventuella alfakanaler med en solid bakgrund.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Spara eller ladda ner ZIP',
|
|
50
|
+
text: 'Ladda ner dina nya JPG-bilder en och en eller tryck på Ladda ner alla om du bearbetade flera filer samtidigt.',
|
|
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: 'Allmän information om JPG',
|
|
61
|
+
url: 'https://en.wikipedia.org/wiki/JPEG',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: AvifAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'AVIF till JPG-konverterare: Universell kompatibilitet för dina moderna bilder',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'AVIF (AV1 Image File Format) är det mest effektiva bildformatet som finns tillgängligt idag. Det är utvecklat av Alliance for Open Media och baserat på videokodeken AV1, och erbjuder en kompression som är 50 % bättre än JPG med samma visuella kvalitet. Denna tekniska fördel har dock ett pris: AVIF stöds inte av Photoshop, Lightroom, Windows bildvisare eller de flesta traditionella redigerings- och visningsverktyg. Att konvertera till JPG löser detta problem i grunden.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'AVIF vs JPG: Effektivitet mot universell kompatibilitet',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'AVIF komprimerar på ett enastående sätt: en högupplöst bild som i JPG tar upp 4 MB kan väga knappt 2 MB i AVIF med samma upplevda kvalitet. Detta gör det perfekt för webben där laddningsprestanda är avgörande. Utanför webbläsaren är AVIF dock praktiskt taget osynligt: varken Windows Explorer förhandsgranskar det, kameror exporterar det inte, och designers tar inte gärna emot det i sina arbetsflöden.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPG har varit den universella standarden för digital fotografering i över 30 år. Det stöds av 100 % av enheterna, operativsystemen, kontorsprogrammen, sociala medier, skrivare och all programvara som någonsin har visat en bild. När du behöver dela, skriva ut, redigera eller e-posta är JPG garantin för att allt fungerar utan problem.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Jämförelse: Molnkonverterare vs Vår lokala arkitektur',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Molnkonverterare',
|
|
98
|
+
description: 'Verktyg som laddar upp dina AVIF-filer till en fjärrserver för bearbetning.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Dina privata bilder skickas via internet till externa servrar',
|
|
103
|
+
'Väntetider för uppladdning och nedladdning av filen',
|
|
104
|
+
'Begränsningar i storlek och antal gratis konverteringar',
|
|
105
|
+
'Risk för att bilderna sparas på tredjepartsservrar',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Vår lokala arkitektur',
|
|
110
|
+
description: 'Direkt bearbetning i din webbläsare via Vanilla JS-teknik och Canvas API.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Dina bilder lämnar aldrig din enhet',
|
|
115
|
+
'Omedelbar konvertering utan nätverksfördröjning',
|
|
116
|
+
'Inga begränsningar för filer eller storlek',
|
|
117
|
+
'Lämplig för medicinska, juridiska eller konfidentiella bilder',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Hur den tekniska konverteringen i webbläsaren fungerar',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Moderna webbläsare som Chrome, Firefox och Edge inkluderar inbyggt stöd för AVIF tack vare sina integrerade AV1-avkodare. När du laddar en AVIF-fil avkodar webbläsaren den i minnet och konverterar den till en bitmappsrepresentation i RAM-minnet. Denna representation ritas på ett osynligt HTML5 <code>Canvas</code>-element.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Därefter exporterar Canvas-elementet bilden med <code>toBlob(\'image/jpeg\', quality)</code> och tillämpar standard JPG-kompression. Eftersom JPG inte stöder transparens fylls alla alfakanaler som finns i AVIF-filen med en vit bakgrund före exporten. Resultatet är en JPG-fil av hög kvalitet som är redo för direkt nedladdning, utan att en enda byte har lämnat din webbläsare.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Den perfekta balansen mellan kompression och kompatibilitet',
|
|
138
|
+
html: 'AVIF är 50 % mindre än JPG med samma kvalitet – men JPG har 100 % kompatibilitet med all programvara. Om du får AVIF-bilder från en server och behöver redigera dem, e-posta dem eller öppna dem i skrivbordsverktyg, konvertera dem till JPG först.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Användningsområden: när man ska konvertera AVIF till JPG',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Redigera i Photoshop, Lightroom, GIMP eller annan skrivbordsprogramvara.',
|
|
150
|
+
'Dela bilder med användare på gamla enheter eller operativsystem.',
|
|
151
|
+
'Bifoga i e-postmeddelanden för att garantera visning i alla e-postklienter.',
|
|
152
|
+
'Publicera på plattformar som inte accepterar AVIF som uppladdningsformat.',
|
|
153
|
+
'Skriva ut: Professionella utskriftstjänster arbetar med JPG nativt.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Slutsats: Universell kompatibilitet i ett steg',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'AVIF är framtiden för bildkompression, men nuet kräver kompatibilitet. Vår konverterare låter dig få det bästa av två världar: ta emot och lagra bilder i AVIF för maximal effektivitet, och konvertera dem till JPG direkt när du behöver att de fungerar i alla sammanhang. Allt privat, gratis och utan begränsningar.',
|
|
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: 'sv', 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 = '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 = 'avif-to-jpg-converter';
|
|
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
|
|