@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,182 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { WebpAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'konwerter-webp-na-jpg';
|
|
6
|
+
const title = 'Konwertuj WebP na JPG Online i Za Darmo';
|
|
7
|
+
const description =
|
|
8
|
+
'Konwertuj obrazy WebP na JPG bez przesyłania plików. 100% prywatne przetwarzanie lokalne. Przezroczyste tła są automatycznie zastępowane kolorem białym.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Przeciągnij pliki WebP...',
|
|
12
|
+
convertText: 'Aby błyskawicznie przekonwertować je na JPG',
|
|
13
|
+
selectFiles: 'Wybierz pliki',
|
|
14
|
+
processedFiles: 'Przetworzone pliki',
|
|
15
|
+
downloadAll: 'Pobierz wszystko (.zip)',
|
|
16
|
+
pending: 'Oczekujące',
|
|
17
|
+
bibliographyTitle: 'Bibliografia',
|
|
18
|
+
faqTitle: 'Często Zadawane Pytania',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: WebpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Czy mogę bezpiecznie przesyłać prywatne obrazy?',
|
|
24
|
+
answer:
|
|
25
|
+
'Tak. Nie używamy serwera do przesyłania plików. Twoja przeglądarka przetwarza plik WebP bezpośrednio na Twoim komputerze i generuje plik JPG do pobrania. Nikt inny go nie widzi.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Co dzieje się z moją przezroczystością w formacie WebP?',
|
|
29
|
+
answer:
|
|
30
|
+
'Ponieważ format JPG nie obsługuje przezroczystości, konwerter automatycznie wypełni przezroczyste obszary jednolitym białym tłem.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Czy istnieje limit konwersji lub rozmiaru pliku?',
|
|
34
|
+
answer:
|
|
35
|
+
'Nie nakładamy żadnych ograniczeń. Możesz konwertować setki obrazów, o ile Twój komputer posiada wystarczającą moc obliczeniową i pamięć RAM.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Przeciągnij pliki',
|
|
42
|
+
text: 'Upuść nowoczesne pliki WebP w obszarze przesyłania lub wybierz je za pomocą interaktywnej przeglądarki plików.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Konwersja lokalna',
|
|
46
|
+
text: 'Obserwuj, jak lokalny silnik nakłada tło i interpretuje każdy piksel do uniwersalnego formatu JPG.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Odbierz wyniki',
|
|
50
|
+
text: 'Pobieraj pojedynczo lub użyj pakietu ZIP, aby skonsolidować wszystkie nowe fotografie.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'JPEG.org: Standardy JPEG',
|
|
57
|
+
url: 'https://jpeg.org/jpeg/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Mozilla Developer Network - image/jpeg',
|
|
61
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types#jpeg',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'Kompatybilność WebP z JPEG',
|
|
65
|
+
url: 'https://developers.google.com/speed/webp/faq',
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const seo: WebpAJpgLocaleContent['seo'] = [
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
text: 'Konwerter WebP na JPG: Uniwersalna kompatybilność bez kompromisów w zakresie prywatności',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: '<strong>WebP</strong> to propozycja Google w zakresie wydajności: lżejsze obrazy o jakości porównywalnej z tradycyjnym JPG. Jednak jego kompatybilność pozostaje problemem w świecie rzeczywistym. Klienci poczty e-mail, tacy jak Outlook, starsze oprogramowanie do projektowania, aplikacje do przesyłania wiadomości i firmowe procesy pracy wciąż zależą od wszechobecnego formatu <strong>JPG</strong>. Konwersja WebP na JPG to pomost między nowoczesną siecią a światem rzeczywistym.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'WebP vs JPG: Kiedy używać każdego z formatów?',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebP doskonale sprawdza się w kontrolowanych środowiskach: nowoczesnych stronach internetowych w przeglądarkach Chrome, Edge lub Firefox, gdzie można zagwarantować kompatybilność. Jego doskonała kompresja zmniejsza wagę plików o 25–35% w porównaniu z odpowiednikiem JPG, poprawiając czas ładowania i wskaźniki Core Web Vitals. Jest to idealny format, gdy kontrolujesz środowisko wyświetlania.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'JPG z drugiej strony działa w <em>absolutnie każdym kontekście</em>: załącznikach e-mail, prezentacjach PowerPoint, dokumentach Word, drukarkach domowych, starszych aplikacjach do edycji i platformach społecznościowych bez wyjątku. Jeśli potrzebujesz, aby ktoś otworzył Twój obraz bez żadnych problemów technicznych, JPG jest właściwą odpowiedzią.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'title',
|
|
94
|
+
text: 'Porównanie: Konwersja lokalna vs w chmurze',
|
|
95
|
+
level: 3,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'comparative',
|
|
99
|
+
items: [
|
|
100
|
+
{
|
|
101
|
+
title: 'Konwertery w chmurze',
|
|
102
|
+
description: 'Narzędzia, które przesyłają Twoje pliki na zdalny serwer.',
|
|
103
|
+
icon: 'mdi:cloud-upload',
|
|
104
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
105
|
+
points: [
|
|
106
|
+
'Twoje zdjęcia podróżują przez internet na nieznane serwery',
|
|
107
|
+
'Czas oczekiwania na przesłanie i zdalne przetwarzanie',
|
|
108
|
+
'Codzienne limity rozmiaru plików i darmowych konwersji',
|
|
109
|
+
'Realne ryzyko przechowywania danych na serwerach stron trzecich',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: 'Nasza lokalna architektura',
|
|
114
|
+
description: 'Bezpośrednie przetwarzanie na Twoim sprzęcie przy użyciu technologii Vanilla JS.',
|
|
115
|
+
icon: 'mdi:laptop-mac',
|
|
116
|
+
highlight: true,
|
|
117
|
+
points: [
|
|
118
|
+
'Przesłano zero bajtów: wszystko dzieje się w Twojej pamięci RAM',
|
|
119
|
+
'Natychmiastowa szybkość bez zależności od połączenia internetowego',
|
|
120
|
+
'Brak limitów rozmiaru plików ani liczby plików',
|
|
121
|
+
'Idealne dla zdjęć osobistych, medycznych lub firmowych',
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Jak to działa technicznie',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Gdy przeciągniesz plik WebP do narzędzia, przeglądarka natywnie go dekoduje przy użyciu wewnętrznego silnika renderowania. Następnie obraz jest rysowany na niewidocznym elemencie <strong>HTML5 Canvas</strong>. Ponieważ format JPG nie obsługuje przezroczystości, algorytm wstępnie wypełnia płótno jednolitym białym tłem przed nałożeniem obrazu.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'Ostatnim krokiem jest eksport: metoda Canvas <code>toDataURL(\'image/jpeg\')</code> konwertuje piksele płótna na wysokiej jakości skompresowany strumień bajtów JPG. Strumień ten jest dostarczany bezpośrednio do systemu pobierania przeglądarki, bez jakiejkolwiek komunikacji sieciowej. Cały proces trwa milisekundy, nawet w przypadku obrazów o dużej liczbie megapikseli.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'tip',
|
|
141
|
+
title: 'Wskazówka dotycząca kompatybilności',
|
|
142
|
+
html: 'Podczas udostępniania zdjęć nietechnicznym użytkownikom lub wysyłania ich pocztą e-mail, zawsze używaj formatu JPG — brak problemów z kompatybilnością w dowolnym kliencie pocztowym, systemie operacyjnym lub urządzeniu, bez wyjątków i przykrych niespodzianek.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
text: 'Zastosowania i kompatybilność',
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
|
+
'Doczepianie zdjęć w e-mailach z programów Outlook, Gmail lub Apple Mail.',
|
|
154
|
+
'Wstawianie obrazów w dokumentach Word, Excel lub prezentacjach PowerPoint.',
|
|
155
|
+
'Publikowanie na platformach społecznościowych, które odrzucają format WebP.',
|
|
156
|
+
'Udostępnianie przez WhatsApp lub komunikatory z ograniczoną obsługą formatów.',
|
|
157
|
+
'Drukowanie zdjęć w serwisach fotograficznych, które akceptują tylko JPG lub PNG.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'Podsumowanie',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'WebP to przyszłość obrazów internetowych, ale JPG pozostaje królem uniwersalnej kompatybilności. To narzędzie pozwala pokonać ten pomost w kilka sekund, całkowicie prywatnie i bez instalowania czegokolwiek. Twój obraz nigdy nie opuszcza Twojego urządzenia.',
|
|
168
|
+
},
|
|
169
|
+
];
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
export const content: WebpAJpgLocaleContent = {
|
|
173
|
+
slug,
|
|
174
|
+
title,
|
|
175
|
+
description,
|
|
176
|
+
ui,
|
|
177
|
+
seo,
|
|
178
|
+
faq,
|
|
179
|
+
bibliography,
|
|
180
|
+
howTo,
|
|
181
|
+
schemas: generateSchemas({ title, description, inLanguage: 'pl', faq, howTo }),
|
|
182
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { WebpAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'conversor-de-webp-para-jpg';
|
|
6
|
+
const title = 'Converter WebP para JPG Online e Grátis';
|
|
7
|
+
const description =
|
|
8
|
+
'Converta imagens WebP para JPG sem carregar arquivos. Processamento local 100% privado. Fundos transparentes são automaticamente substituídos por branco.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Arraste arquivos WebP...',
|
|
12
|
+
convertText: 'Para convertê-los em JPG instantaneamente',
|
|
13
|
+
selectFiles: 'Selecionar arquivos',
|
|
14
|
+
processedFiles: 'Arquivos processados',
|
|
15
|
+
downloadAll: 'Baixar tudo (.zip)',
|
|
16
|
+
pending: 'Pendente',
|
|
17
|
+
bibliographyTitle: 'Referências Bibliográficas',
|
|
18
|
+
faqTitle: 'Perguntas Frequentes',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: WebpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Posso carregar imagens privadas com segurança?',
|
|
24
|
+
answer:
|
|
25
|
+
'Sim. Não existe servidor de upload. O seu navegador processa o WebP no seu computador e gera o JPG para você baixar. Mais ninguém o vê.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'O que acontece ao meu fundo WebP se ele for transparente?',
|
|
29
|
+
answer:
|
|
30
|
+
'Como o JPG não suporta transparência, o conversor preencherá automaticamente as áreas transparentes com um fundo branco sólido.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Existe um limite de conversões ou tamanho de arquivo?',
|
|
34
|
+
answer:
|
|
35
|
+
'Não impomos restrições. Pode converter centenas de imagens desde que o seu computador tenha poder de processamento e RAM suficientes.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Arraste os seus arquivos',
|
|
42
|
+
text: 'Largue os seus arquivos WebP modernos na área de upload ou selecione-os usando o explorador de arquivos interativo.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Conversão Local',
|
|
46
|
+
text: 'Veja como o motor local aplica um fundo e interpreta cada píxel para o formato JPG universal.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Obtenha os seus resultados',
|
|
50
|
+
text: 'Baixe individualmente ou use o pacote ZIP para consolidar todas as suas novas fotografias.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'JPEG.org: Os padrões JPEG',
|
|
57
|
+
url: 'https://jpeg.org/jpeg/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Mozilla Developer Network - image/jpeg',
|
|
61
|
+
url: 'https://developer.mozilla.org/pt-BR/docs/Web/Media/Formats/Image_types#jpeg',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'Compatibilidade de WebP para JPEG',
|
|
65
|
+
url: 'https://developers.google.com/speed/webp/faq',
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const seo: WebpAJpgLocaleContent['seo'] = [
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
text: 'Conversor de WebP para JPG: Compatibilidade Universal sem Comprometer a Privacidade',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: 'O <strong>WebP</strong> é a aposta da Google na eficiência: imagens mais leves com qualidade comparável ao JPG tradicional. No entanto, a sua compatibilidade continua a ser um problema no mundo real. Clientes de e-mail como o Outlook, software de design legado, apps de mensagens e fluxos de trabalho corporativos ainda dependem do onipresente <strong>JPG</strong>. Converter WebP para JPG é a ponte entre a web moderna e o mundo real.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'WebP vs JPG: Quando usar cada formato?',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'O WebP brilha em ambientes controlados: sites modernos no Chrome, Edge ou Firefox, onde a compatibilidade do navegador pode ser garantida. A sua compressão superior reduz o peso do arquivo em 25–35% em comparação com um JPG equivalente, melhorando os tempos de carregamento e as métricas de Core Web Vitals. É o formato ideal quando você controla o ambiente de visualização.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'O JPG, por outro lado, funciona em <em>absolutamente todos os contextos</em>: anexos de e-mail, apresentações PowerPoint, documentos Word, impressoras domésticas, aplicações de edição legadas e plataformas de redes sociais, sem exceção. Se você precisa que alguém abra a sua imagem sem qualquer fricção técnica, o JPG é a resposta certa.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'title',
|
|
94
|
+
text: 'Comparação: Conversão Local vs Cloud',
|
|
95
|
+
level: 3,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'comparative',
|
|
99
|
+
items: [
|
|
100
|
+
{
|
|
101
|
+
title: 'Conversores Cloud',
|
|
102
|
+
description: 'Ferramentas que carregam os seus arquivos para um servidor remoto.',
|
|
103
|
+
icon: 'mdi:cloud-upload',
|
|
104
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
105
|
+
points: [
|
|
106
|
+
'As suas fotos viajam pela internet para servidores desconhecidos',
|
|
107
|
+
'Tempo de espera para upload e processamento remoto',
|
|
108
|
+
'Limites diários no tamanho do arquivo e conversões gratuitas',
|
|
109
|
+
'Risco real de retenção de dados em servidores de terceiros',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: 'A Nossa Arquitetura Local',
|
|
114
|
+
description: 'Processamento direto no seu hardware utilizando a tecnologia Vanilla JS.',
|
|
115
|
+
icon: 'mdi:laptop-mac',
|
|
116
|
+
highlight: true,
|
|
117
|
+
points: [
|
|
118
|
+
'Zero bytes enviados: tudo acontece na sua RAM',
|
|
119
|
+
'Velocidade instantânea sem depender da sua ligação',
|
|
120
|
+
'Sem limites no tamanho ou número de arquivos',
|
|
121
|
+
'Perfeito para fotos pessoais, médicas ou corporativas',
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Como funciona tecnicamente',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Quando você arrasta um arquivo WebP para a ferramenta, o navegador descodifica-o nativamente usando o seu motor de renderização interno. O arquivo é então desenhado num elemento <strong>HTML5 Canvas</strong> invisível. Como o JPG não suporta transparência, o algoritmo pré-preenche o canvas com um fundo branco sólido antes de compor a imagem por cima.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'O passo final é a exportação: o método de Canvas <code>toDataURL(\'image/jpeg\')</code> converte os píxeis do canvas num fluxo de bytes JPG comprimido de alta qualidade. Este fluxo é entregue diretamente ao sistema de download do navegador, sem qualquer comunicação de rede. Todo o processo demora milissegundos, mesmo para imagens de muitos megapíxeis.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'tip',
|
|
141
|
+
title: 'Dica de compatibilidade',
|
|
142
|
+
html: 'Ao compartilhar fotos com utilizadores não técnicos ou enviá-las por e-mail, use sempre JPG — zero problemas de compatibilidade em qualquer cliente de e-mail, sistema operativo ou dispositivo, sem exceções e sem surpresas desagradáveis.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
text: 'Casos de uso e compatibilidade',
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
|
+
'Anexar fotos em e-mails do Outlook, Gmail ou Apple Mail.',
|
|
154
|
+
'Inserir imagens em documentos Word, Excel ou apresentações PowerPoint.',
|
|
155
|
+
'Publicar em redes sociais que rejeitam WebP.',
|
|
156
|
+
'Compartilhar via WhatsApp ou apps de mensagens com suporte limitado a formatos.',
|
|
157
|
+
'Imprimir fotografias em serviços de impressão que apenas aceitam JPG ou PNG.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'Conclusão',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'O WebP é o futuro das imagens web, mas o JPG continua a ser o rei da compatibilidade universal. Esta ferramenta permite atravessar essa ponte em segundos, de forma totalmente privada e sem instalar nada. A sua imagem nunca deixa o seu dispositivo.',
|
|
168
|
+
},
|
|
169
|
+
];
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
export const content: WebpAJpgLocaleContent = {
|
|
173
|
+
slug,
|
|
174
|
+
title,
|
|
175
|
+
description,
|
|
176
|
+
ui,
|
|
177
|
+
seo,
|
|
178
|
+
faq,
|
|
179
|
+
bibliography,
|
|
180
|
+
howTo,
|
|
181
|
+
schemas: generateSchemas({ title, description, inLanguage: 'pt', faq, howTo }),
|
|
182
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { WebpAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'konverter-webp-v-jpg';
|
|
6
|
+
const title = 'Конвертировать WebP в JPG Онлайн и Бесплатно';
|
|
7
|
+
const description =
|
|
8
|
+
'Конвертируйте изображения WebP в JPG без загрузки на сервер. 100% приватная локальная обработка. Прозрачный фон автоматически заменяется белым.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Перетащите файлы WebP...',
|
|
12
|
+
convertText: 'Чтобы мгновенно конвертировать их в JPG',
|
|
13
|
+
selectFiles: 'Выбрать файлы',
|
|
14
|
+
processedFiles: 'Обработанные файлы',
|
|
15
|
+
downloadAll: 'Скачать всё (.zip)',
|
|
16
|
+
pending: 'В ожидании',
|
|
17
|
+
bibliographyTitle: 'Библиографические ссылки',
|
|
18
|
+
faqTitle: 'Часто задаваемые вопросы',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: WebpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Могу ли я безопасно конвертировать личные фотографии?',
|
|
24
|
+
answer:
|
|
25
|
+
'Да. У нас нет сервера для загрузки. Ваш браузер обрабатывает WebP прямо на вашем компьютере и генерирует JPG для скачивания. Никто больше их не увидит.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Что произойдет с прозрачным фоном в WebP?',
|
|
29
|
+
answer:
|
|
30
|
+
'Так как формат JPG не поддерживает прозрачность, конвертер автоматически заполнит прозрачные области сплошным белым фоном.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Есть ли ограничения на количество файлов или их размер?',
|
|
34
|
+
answer:
|
|
35
|
+
'Мы не накладываем никаких ограничений. Вы можете конвертировать сотни изображений, пока у вашего компьютера достаточно мощности процессора и оперативной памяти.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Перетащите ваши файлы',
|
|
42
|
+
text: 'Переместите ваши файлы WebP в область загрузки или выберите их с помощью интерактивного проводника.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Локальная конвертация',
|
|
46
|
+
text: 'Наблюдайте, как локальный движок применяет фон и интерпретирует каждый пиксель в универсальный формат JPG.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Получите результат',
|
|
50
|
+
text: 'Скачивайте изображения по отдельности или используйте ZIP-архив, чтобы собрать все новые фотографии вместе.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'JPEG.org: стандарты JPEG',
|
|
57
|
+
url: 'https://jpeg.org/jpeg/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Mozilla Developer Network - image/jpeg',
|
|
61
|
+
url: 'https://developer.mozilla.org/ru/docs/Web/Media/Formats/Image_types#jpeg',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'Совместимость WebP и JPEG',
|
|
65
|
+
url: 'https://developers.google.com/speed/webp/faq',
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const seo: WebpAJpgLocaleContent['seo'] = [
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
text: 'Конвертер WebP в JPG: универсальная совместимость без компромиссов с приватностью',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: '<strong>WebP</strong> — это ставка Google на эффективность: более легкие изображения при качестве, сопоставимом с традиционным JPG. Однако совместимость остается проблемой в реальном мире. Почтовые клиенты, такие как Outlook, устаревшее ПО для дизайна, мессенджеры и корпоративные рабочие процессы по-прежнему зависят от вездесущего <strong>JPG</strong>. Конвертирование WebP в JPG — это мост между современным вебом и реальностью.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'WebP против JPG: когда использовать какой формат?',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebP превосходен в контролируемых средах: современные веб-сайты в Chrome, Edge или Firefox, где совместимость браузеров гарантирована. Его превосходное сжатие уменьшает размер файла на 25–35% по сравнению с эквивалентным JPG, улучшая время загрузки и показатели Core Web Vitals. Это идеальный формат, когда вы контролируете среду просмотра.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'JPG, с другой стороны, работает в <em>абсолютно любом контексте</em>: вложения в электронную почту, презентации PowerPoint, документы Word, домашние принтеры, старые приложения для редактирования и социальные сети без исключения. Если вам нужно, чтобы кто-то открыл ваше изображение без технических сложностей, JPG — правильный ответ.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'title',
|
|
94
|
+
text: 'Сравнение: локальная vs облачная конвертация',
|
|
95
|
+
level: 3,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'comparative',
|
|
99
|
+
items: [
|
|
100
|
+
{
|
|
101
|
+
title: 'Облачные конвертеры',
|
|
102
|
+
description: 'Инструменты, которые загружают ваши файлы на удаленный сервер.',
|
|
103
|
+
icon: 'mdi:cloud-upload',
|
|
104
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
105
|
+
points: [
|
|
106
|
+
'Ваши фотографии передаются через интернет на неизвестные серверы',
|
|
107
|
+
'Время ожидания загрузки и удаленной обработки',
|
|
108
|
+
'Дневные лимиты на размер файлов и количество бесплатных конвертаций',
|
|
109
|
+
'Реальный риск хранения данных на сторонних серверах',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: 'Наша локальная архитектура',
|
|
114
|
+
description: 'Прямая обработка на вашем оборудовании с использованием технологии Vanilla JS.',
|
|
115
|
+
icon: 'mdi:laptop-mac',
|
|
116
|
+
highlight: true,
|
|
117
|
+
points: [
|
|
118
|
+
'Передано ноль байт: всё происходит в вашей оперативной памяти',
|
|
119
|
+
'Мгновенная скорость без зависимости от интернет-соединения',
|
|
120
|
+
'Нет ограничений на размер или количество файлов',
|
|
121
|
+
'Идеально для личных, медицинских или корпоративных фотографий',
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Как это работает технически',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Когда вы перетаскиваете файл WebP в инструмент, браузер декодирует его нативно с помощью своего внутреннего движка рендеринга. Затем изображение отрисовывается на невидимом элементе <strong>HTML5 Canvas</strong>. Поскольку JPG не поддерживает прозрачность, алгоритм предварительно заполняет холст сплошным белым фоном перед наложением изображения.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'Заключительный этап — экспорт: метод Canvas <code>toDataURL(\'image/jpeg\')</code> преобразует пиксели холста в высококачественный поток байтов сжатого JPG. Этот поток доставляется непосредственно в систему загрузки браузера без какой-либо сетевой активности. Весь процесс занимает миллисекунды даже для многомегапиксельных изображений.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'tip',
|
|
141
|
+
title: 'Совет по совместимости',
|
|
142
|
+
html: 'При обмене фотографиями с обычными пользователями или отправке по почте всегда используйте JPG — никаких проблем с совместимостью в любых почтовых клиентах, ОС или устройствах, без исключений и неприятных сюрпризов.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
text: 'Варианты использования и совместимость',
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
|
+
'Прикрепление фотографий в письмах Outlook, Gmail или Apple Mail.',
|
|
154
|
+
'Вставка изображений в документы Word, Excel или презентации PowerPoint.',
|
|
155
|
+
'Публикация в социальных сетях, которые не принимают WebP.',
|
|
156
|
+
'Обмен через WhatsApp или мессенджеры с ограниченной поддержкой форматов.',
|
|
157
|
+
'Печать фотографий в сервисах, которые принимают только JPG или PNG.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'Заключение',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'WebP — это будущее изображений в вебе, но JPG остается королем универсальной совместимости. Этот инструмент позволяет преодолеть этот разрыв за считанные секунды, полностью приватно и без установки программ. Ваше изображение никогда не покидает ваше устройство.',
|
|
168
|
+
},
|
|
169
|
+
];
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
export const content: WebpAJpgLocaleContent = {
|
|
173
|
+
slug,
|
|
174
|
+
title,
|
|
175
|
+
description,
|
|
176
|
+
ui,
|
|
177
|
+
seo,
|
|
178
|
+
faq,
|
|
179
|
+
bibliography,
|
|
180
|
+
howTo,
|
|
181
|
+
schemas: generateSchemas({ title, description, inLanguage: 'ru', faq, howTo }),
|
|
182
|
+
};
|