@jjlmoya/utils-converters 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +60 -59
- package/src/shared/ImageConverter.astro +2 -1
- package/src/shared/logic/schemas.ts +57 -0
- package/src/tests/faq_count.test.ts +13 -4
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/seo_length.test.ts +1 -1
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/avifAJpg/i18n/de.ts +178 -0
- package/src/tool/avifAJpg/i18n/en.ts +2 -12
- package/src/tool/avifAJpg/i18n/es.ts +2 -12
- package/src/tool/avifAJpg/i18n/fr.ts +2 -12
- package/src/tool/avifAJpg/i18n/id.ts +178 -0
- package/src/tool/avifAJpg/i18n/it.ts +178 -0
- package/src/tool/avifAJpg/i18n/ja.ts +178 -0
- package/src/tool/avifAJpg/i18n/ko.ts +178 -0
- package/src/tool/avifAJpg/i18n/nl.ts +178 -0
- package/src/tool/avifAJpg/i18n/pl.ts +178 -0
- package/src/tool/avifAJpg/i18n/pt.ts +178 -0
- package/src/tool/avifAJpg/i18n/ru.ts +178 -0
- package/src/tool/avifAJpg/i18n/sv.ts +178 -0
- package/src/tool/avifAJpg/i18n/tr.ts +178 -0
- package/src/tool/avifAJpg/i18n/zh.ts +178 -0
- package/src/tool/avifAJpg/index.ts +13 -1
- package/src/tool/avifAPng/i18n/de.ts +178 -0
- package/src/tool/avifAPng/i18n/en.ts +2 -12
- package/src/tool/avifAPng/i18n/es.ts +2 -12
- package/src/tool/avifAPng/i18n/fr.ts +2 -12
- package/src/tool/avifAPng/i18n/id.ts +178 -0
- package/src/tool/avifAPng/i18n/it.ts +178 -0
- package/src/tool/avifAPng/i18n/ja.ts +178 -0
- package/src/tool/avifAPng/i18n/ko.ts +178 -0
- package/src/tool/avifAPng/i18n/nl.ts +178 -0
- package/src/tool/avifAPng/i18n/pl.ts +178 -0
- package/src/tool/avifAPng/i18n/pt.ts +178 -0
- package/src/tool/avifAPng/i18n/ru.ts +178 -0
- package/src/tool/avifAPng/i18n/sv.ts +178 -0
- package/src/tool/avifAPng/i18n/tr.ts +178 -0
- package/src/tool/avifAPng/i18n/zh.ts +178 -0
- package/src/tool/avifAPng/index.ts +13 -1
- package/src/tool/avifAWebp/i18n/de.ts +178 -0
- package/src/tool/avifAWebp/i18n/en.ts +2 -12
- package/src/tool/avifAWebp/i18n/es.ts +2 -12
- package/src/tool/avifAWebp/i18n/fr.ts +2 -12
- package/src/tool/avifAWebp/i18n/id.ts +178 -0
- package/src/tool/avifAWebp/i18n/it.ts +178 -0
- package/src/tool/avifAWebp/i18n/ja.ts +178 -0
- package/src/tool/avifAWebp/i18n/ko.ts +178 -0
- package/src/tool/avifAWebp/i18n/nl.ts +178 -0
- package/src/tool/avifAWebp/i18n/pl.ts +178 -0
- package/src/tool/avifAWebp/i18n/pt.ts +178 -0
- package/src/tool/avifAWebp/i18n/ru.ts +178 -0
- package/src/tool/avifAWebp/i18n/sv.ts +178 -0
- package/src/tool/avifAWebp/i18n/tr.ts +178 -0
- package/src/tool/avifAWebp/i18n/zh.ts +178 -0
- package/src/tool/avifAWebp/index.ts +13 -1
- package/src/tool/bmpAJpg/i18n/de.ts +178 -0
- package/src/tool/bmpAJpg/i18n/en.ts +2 -12
- package/src/tool/bmpAJpg/i18n/es.ts +2 -12
- package/src/tool/bmpAJpg/i18n/fr.ts +2 -12
- package/src/tool/bmpAJpg/i18n/id.ts +178 -0
- package/src/tool/bmpAJpg/i18n/it.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ja.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ko.ts +178 -0
- package/src/tool/bmpAJpg/i18n/nl.ts +178 -0
- package/src/tool/bmpAJpg/i18n/pl.ts +178 -0
- package/src/tool/bmpAJpg/i18n/pt.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ru.ts +178 -0
- package/src/tool/bmpAJpg/i18n/sv.ts +178 -0
- package/src/tool/bmpAJpg/i18n/tr.ts +178 -0
- package/src/tool/bmpAJpg/i18n/zh.ts +178 -0
- package/src/tool/bmpAJpg/index.ts +13 -1
- package/src/tool/bmpAPng/i18n/de.ts +177 -0
- package/src/tool/bmpAPng/i18n/en.ts +2 -12
- package/src/tool/bmpAPng/i18n/es.ts +2 -12
- package/src/tool/bmpAPng/i18n/fr.ts +2 -12
- package/src/tool/bmpAPng/i18n/id.ts +177 -0
- package/src/tool/bmpAPng/i18n/it.ts +177 -0
- package/src/tool/bmpAPng/i18n/ja.ts +177 -0
- package/src/tool/bmpAPng/i18n/ko.ts +177 -0
- package/src/tool/bmpAPng/i18n/nl.ts +177 -0
- package/src/tool/bmpAPng/i18n/pl.ts +177 -0
- package/src/tool/bmpAPng/i18n/pt.ts +177 -0
- package/src/tool/bmpAPng/i18n/ru.ts +177 -0
- package/src/tool/bmpAPng/i18n/sv.ts +177 -0
- package/src/tool/bmpAPng/i18n/tr.ts +177 -0
- package/src/tool/bmpAPng/i18n/zh.ts +177 -0
- package/src/tool/bmpAPng/index.ts +13 -1
- package/src/tool/bmpAWebp/i18n/de.ts +178 -0
- package/src/tool/bmpAWebp/i18n/en.ts +2 -12
- package/src/tool/bmpAWebp/i18n/es.ts +2 -12
- package/src/tool/bmpAWebp/i18n/fr.ts +2 -12
- package/src/tool/bmpAWebp/i18n/id.ts +178 -0
- package/src/tool/bmpAWebp/i18n/it.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ja.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ko.ts +178 -0
- package/src/tool/bmpAWebp/i18n/nl.ts +178 -0
- package/src/tool/bmpAWebp/i18n/pl.ts +178 -0
- package/src/tool/bmpAWebp/i18n/pt.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ru.ts +178 -0
- package/src/tool/bmpAWebp/i18n/sv.ts +178 -0
- package/src/tool/bmpAWebp/i18n/tr.ts +178 -0
- package/src/tool/bmpAWebp/i18n/zh.ts +178 -0
- package/src/tool/bmpAWebp/index.ts +13 -1
- package/src/tool/gifAJpg/i18n/de.ts +178 -0
- package/src/tool/gifAJpg/i18n/en.ts +2 -12
- package/src/tool/gifAJpg/i18n/es.ts +2 -12
- package/src/tool/gifAJpg/i18n/fr.ts +2 -12
- package/src/tool/gifAJpg/i18n/id.ts +178 -0
- package/src/tool/gifAJpg/i18n/it.ts +178 -0
- package/src/tool/gifAJpg/i18n/ja.ts +178 -0
- package/src/tool/gifAJpg/i18n/ko.ts +178 -0
- package/src/tool/gifAJpg/i18n/nl.ts +178 -0
- package/src/tool/gifAJpg/i18n/pl.ts +178 -0
- package/src/tool/gifAJpg/i18n/pt.ts +178 -0
- package/src/tool/gifAJpg/i18n/ru.ts +178 -0
- package/src/tool/gifAJpg/i18n/sv.ts +178 -0
- package/src/tool/gifAJpg/i18n/tr.ts +178 -0
- package/src/tool/gifAJpg/i18n/zh.ts +178 -0
- package/src/tool/gifAJpg/index.ts +13 -1
- package/src/tool/gifAPng/i18n/de.ts +178 -0
- package/src/tool/gifAPng/i18n/en.ts +2 -12
- package/src/tool/gifAPng/i18n/es.ts +2 -12
- package/src/tool/gifAPng/i18n/fr.ts +2 -12
- package/src/tool/gifAPng/i18n/id.ts +178 -0
- package/src/tool/gifAPng/i18n/it.ts +178 -0
- package/src/tool/gifAPng/i18n/ja.ts +178 -0
- package/src/tool/gifAPng/i18n/ko.ts +178 -0
- package/src/tool/gifAPng/i18n/nl.ts +178 -0
- package/src/tool/gifAPng/i18n/pl.ts +178 -0
- package/src/tool/gifAPng/i18n/pt.ts +178 -0
- package/src/tool/gifAPng/i18n/ru.ts +178 -0
- package/src/tool/gifAPng/i18n/sv.ts +178 -0
- package/src/tool/gifAPng/i18n/tr.ts +178 -0
- package/src/tool/gifAPng/i18n/zh.ts +178 -0
- package/src/tool/gifAPng/index.ts +12 -0
- package/src/tool/gifAWebp/i18n/de.ts +178 -0
- package/src/tool/gifAWebp/i18n/en.ts +2 -12
- package/src/tool/gifAWebp/i18n/es.ts +2 -12
- package/src/tool/gifAWebp/i18n/fr.ts +2 -12
- package/src/tool/gifAWebp/i18n/id.ts +178 -0
- package/src/tool/gifAWebp/i18n/it.ts +178 -0
- package/src/tool/gifAWebp/i18n/ja.ts +178 -0
- package/src/tool/gifAWebp/i18n/ko.ts +178 -0
- package/src/tool/gifAWebp/i18n/nl.ts +178 -0
- package/src/tool/gifAWebp/i18n/pl.ts +178 -0
- package/src/tool/gifAWebp/i18n/pt.ts +178 -0
- package/src/tool/gifAWebp/i18n/ru.ts +178 -0
- package/src/tool/gifAWebp/i18n/sv.ts +178 -0
- package/src/tool/gifAWebp/i18n/tr.ts +178 -0
- package/src/tool/gifAWebp/i18n/zh.ts +178 -0
- package/src/tool/gifAWebp/index.ts +12 -0
- package/src/tool/imagenBase64/i18n/de.ts +168 -0
- package/src/tool/imagenBase64/i18n/en.ts +2 -12
- package/src/tool/imagenBase64/i18n/es.ts +2 -12
- package/src/tool/imagenBase64/i18n/fr.ts +2 -12
- package/src/tool/imagenBase64/i18n/id.ts +168 -0
- package/src/tool/imagenBase64/i18n/it.ts +168 -0
- package/src/tool/imagenBase64/i18n/ja.ts +168 -0
- package/src/tool/imagenBase64/i18n/ko.ts +168 -0
- package/src/tool/imagenBase64/i18n/nl.ts +168 -0
- package/src/tool/imagenBase64/i18n/pl.ts +168 -0
- package/src/tool/imagenBase64/i18n/pt.ts +173 -0
- package/src/tool/imagenBase64/i18n/ru.ts +168 -0
- package/src/tool/imagenBase64/i18n/sv.ts +168 -0
- package/src/tool/imagenBase64/i18n/tr.ts +168 -0
- package/src/tool/imagenBase64/i18n/zh.ts +168 -0
- package/src/tool/imagenBase64/index.ts +12 -0
- package/src/tool/jpgAIco/i18n/de.ts +183 -0
- package/src/tool/jpgAIco/i18n/en.ts +8 -13
- package/src/tool/jpgAIco/i18n/es.ts +13 -18
- package/src/tool/jpgAIco/i18n/fr.ts +9 -14
- package/src/tool/jpgAIco/i18n/id.ts +183 -0
- package/src/tool/jpgAIco/i18n/it.ts +183 -0
- package/src/tool/jpgAIco/i18n/ja.ts +183 -0
- package/src/tool/jpgAIco/i18n/ko.ts +183 -0
- package/src/tool/jpgAIco/i18n/nl.ts +183 -0
- package/src/tool/jpgAIco/i18n/pl.ts +183 -0
- package/src/tool/jpgAIco/i18n/pt.ts +183 -0
- package/src/tool/jpgAIco/i18n/ru.ts +183 -0
- package/src/tool/jpgAIco/i18n/sv.ts +183 -0
- package/src/tool/jpgAIco/i18n/tr.ts +183 -0
- package/src/tool/jpgAIco/i18n/zh.ts +183 -0
- package/src/tool/jpgAIco/index.ts +12 -0
- package/src/tool/jpgAPng/i18n/de.ts +178 -0
- package/src/tool/jpgAPng/i18n/en.ts +2 -12
- package/src/tool/jpgAPng/i18n/es.ts +2 -12
- package/src/tool/jpgAPng/i18n/fr.ts +2 -12
- package/src/tool/jpgAPng/i18n/id.ts +178 -0
- package/src/tool/jpgAPng/i18n/it.ts +178 -0
- package/src/tool/jpgAPng/i18n/ja.ts +178 -0
- package/src/tool/jpgAPng/i18n/ko.ts +178 -0
- package/src/tool/jpgAPng/i18n/nl.ts +178 -0
- package/src/tool/jpgAPng/i18n/pl.ts +178 -0
- package/src/tool/jpgAPng/i18n/pt.ts +178 -0
- package/src/tool/jpgAPng/i18n/ru.ts +178 -0
- package/src/tool/jpgAPng/i18n/sv.ts +178 -0
- package/src/tool/jpgAPng/i18n/tr.ts +178 -0
- package/src/tool/jpgAPng/i18n/zh.ts +178 -0
- package/src/tool/jpgAPng/index.ts +13 -1
- package/src/tool/jpgAWebp/i18n/de.ts +178 -0
- package/src/tool/jpgAWebp/i18n/en.ts +2 -12
- package/src/tool/jpgAWebp/i18n/es.ts +2 -12
- package/src/tool/jpgAWebp/i18n/fr.ts +2 -12
- package/src/tool/jpgAWebp/i18n/id.ts +178 -0
- package/src/tool/jpgAWebp/i18n/it.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ja.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ko.ts +178 -0
- package/src/tool/jpgAWebp/i18n/nl.ts +178 -0
- package/src/tool/jpgAWebp/i18n/pl.ts +178 -0
- package/src/tool/jpgAWebp/i18n/pt.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ru.ts +178 -0
- package/src/tool/jpgAWebp/i18n/sv.ts +178 -0
- package/src/tool/jpgAWebp/i18n/tr.ts +178 -0
- package/src/tool/jpgAWebp/i18n/zh.ts +178 -0
- package/src/tool/jpgAWebp/index.ts +12 -0
- package/src/tool/pngAIco/i18n/de.ts +183 -0
- package/src/tool/pngAIco/i18n/en.ts +8 -13
- package/src/tool/pngAIco/i18n/es.ts +19 -24
- package/src/tool/pngAIco/i18n/fr.ts +20 -25
- package/src/tool/pngAIco/i18n/id.ts +183 -0
- package/src/tool/pngAIco/i18n/it.ts +183 -0
- package/src/tool/pngAIco/i18n/ja.ts +183 -0
- package/src/tool/pngAIco/i18n/ko.ts +183 -0
- package/src/tool/pngAIco/i18n/nl.ts +183 -0
- package/src/tool/pngAIco/i18n/pl.ts +183 -0
- package/src/tool/pngAIco/i18n/pt.ts +183 -0
- package/src/tool/pngAIco/i18n/ru.ts +183 -0
- package/src/tool/pngAIco/i18n/sv.ts +183 -0
- package/src/tool/pngAIco/i18n/tr.ts +183 -0
- package/src/tool/pngAIco/i18n/zh.ts +183 -0
- package/src/tool/pngAIco/index.ts +12 -0
- package/src/tool/pngAJpg/i18n/de.ts +191 -0
- package/src/tool/pngAJpg/i18n/en.ts +2 -12
- package/src/tool/pngAJpg/i18n/es.ts +2 -12
- package/src/tool/pngAJpg/i18n/fr.ts +2 -12
- package/src/tool/pngAJpg/i18n/id.ts +191 -0
- package/src/tool/pngAJpg/i18n/it.ts +191 -0
- package/src/tool/pngAJpg/i18n/ja.ts +191 -0
- package/src/tool/pngAJpg/i18n/ko.ts +191 -0
- package/src/tool/pngAJpg/i18n/nl.ts +191 -0
- package/src/tool/pngAJpg/i18n/pl.ts +191 -0
- package/src/tool/pngAJpg/i18n/pt.ts +191 -0
- package/src/tool/pngAJpg/i18n/ru.ts +191 -0
- package/src/tool/pngAJpg/i18n/sv.ts +191 -0
- package/src/tool/pngAJpg/i18n/tr.ts +191 -0
- package/src/tool/pngAJpg/i18n/zh.ts +191 -0
- package/src/tool/pngAJpg/index.ts +13 -1
- package/src/tool/pngAWebp/i18n/de.ts +182 -0
- package/src/tool/pngAWebp/i18n/en.ts +2 -12
- package/src/tool/pngAWebp/i18n/es.ts +2 -12
- package/src/tool/pngAWebp/i18n/fr.ts +2 -12
- package/src/tool/pngAWebp/i18n/id.ts +182 -0
- package/src/tool/pngAWebp/i18n/it.ts +182 -0
- package/src/tool/pngAWebp/i18n/ja.ts +182 -0
- package/src/tool/pngAWebp/i18n/ko.ts +182 -0
- package/src/tool/pngAWebp/i18n/nl.ts +182 -0
- package/src/tool/pngAWebp/i18n/pl.ts +182 -0
- package/src/tool/pngAWebp/i18n/pt.ts +182 -0
- package/src/tool/pngAWebp/i18n/ru.ts +182 -0
- package/src/tool/pngAWebp/i18n/sv.ts +182 -0
- package/src/tool/pngAWebp/i18n/tr.ts +182 -0
- package/src/tool/pngAWebp/i18n/zh.ts +182 -0
- package/src/tool/pngAWebp/index.ts +12 -0
- package/src/tool/svgAJpg/i18n/de.ts +178 -0
- package/src/tool/svgAJpg/i18n/en.ts +8 -13
- package/src/tool/svgAJpg/i18n/es.ts +8 -13
- package/src/tool/svgAJpg/i18n/fr.ts +2 -12
- package/src/tool/svgAJpg/i18n/id.ts +178 -0
- package/src/tool/svgAJpg/i18n/it.ts +178 -0
- package/src/tool/svgAJpg/i18n/ja.ts +178 -0
- package/src/tool/svgAJpg/i18n/ko.ts +178 -0
- package/src/tool/svgAJpg/i18n/nl.ts +178 -0
- package/src/tool/svgAJpg/i18n/pl.ts +178 -0
- package/src/tool/svgAJpg/i18n/pt.ts +178 -0
- package/src/tool/svgAJpg/i18n/ru.ts +178 -0
- package/src/tool/svgAJpg/i18n/sv.ts +178 -0
- package/src/tool/svgAJpg/i18n/tr.ts +178 -0
- package/src/tool/svgAJpg/i18n/zh.ts +178 -0
- package/src/tool/svgAJpg/index.ts +12 -0
- package/src/tool/svgAPng/i18n/de.ts +178 -0
- package/src/tool/svgAPng/i18n/en.ts +8 -13
- package/src/tool/svgAPng/i18n/es.ts +31 -36
- package/src/tool/svgAPng/i18n/fr.ts +2 -12
- package/src/tool/svgAPng/i18n/id.ts +178 -0
- package/src/tool/svgAPng/i18n/it.ts +178 -0
- package/src/tool/svgAPng/i18n/ja.ts +178 -0
- package/src/tool/svgAPng/i18n/ko.ts +178 -0
- package/src/tool/svgAPng/i18n/nl.ts +178 -0
- package/src/tool/svgAPng/i18n/pl.ts +178 -0
- package/src/tool/svgAPng/i18n/pt.ts +178 -0
- package/src/tool/svgAPng/i18n/ru.ts +178 -0
- package/src/tool/svgAPng/i18n/sv.ts +178 -0
- package/src/tool/svgAPng/i18n/tr.ts +178 -0
- package/src/tool/svgAPng/i18n/zh.ts +178 -0
- package/src/tool/svgAPng/index.ts +12 -0
- package/src/tool/webpAIco/i18n/de.ts +183 -0
- package/src/tool/webpAIco/i18n/en.ts +8 -13
- package/src/tool/webpAIco/i18n/es.ts +9 -14
- package/src/tool/webpAIco/i18n/fr.ts +11 -16
- package/src/tool/webpAIco/i18n/id.ts +183 -0
- package/src/tool/webpAIco/i18n/it.ts +183 -0
- package/src/tool/webpAIco/i18n/ja.ts +183 -0
- package/src/tool/webpAIco/i18n/ko.ts +183 -0
- package/src/tool/webpAIco/i18n/nl.ts +183 -0
- package/src/tool/webpAIco/i18n/pl.ts +183 -0
- package/src/tool/webpAIco/i18n/pt.ts +183 -0
- package/src/tool/webpAIco/i18n/ru.ts +183 -0
- package/src/tool/webpAIco/i18n/sv.ts +183 -0
- package/src/tool/webpAIco/i18n/tr.ts +183 -0
- package/src/tool/webpAIco/i18n/zh.ts +183 -0
- package/src/tool/webpAIco/index.ts +12 -0
- package/src/tool/webpAJpg/i18n/de.ts +187 -0
- package/src/tool/webpAJpg/i18n/en.ts +9 -13
- package/src/tool/webpAJpg/i18n/es.ts +37 -42
- package/src/tool/webpAJpg/i18n/fr.ts +35 -40
- package/src/tool/webpAJpg/i18n/id.ts +182 -0
- package/src/tool/webpAJpg/i18n/it.ts +182 -0
- package/src/tool/webpAJpg/i18n/ja.ts +182 -0
- package/src/tool/webpAJpg/i18n/ko.ts +182 -0
- package/src/tool/webpAJpg/i18n/nl.ts +182 -0
- package/src/tool/webpAJpg/i18n/pl.ts +182 -0
- package/src/tool/webpAJpg/i18n/pt.ts +182 -0
- package/src/tool/webpAJpg/i18n/ru.ts +182 -0
- package/src/tool/webpAJpg/i18n/sv.ts +182 -0
- package/src/tool/webpAJpg/i18n/tr.ts +182 -0
- package/src/tool/webpAJpg/i18n/zh.ts +182 -0
- package/src/tool/webpAJpg/index.ts +12 -0
- package/src/tool/webpAPng/i18n/de.ts +182 -0
- package/src/tool/webpAPng/i18n/en.ts +8 -13
- package/src/tool/webpAPng/i18n/es.ts +35 -40
- package/src/tool/webpAPng/i18n/fr.ts +2 -12
- package/src/tool/webpAPng/i18n/id.ts +182 -0
- package/src/tool/webpAPng/i18n/it.ts +182 -0
- package/src/tool/webpAPng/i18n/ja.ts +182 -0
- package/src/tool/webpAPng/i18n/ko.ts +182 -0
- package/src/tool/webpAPng/i18n/nl.ts +182 -0
- package/src/tool/webpAPng/i18n/pl.ts +182 -0
- package/src/tool/webpAPng/i18n/pt.ts +182 -0
- package/src/tool/webpAPng/i18n/ru.ts +182 -0
- package/src/tool/webpAPng/i18n/sv.ts +182 -0
- package/src/tool/webpAPng/i18n/tr.ts +182 -0
- package/src/tool/webpAPng/i18n/zh.ts +182 -0
- package/src/tool/webpAPng/index.ts +12 -0
|
@@ -0,0 +1,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 = 'convertitore-webp-in-jpg';
|
|
6
|
+
const title = 'Converti WebP in JPG Online e Gratis';
|
|
7
|
+
const description =
|
|
8
|
+
'Converti immagini WebP in JPG senza caricare file. Elaborazione locale privata al 100%. Gli sfondi trasparenti vengono sostituiti automaticamente con il bianco.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Trascina i file WebP...',
|
|
12
|
+
convertText: 'Per convertirli in JPG istantaneamente',
|
|
13
|
+
selectFiles: 'Seleziona file',
|
|
14
|
+
processedFiles: 'File elaborati',
|
|
15
|
+
downloadAll: 'Scarica tutto (.zip)',
|
|
16
|
+
pending: 'In attesa',
|
|
17
|
+
bibliographyTitle: 'Riferimenti Bibliografici',
|
|
18
|
+
faqTitle: 'Domande Frequenti',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: WebpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Posso caricare immagini private in modo sicuro?',
|
|
24
|
+
answer:
|
|
25
|
+
'Sì. Non esiste un server di caricamento. Il tuo browser elabora il WebP sul tuo computer e genera il JPG da scaricare. Nessun altro può vederlo.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Cosa succede al mio sfondo WebP se è trasparente?',
|
|
29
|
+
answer:
|
|
30
|
+
'Poiché il formato JPG non supporta la trasparenza, il convertitore riempirà automaticamente le aree trasparenti con uno sfondo bianco solido.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'C\'è un limite alle conversioni o alla dimensione dei file?',
|
|
34
|
+
answer:
|
|
35
|
+
'Non imponiamo alcuna restrizione. Puoi convertire centinaia di immagini purché il tuo computer abbia potenza di calcolo e RAM sufficienti.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Trascina i tuoi file',
|
|
42
|
+
text: 'Rilascia i tuoi file WebP nell\'area di caricamento o selezionali utilizzando il browser di file interattivo.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Conversione Locale',
|
|
46
|
+
text: 'Osserva come il motore locale applica uno sfondo e interpreta ogni pixel nel formato JPG universale.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Ottieni i tuoi risultati',
|
|
50
|
+
text: 'Scarica singolarmente o usa il pacchetto ZIP per consolidare tutte le tue nuove fotografie.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'JPEG.org: Gli standard JPEG',
|
|
57
|
+
url: 'https://jpeg.org/jpeg/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Mozilla Developer Network - image/jpeg',
|
|
61
|
+
url: 'https://developer.mozilla.org/it/docs/Web/Media/Formats/Image_types#jpeg',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'Compatibilità da WebP a JPEG',
|
|
65
|
+
url: 'https://developers.google.com/speed/webp/faq',
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const seo: WebpAJpgLocaleContent['seo'] = [
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
text: 'Convertitore da WebP a JPG: Compatibilità Universale senza compromettere la Privacy',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: '<strong>WebP</strong> è la scommessa di Google sull\'efficienza: immagini più leggere con una qualità paragonabile ai JPG tradizionali. Tuttavia, la sua compatibilità rimane un problema nel mondo reale. Client di posta come Outlook, software di progettazione legacy, app di messaggistica e flussi di lavoro aziendali dipendono ancora dall\'ubiquo <strong>JPG</strong>. Convertire WebP in JPG è il ponte tra il web moderno e il mondo reale.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'WebP vs JPG: Quando usare ciascun formato?',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'Il WebP eccelle in ambienti controllati: siti web moderni su Chrome, Edge o Firefox dove la compatibilità del browser può essere garantita. La sua compressione superiore riduce il peso dei file del 25-35% rispetto a un JPG equivalente, migliorando i tempi di caricamento e le metriche dei Core Web Vitals. È il formato ideale quando controlli l\'ambiente di visualizzazione.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'Il JPG, d\'altra parte, funziona in <em>assolutamente ogni contesto</em>: allegati e-mail, presentazioni PowerPoint, documenti Word, stampanti domestiche, applicazioni di editing legacy e piattaforme di social media senza eccezioni. Se hai bisogno che qualcuno apra la tua immagine senza alcun attrito tecnico, la risposta giusta è il JPG.',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
type: 'title',
|
|
94
|
+
text: 'Confronto: Conversione Locale vs Cloud',
|
|
95
|
+
level: 3,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'comparative',
|
|
99
|
+
items: [
|
|
100
|
+
{
|
|
101
|
+
title: 'Convertitori Cloud',
|
|
102
|
+
description: 'Strumenti che caricano i tuoi file su un server remoto.',
|
|
103
|
+
icon: 'mdi:cloud-upload',
|
|
104
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
105
|
+
points: [
|
|
106
|
+
'Le tue foto viaggiano su Internet verso server sconosciuti',
|
|
107
|
+
'Tempo di attesa per il caricamento e l\'elaborazione remota',
|
|
108
|
+
'Limiti giornalieri sulla dimensione dei file e sulle conversioni gratuite',
|
|
109
|
+
'Rischio reale di conservazione dei dati su server di terze parti',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: 'La Nostra Architettura Locale',
|
|
114
|
+
description: 'Elaborazione diretta sul tuo hardware utilizzando la tecnologia Vanilla JS.',
|
|
115
|
+
icon: 'mdi:laptop-mac',
|
|
116
|
+
highlight: true,
|
|
117
|
+
points: [
|
|
118
|
+
'Zero byte inviati: tutto accade nella tua RAM',
|
|
119
|
+
'Velocità istantanea senza dipendere dalla tua connessione',
|
|
120
|
+
'Nessun limite sulla dimensione o sul numero di file',
|
|
121
|
+
'Perfetto per foto personali, mediche o aziendali',
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Come funziona tecnicamente',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Quando trascini un file WebP nello strumento, il browser lo decodifica nativamente utilizzando il suo motore di rendering interno. Il file viene quindi disegnato su un elemento <strong>HTML5 Canvas</strong> invisibile. Poiché il JPG non supporta la trasparenza, l\'algoritmo riempie preventivamente il canvas con uno sfondo bianco solido prima di comporre l\'immagine sopra.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'Il passaggio finale è l\'esportazione: il metodo Canvas <code>toDataURL(\'image/jpeg\')</code> converte i pixel del canvas in uno stream di byte JPG compresso di alta qualità. Questo stream viene consegnato direttamente al sistema di download del browser, senza alcuna comunicazione di rete. L\'intero processo richiede millisecondi anche per immagini da molti megapixel.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'tip',
|
|
141
|
+
title: 'Suggerimento per la compatibilità',
|
|
142
|
+
html: 'Quando condividi foto con utenti non tecnici o le invii via e-mail, usa sempre il JPG — zero problemi di compatibilità su qualsiasi client di posta, sistema operativo o dispositivo, nessuna eccezione e nessuna spiacevole sorpresa.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
text: 'Casi d\'uso e compatibilità',
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
|
+
'Allegare foto in e-mail da Outlook, Gmail o Apple Mail.',
|
|
154
|
+
'Inserire immagini in documenti Word, Excel o presentazioni PowerPoint.',
|
|
155
|
+
'Pubblicare sulle piattaforme di social media che rifiutano il WebP.',
|
|
156
|
+
'Condividere tramite WhatsApp o app di messaggistica con supporto limitato ai formati.',
|
|
157
|
+
'Stampare fotografie presso servizi di stampa che accettano solo JPG o PNG.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'Conclusione',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'Il WebP è il futuro delle immagini web, ma il JPG rimane il re della compatibilità universale. Questo strumento ti consente di attraversare quel ponte in pochi secondi, in modo completamente privato e senza installare nulla. La tua immagine non lascia mai il tuo 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: 'it', 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
|
+
'制限は設けていません。コンピュータに十分な処理能力とRAMがある限り、何百枚もの画像を変換できます。',
|
|
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パッケージを使用してすべての新しい写真を1つにまとめてください。',
|
|
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/ja/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 to 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 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は、メールの添付ファイル、PowerPointプレゼンテーション、Word文書、家庭用プリンター、古い編集アプリケーション、ソーシャルメディアプラットフォームなど、<em>例外なくあらゆる状況</em>で動作します。技術的な摩擦なしに誰かに画像を開いてもらう必要がある場合、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
|
+
'ファイルサイズや無料変換回数に関する1日の制限がある',
|
|
109
|
+
'第三者のサーバーにデータが保持される実質的なリスクがある',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: 'ローカルアーキテクチャ',
|
|
114
|
+
description: 'Vanilla JS技術を使用し、ユーザーのハードウェア上で直接処理します。',
|
|
115
|
+
icon: 'mdi:laptop-mac',
|
|
116
|
+
highlight: true,
|
|
117
|
+
points: [
|
|
118
|
+
'送信バイト数ゼロ:すべてがRAM内で発生する',
|
|
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を使用してください。あらゆるメールクライアント、OS、デバイスにおいて互換性の問題は皆無であり、例外や不快な驚きもありません。',
|
|
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: 'ja', 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
|
+
'제한을 두지 않습니다. 컴퓨터에 충분한 처리 능력과 RAM이 있는 한 수백 개의 이미지를 변환할 수 있습니다.',
|
|
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/en-US/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 to JPG 변환기: 개인 정보 보호를 타협하지 않는 보편적 호환성',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: '<strong>WebP</strong>는 그래픽 품질을 유지하면서 전통적인 JPG와 비교할 수 있는 가벼운 이미지를 제공하려는 Google의 시도입니다. 그러나 호환성은 여전히 실제 환경에서 문제로 남아 있습니다. Outlook과 같은 이메일 클라이언트, 레거시 디자인 소프트웨어, 메시징 앱 및 기업 워크플로우는 여전히 어디에나 있는 <strong>JPG</strong>에 의존합니다. WebP를 JPG로 변환하는 것은 현대적인 웹과 현실 세계 사이의 가교입니다.',
|
|
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는 이메일 첨부 파일, PowerPoint 프레젠테이션, Word 문서, 가정용 프린터, 레거시 편집 애플리케이션 및 소셜 미디어 플랫폼 등 <em>예외 없이 모든 상황</em>에서 작동합니다. 기술적 마찰 없이 누군가 이미지를 열 수 있어야 한다면 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
|
+
'제3자 서버의 데이터 보관에 대한 실질적인 위험',
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
title: '당사의 로컬 아키텍처',
|
|
114
|
+
description: 'Vanilla JS 기술을 사용하여 하드웨어에서 직접 처리합니다.',
|
|
115
|
+
icon: 'mdi:laptop-mac',
|
|
116
|
+
highlight: true,
|
|
117
|
+
points: [
|
|
118
|
+
'전송된 바이트 0: 모든 것이 RAM에서 발생함',
|
|
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: 'ko', faq, howTo }),
|
|
182
|
+
};
|