@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 = 'webp-till-jpg-konverterare';
|
|
6
|
+
const title = 'Konvertera WebP till JPG Online och Gratis';
|
|
7
|
+
const description =
|
|
8
|
+
'Konvertera WebP-bilder till JPG utan att ladda upp filer. 100 % privat lokal bearbetning. Transparenta bakgrunder ersätts automatiskt med vitt.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Dra WebP-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: WebpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Kan jag ladda upp privata bilder säkert?',
|
|
24
|
+
answer:
|
|
25
|
+
'Ja. Det finns ingen uppladdningsserver. Din webbläsare bearbetar WebP-filen på din dator och genererar en JPG-fil som du kan ladda ner. Ingen annan ser den.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Vad händer med min WebP-bakgrund om den är transparent?',
|
|
29
|
+
answer:
|
|
30
|
+
'Eftersom JPG inte stöder transparens kommer konverteraren automatiskt att fylla transparenta områden med en solid vit bakgrund.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Finns det någon gräns för konverteringar eller filstorlek?',
|
|
34
|
+
answer:
|
|
35
|
+
'Vi sätter inga begränsningar. Du kan konvertera hundratals bilder så länge din dator har tillräcklig processorkraft och RAM.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Dra dina filer',
|
|
42
|
+
text: 'Släpp dina moderna WebP-filer i uppladdningsområdet eller välj dem med den interaktiva filbläddraren.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Lokal konvertering',
|
|
46
|
+
text: 'Se hur den lokala motorn applicerar en bakgrund och tolkar varje pixel till det universella JPG-formatet.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Hämta dina resultat',
|
|
50
|
+
text: 'Ladda ner individuellt eller använd ZIP-paketet för att samla alla dina nya fotografier.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'JPEG.org: JPEG-standarderna',
|
|
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: 'Kompatibilitet mellan WebP och 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 till JPG-konverterare: Universell kompatibilitet utan att kompromissa med integriteten',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: '<strong>WebP</strong> är Googles satsning på effektivitet: lättare bilder med kvalitet jämförbar med traditionell JPG. Dess kompatibilitet förblir dock ett problem i den verkliga världen. E-postklienter som Outlook, äldre designprogram, meddelandeappar och företagets arbetsflöden är fortfarande beroende av det allestädes närvarande <strong>JPG</strong>-formatet. Att konvertera WebP till JPG är bryggan mellan den moderna webben och den verkliga världen.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'WebP vs JPG: När ska man använda respektive format?',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebP briljerar i kontrollerade miljöer: moderna webbplatser i Chrome, Edge eller Firefox där webbläsarkompatibilitet kan garanteras. Dess överlägsna komprimering minskar filstorleken med 25–35 % jämfört med motsvarande JPG, vilket förbättrar laddningstider och mätvärden för Core Web Vitals. Det är det ideala formatet när du kontrollerar visningsmiljön.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'JPG å andra sidan fungerar i <em>absolut alla sammanhang</em>: e-postbilagor, PowerPoint presentationer, Word dokument, hemmaskrivare, äldre redigeringsprogram och sociala medieplattformar utan undantag. Om du behöver att någon ska kunna öppna din bild utan tekniska hinder är JPG det rätta svaret.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'title',
|
|
94
|
+
text: 'Jämförelse: Lokal vs Molnkonvertering',
|
|
95
|
+
level: 3,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'comparative',
|
|
99
|
+
items: [
|
|
100
|
+
{
|
|
101
|
+
title: 'Molnkonverterare',
|
|
102
|
+
description: 'Verktyg som laddar upp dina filer till en fjärrserver.',
|
|
103
|
+
icon: 'mdi:cloud-upload',
|
|
104
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
105
|
+
points: [
|
|
106
|
+
'Dina foton skickas över internet till okända servrar',
|
|
107
|
+
'Väntetid för uppladdning och fjärrbearbetning',
|
|
108
|
+
'Dagliga begränsningar för filstorlek och gratis konverteringar',
|
|
109
|
+
'Verklig risk för datalagring på servrar från tredje part',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: 'Vår Lokala Arkitektur',
|
|
114
|
+
description: 'Direkt bearbetning på din hårdvara med Vanilla JS-teknik.',
|
|
115
|
+
icon: 'mdi:laptop-mac',
|
|
116
|
+
highlight: true,
|
|
117
|
+
points: [
|
|
118
|
+
'Noll byte skickas: allt sker i ditt RAM-minne',
|
|
119
|
+
'Omedelbar hastighet utan att bero på din anslutning',
|
|
120
|
+
'Inga gränser för filstorlek eller antal filer',
|
|
121
|
+
'Perfekt för personliga, medicinska eller företagsfoton',
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Hur det fungerar tekniskt',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'När du drar en WebP-fil till verktyget avkodar webbläsaren den nativt med sin interna renderingsmotor. Filen ritas sedan på ett osynligt <strong>HTML5 Canvas</strong>-element. Eftersom JPG inte har stöd för transparens fyller algoritmen duken med en solid vit bakgrund innan bilden läggs ovanpå.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'Sista steget är export: Canvas-metoden <code>toDataURL(\'image/jpeg\')</code> omvandlar pixlarna till en högkvalitativ komprimerad JPG-byteström. Denna ström levereras direkt till webbläsarens nedladdningssystem, utan någon nätverkskommunikation. Hela processen tar millisekunder även för bilder på flera megapixel.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'tip',
|
|
141
|
+
title: 'Tips för kompatibilitet',
|
|
142
|
+
html: 'När du delar foton med icke-tekniska användare eller skickar dem via e-post, använd alltid JPG – noll kompatibilitetsproblem i alla e-postklienter, operativsystem eller enheter, inga undantag och inga obehagliga överraskningar.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
text: 'Användningsområden och kompatibilitet',
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
|
+
'Bifoga foton i e-postmeddelanden från Outlook, Gmail eller Apple Mail.',
|
|
154
|
+
'Infoga bilder i Word dokument, Excel eller PowerPoint presentationer.',
|
|
155
|
+
'Publicera på sociala medieplattformar som nekar WebP.',
|
|
156
|
+
'Dela via WhatsApp eller meddelandeappar med begränsat formatstöd.',
|
|
157
|
+
'Skriva ut fotografier hos utskriftstjänster som endast accepterar JPG eller PNG.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'Slutsats',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'WebP är framtiden för webbbilder, men JPG förblir kungen av universell kompatibilitet. Detta verktyg låter dig korsa den bryggan på några sekunder, helt privat och utan att installera något. Din bild lämnar aldrig din enhet.',
|
|
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: 'sv', 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 = 'webp-den-jpg-ye-donusturucu';
|
|
6
|
+
const title = 'WebP\'yi JPG\'ye Çevrimiçi ve Ücretsiz Dönüştürün';
|
|
7
|
+
const description =
|
|
8
|
+
'Dosyaları yüklemeden WebP görüntülerini JPG\'ye dönüştürün. %100 özel yerel işleme. Şeffaf arka planlar otomatik olarak beyazla değiştirilir.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'WebP dosyalarını sürükleyin...',
|
|
12
|
+
convertText: 'Onları anında JPG\'ye dönüştürmek için',
|
|
13
|
+
selectFiles: 'Dosyaları seçin',
|
|
14
|
+
processedFiles: 'İşlenmiş 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: WebpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Özel resimleri güvenli bir şekilde yükleyebilir miyim?',
|
|
24
|
+
answer:
|
|
25
|
+
'Evet. Herhangi bir yükleme sunucusu yok. Tarayıcınız WebP\'yi bilgisayarınızda işler ve indirmeniz için JPG\'yi oluşturur. Başka kimse görmez.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'WebP arka planım şeffafsa ne olur?',
|
|
29
|
+
answer:
|
|
30
|
+
'JPG şeffaflığı desteklemediğinden, dönüştürücü şeffaf alanları otomatik olarak düz beyaz bir arka planla dolduracaktır.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Dönüştürmelerde veya dosya boyutunda bir sınır var mı?',
|
|
34
|
+
answer:
|
|
35
|
+
'Herhangi bir kısıtlama getirmiyoruz. Bilgisayarınız yeterli işlem gücüne ve RAM\'e sahip olduğu sürece yüzlerce görüntüyü dönüştürebilirsiniz.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Dosyalarınızı sürükleyin',
|
|
42
|
+
text: 'Modern WebP dosyalarınızı yükleme alanına bırakın veya etkileşimli dosya tarayıcısını kullanarak seçin.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Yerel Dönüştürme',
|
|
46
|
+
text: 'Yerel motorun bir arka plan uygulamasını ve her pikseli evrensel JPG formatına yorumlamasını izleyin.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Sonuçlarınızı alın',
|
|
50
|
+
text: 'Tek tek indirin veya tüm yeni fotoğraflarınızı birleştirmek için ZIP paketini kullanın.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'JPEG.org: JPEG standartları',
|
|
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: 'WebP\'den JPEG\'e uyumluluk',
|
|
65
|
+
url: 'https://developers.google.com/speed/webp/faq',
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const seo: WebpAJpgLocaleContent['seo'] = [
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
text: 'WebP\'den JPG\'ye Dönüştürücü: Gizlilikten Ödün Vermeden Evrensel Uyumluluk',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: '<strong>WebP</strong>, Google\'ın verimlilik konusundaki bahsidir: geleneksel JPG ile karşılaştırılabilir kalitede daha hafif görüntüler. Ancak uyumluluğu gerçek dünyada bir sorun olmaya devam ediyor. Outlook gibi e-posta istemcileri, eski tasarım yazılımları, mesajlaşma uygulamaları ve kurumsal iş akışları hala her yerde bulunan <strong>JPG</strong>\'ye bağlıdır. WebP\'yi JPG\'ye dönüştürmek, modern web ile gerçek dünya arasındaki köprüdür.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'WebP mi JPG mi? Her Format Ne Zaman Kullanılmalı?',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebP, kontrollü ortamlarda mükemmeldir: tarayıcı uyumluluğunun garanti edilebildiği Chrome, Edge veya Firefox üzerindeki modern web siteleri. Üstün sıkıştırması, dosya ağırlığını eşdeğer JPG\'ye kıyasla %25-35 oranında azaltarak yükleme sürelerini ve Core Web Vitals metriklerini iyileştirir. Görüntüleme ortamını kontrol ettiğinizde ideal formattır.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'JPG ise <em>kesinlikle her bağlamda</em> çalışır: e-posta ekleri, PowerPoint sunumları, Word belgeleri, ev yazıcıları, eski düzenleme uygulamaları ve istisnasız sosyal medya platformları. Birinin resminizi herhangi bir teknik sürtünme olmadan açmasına ihtiyacınız varsa, JPG doğru cevaptır.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'title',
|
|
94
|
+
text: 'Karşılaştırma: Yerel ve Bulut Dönüştürme',
|
|
95
|
+
level: 3,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'comparative',
|
|
99
|
+
items: [
|
|
100
|
+
{
|
|
101
|
+
title: 'Bulut Dönüştürücüler',
|
|
102
|
+
description: 'Dosyalarınızı uzak bir sunucuya yükleyen araçlar.',
|
|
103
|
+
icon: 'mdi:cloud-upload',
|
|
104
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
105
|
+
points: [
|
|
106
|
+
'Fotoğraflarınız internet üzerinden bilinmeyen sunuculara gider',
|
|
107
|
+
'Yükleme ve uzaktan işleme için bekleme süresi',
|
|
108
|
+
'Dosya boyutu ve ücretsiz dönüştürme sayısında günlük sınırlar',
|
|
109
|
+
'Üçüncü taraf sunucularda veri tutma konusunda gerçek risk',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: 'Yerel Mimarimiz',
|
|
114
|
+
description: 'Vanilla JS teknolojisini kullanarak doğrudan donanımınızda işleme.',
|
|
115
|
+
icon: 'mdi:laptop-mac',
|
|
116
|
+
highlight: true,
|
|
117
|
+
points: [
|
|
118
|
+
'Sıfır bayt gönderilir: Her şey RAM\'inizde gerçekleşir',
|
|
119
|
+
'Bağlantınıza bağlı kalmadan anlık hız',
|
|
120
|
+
'Dosya boyutu veya dosya sayısında sınır yok',
|
|
121
|
+
'Kişisel, tıbbi veya kurumsal fotoğraflar için mükemmel',
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Teknik Olarak Nasıl Çalışır',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Bir WebP dosyasını araca sürüklediğinizde, tarayıcı dahili işleme motorunu kullanarak onu yerel olarak çözer. Dosya daha sonra görünmez bir <strong>HTML5 Canvas</strong> öğesine çizilir. JPG şeffaflığı desteklemediğinden, algoritma görüntüyü üzerine yerleştirmeden önce kanvası düz beyaz bir arka planla önceden doldurur.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'Son adım dışa aktarmadır: Kanvas yöntemi <code>toDataURL(\'image/jpeg\')</code> kanvas piksellerini yüksek kaliteli sıkıştırılmış bir JPG bayt akışına dönüştürür. Bu akış, herhangi bir ağ iletişimi olmaksızın doğrudan tarayıcının indirme sistemine iletilir. Tüm süreç, çok megapikselli görüntüler için bile milisaniyeler sürer.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'tip',
|
|
141
|
+
title: 'Uyumluluk ipucu',
|
|
142
|
+
html: 'Fotoğrafları teknik olmayan kullanıcılarla paylaşırken veya e-posta yoluyla gönderirken daima JPG kullanın — herhangi bir e-posta istemcisi, işletim sistemi veya cihazda sıfır uyumluluk sorunu, istisna yok ve hoş olmayan sürprizler yok.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
text: 'Kullanım Durumları ve Uyumluluk',
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
|
+
'Outlook, Gmail veya Apple Mail\'den gelen e-postalara fotoğraf ekleme.',
|
|
154
|
+
'Word belgelerine, Excel\'e veya PowerPoint sunumlarına resim ekleme.',
|
|
155
|
+
'WebP\'yi reddeden sosyal medya platformlarında paylaşım yapma.',
|
|
156
|
+
'Sınırlı format desteğine sahip WhatsApp veya mesajlaşma uygulamaları aracılığıyla paylaşma.',
|
|
157
|
+
'Yalnızca JPG veya PNG kabul eden baskı hizmetlerinde fotoğraf yazdırma.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'Sonuç',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'WebP web görüntülerinin geleceğidir, ancak JPG evrensel uyumluluğun kralı olmaya devam ediyor. Bu araç, bu köprüyü saniyeler içinde, tamamen özel olarak ve herhangi bir şey yüklemeden geçmenizi sağlar. Resminiz cihazınızdan asla ayrılmaz.',
|
|
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: 'tr', 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 = 'webp-to-jpg-converter';
|
|
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/zh-CN/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 是连接现代 Web 与现实世界的桥梁。',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'WebP vs JPG: 什么时候应该使用哪种格式?',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebP 在可控环境中表现出色: 在 Chrome、Edge 或 Firefox 等浏览器兼容性有保障的现代网站上。与其等效的 JPG 相比, 它的卓越压缩使文件大小减少了 25-35%, 从而提高了加载速度和 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: 'zh', faq, howTo }),
|
|
182
|
+
};
|
|
@@ -16,6 +16,18 @@ export const webpAJpg: ConvertersToolEntry<ImageConverterUI> = {
|
|
|
16
16
|
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
17
|
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
18
|
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
19
|
+
de: () => import('./i18n/de').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
|
|