@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 { WebpAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertitore-webp-in-png';
|
|
6
|
+
const title = 'Converti WebP in PNG Online e Gratis';
|
|
7
|
+
const description =
|
|
8
|
+
'Converti immagini WebP in PNG nel tuo browser. Preserva la trasparenza. Nessun caricamento di file sui server. Gratuito e privato al 100%.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Trascina i file WebP...',
|
|
12
|
+
convertText: 'Per convertirli in PNG 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: WebpAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Perché devo convertire i miei file WebP in PNG?',
|
|
24
|
+
answer:
|
|
25
|
+
'Pur essendo più leggeri, i file WebP possono causare incompatibilità in programmi di editing come le vecchie versioni di Photoshop. Il PNG garantisce una compatibilità universale al 100%.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Le trasparenze vanno perse convertendo da WebP a PNG?',
|
|
29
|
+
answer:
|
|
30
|
+
'Assolutamente no. A differenza della conversione in JPG, il PNG supporta il canale alfa. La nostra utility preserverà ogni area trasparente del file originale.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Posso caricare file aziendali riservati?',
|
|
34
|
+
answer:
|
|
35
|
+
'Puoi e devi farlo. Poiché tutto viene eseguito localmente tramite JavaScript, le immagini della tua azienda non lasceranno mai il tuo computer né verranno memorizzate su server esterni.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Trascina i tuoi file WebP',
|
|
42
|
+
text: 'Sposta e rilascia i tuoi file WebP sul pannello principale o seleziona le immagini in modo tradizionale.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Conversione ad Alta Fedeltà',
|
|
46
|
+
text: 'Il tuo browser ridisegnerà l\'immagine pixel per pixel e genererà una copia esatta in formato PNG, mantenendo la gamma cromatica originale.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Download Singolo o Multiplo',
|
|
50
|
+
text: 'Salva ogni file individualmente o, se hai elaborato un batch, clicca sul pulsante ZIP per scaricarli tutti insieme in un pacchetto.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Documentazione API e Libreria WebP',
|
|
57
|
+
url: 'https://developers.google.com/speed/webp/docs/api',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Specifica HTML Canvas 2D Context',
|
|
61
|
+
url: 'https://html.spec.whatwg.org/multipage/canvas.html',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'Can I use: formato immagine WebP',
|
|
65
|
+
url: 'https://caniuse.com/webp',
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const seo: WebpAPngLocaleContent['seo'] = [
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
text: 'Convertitore da WebP a PNG: La Scelta Professionale per Editing e Design',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: 'Quando un designer scarica un asset grafico in formato <strong>WebP</strong> e prova ad aprirlo in Photoshop, Figma o Illustrator, il risultato può essere frustrante: il file non si carica o perde qualità. Il formato <strong>PNG</strong> è lo standard indiscusso dell\'editing professionale: compressione lossless, canale alfa completo e compatibilità garantita in tutta la catena di produzione creativa.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'WebP per il Web, PNG per lo Studio',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'Il WebP è un formato di produzione web: i suoi algoritmi di compressione sono ottimizzati per ridurre il peso del trasferimento, non per preservare la massima fedeltà attraverso flussi di lavoro di editing iterativi. Ogni volta che salvi un WebP modificato, il codec applica nuovamente la compressione. Per i progetti in cui un file verrà modificato molte volte, ciò significa un degrado qualitativo cumulativo.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'Il PNG utilizza la <strong>compressione lossless</strong>: i dati di ogni pixel vengono preservati interamente, non importa quante volte salvi il file. È il formato scelto da designer UI/UX, illustratori digitali e team di branding che devono mantenere l\'integrità visiva attraverso decine di revisioni. Strumenti come Photoshop, Figma, Sketch e Illustrator trattano il PNG come il loro formato di esportazione principale.',
|
|
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
|
+
'I tuoi asset di design sono memorizzati su server di terze parti',
|
|
107
|
+
'Elaborazione remota lenta per i file di grandi dimensioni',
|
|
108
|
+
'Rischio di leak per progetti riservati di clienti',
|
|
109
|
+
'Conversione batch limitata o a pagamento',
|
|
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
|
+
'I tuoi design non lasciano mai la tua macchina',
|
|
119
|
+
'Converti istantaneamente decine di file in batch',
|
|
120
|
+
'Preservazione totale del canale alfa e della gamma cromatica',
|
|
121
|
+
'Privacy assoluta per i progetti dei clienti',
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Come funziona tecnicamente',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'I browser moderni possono decodificare il WebP nativamente. Il nostro strumento sfrutta questa capacità per caricare il file in un elemento <strong>Image</strong> JavaScript, quindi lo disegna su un canvas HTML5 con le stesse dimensioni dell\'originale. A differenza della conversione in JPG, qui non è necessario alcun riempimento di sfondo: il canvas mantiene l\'intero canale alfa.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'L\'esportazione finale utilizza il metodo <code>toDataURL(\'image/png\')</code>, che genera un PNG lossless fedele all\'originale. Il risultato è un file pronto per essere importato direttamente in qualsiasi software di design professionale senza passaggi intermedi, degrado del colore o perdita di trasparenza.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'tip',
|
|
141
|
+
title: 'Suggerimento per editor',
|
|
142
|
+
html: 'Usa il PNG quando hai bisogno di continuare a modificare l\'immagine. La compressione lossless garantisce che non ci siano degradazioni della qualità dovute a salvataggi ripetuti — fondamentale quando si lavora con livelli, maschere o regolazioni del colore in Photoshop o Figma.',
|
|
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
|
+
'Importazione di asset WebP in Photoshop, Figma, Sketch o Illustrator.',
|
|
154
|
+
'Preservazione della trasparenza in loghi e icone per l\'uso su sfondi multipli.',
|
|
155
|
+
'Creazione di copie master di grafiche per progetti a lungo termine.',
|
|
156
|
+
'Esportazione di asset per app mobile che richiedono PNG con canale alfa.',
|
|
157
|
+
'Utilizzo di immagini in mockup di design e presentazioni con sfondi variabili.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'Conclusione',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'Se il WebP è il formato del server web, il PNG è il formato dello studio di design. Questo strumento converte i tuoi asset WebP in PNG pronti per la produzione, con trasparenza intatta e massima qualità — tutto nel tuo browser e senza che i tuoi file lascino mai la tua macchina.',
|
|
168
|
+
},
|
|
169
|
+
];
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
export const content: WebpAPngLocaleContent = {
|
|
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 { WebpAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'webp-to-png-converter';
|
|
6
|
+
const title = 'WebPをPNGにオンラインで無料で変換しましょう';
|
|
7
|
+
const description =
|
|
8
|
+
'ブラウザでWebP画像をPNGに変換します。透明度を維持します。サーバーへのファイルアップロードは不要。無料かつ100%プライベート。';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'WebPファイルをドラッグ...',
|
|
12
|
+
convertText: '即座にPNGに変換します',
|
|
13
|
+
selectFiles: 'ファイルを選択',
|
|
14
|
+
processedFiles: '処理済みファイル',
|
|
15
|
+
downloadAll: 'すべてダウンロード (.zip)',
|
|
16
|
+
pending: '保留中',
|
|
17
|
+
bibliographyTitle: '参考文献',
|
|
18
|
+
faqTitle: 'よくある質問',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: WebpAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'なぜWebPファイルをPNGに変換する必要があるのですか?',
|
|
24
|
+
answer:
|
|
25
|
+
'WebPファイルは軽量ですが、古いPhotoshopなどの編集プログラムで互換性の問題を引き起こすことがあります。PNGは100%普遍的な互換性を保証します。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'WebPからPNGへの変換で透明度は失われますか?',
|
|
29
|
+
answer:
|
|
30
|
+
'全くありません。JPGへの変換とは異なり、PNGはアルファチャネルをサポートしています。当社のユーティリティは、元のファイルのあらゆる透明領域を保持します。',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '機密の企業ファイルをアップロードできますか?',
|
|
34
|
+
answer:
|
|
35
|
+
'できます。また、そうすべきです。すべてがJavaScriptを介してローカルで実行されるため、企業の画像がデバイスから離れることはなく、外部サーバーに保存されることもありません。',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'WebPファイルをドラッグ',
|
|
42
|
+
text: 'メインパネルにWebPファイルをドラッグ&ドロップするか、従来の方法で画像を選択してください。',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: '高忠実度変換',
|
|
46
|
+
text: 'ブラウザが画像をピクセル単位で再描画し、元の色域を維持しながら、PNG形式の正確なコピーを生成します。',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: '個別または一括ダウンロード',
|
|
50
|
+
text: '各ファイルを個別に保存するか、バッチ処理をした場合はZIPボタンをクリックして、すべてをまとめてダウンロードしてください。',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'WebP APIおよびライブラリドキュメント',
|
|
57
|
+
url: 'https://developers.google.com/speed/webp/docs/api',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'HTML Canvas 2Dコンテキスト仕様',
|
|
61
|
+
url: 'https://html.spec.whatwg.org/multipage/canvas.html',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'Can I use: WebP画像形式',
|
|
65
|
+
url: 'https://caniuse.com/webp',
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const seo: WebpAPngLocaleContent['seo'] = [
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
text: 'WebP to PNG 変換機:編集とデザインのためのプロフェッショナルな選択',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: 'デザイナーが <strong>WebP</strong> 形式のグラフィックアセットをダウンロードし、Photoshop、Figma、またはIllustratorで開こうとすると、ファイルの読み込みに失敗したり、品質が低下したりするという、苛立たしい結果を招くことがあります。 <strong>PNG</strong> 形式は、無損耗圧縮、完全なアルファチャネル、クリエイティブ制作プロセス全体での互換性の保証など、プロの編集分野における揺るぎない標準です。',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: 'ウェブのためのWebP、スタジオのためのPNG',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebPはウェブ制作形式です。その圧縮アルゴリズムは、繰り返しの編集ワークフローで最大限の忠実度を維持することではなく、転送重量を減らすように最適化されています。編集されたWebPを保存するたびに、コーデックは圧縮を再適用します。ファイルを何度も修正する必要があるプロジェクトでは、これは累積的な品質の低下を意味します。',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'PNGは <strong>無損耗圧縮</strong> を使用します。ファイルを保存する回数にかかわらず、すべてのピクセルのデータが完全に保持されます。数十回の修正を経ても視覚的な完全性を維持する必要があるUI/UXデザイナー、デジタルイラストレーター、およびブランディングチームが選択する形式です。Photoshop、Figma、Sketch、Illustratorなどのツールは、PNGを主要な書き出し形式として扱います。',
|
|
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: 'JavaScript技術を使用してハードウェア上で直接処理します。',
|
|
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をネイティブにデコードできます。当社のツールはこの能力を活用してファイルをJavaScriptの <strong>Image</strong> 要素に読み込み、元のサイズと同じ寸法のHTML5 canvasに描画します。JPGへの変換とは異なり、ここでは背景の塗りつぶしは不要で、canvasは完全なアルファチャネルを維持します。',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: '最終的な書き出しには <code>toDataURL(\'image/png\')</code> メソッドを使用し、これは元の画像に忠実な無損耗PNGを生成します。結果は、中間ステップ、色の劣化、透明度の損失なしに、あらゆるプロフェッショナルなデザインソフトウェアに直接インポートできる状態のファイルです。',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'tip',
|
|
141
|
+
title: 'エディターへのヒント',
|
|
142
|
+
html: '画像の編集を続ける必要があるときは、PNGを使用してください。無損耗圧縮により、繰り返し保存しても品質が低下しないことが保証されます。これは、PhotoshopやFigmaでレイヤー、マスク、色の調整などを伴う作業をする際に非常に重要です。',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
text: '活用事例と互換性',
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
|
+
'WebPアセットをPhotoshop、Figma、Sketch、Illustratorにインポート。',
|
|
154
|
+
'複数の背景で使用するために、ロゴやアイコンの透明度を保持。',
|
|
155
|
+
'長期プロジェクトのためにグラフィックのマスターコピーを作成。',
|
|
156
|
+
'アルファチャネル付きのPNGが必要なモバイルアプリ用アセットの書き出し。',
|
|
157
|
+
'可変背景を持つデザインモックアップやプレゼンテーションで画像を使用。',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: '結論',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'WebPがウェブサーバー形式なら、PNGはデザインスタジオ形式です。このツールは、透明度が維持され、最大品質を備えた、プロダクションレディなPNGにWebPアセットを変換します。これらすべてがブラウザ上で行われ、ファイルがデバイスを離れることはありません。',
|
|
168
|
+
},
|
|
169
|
+
];
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
export const content: WebpAPngLocaleContent = {
|
|
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 { WebpAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'webp-to-png-converter';
|
|
6
|
+
const title = 'WebP를 PNG로 온라인에서 무료로 변환하세요';
|
|
7
|
+
const description =
|
|
8
|
+
'브라우저에서 WebP 이미지를 PNG로 변환하세요. 투명도를 유지합니다. 서버로 파일을 업로드하지 않습니다. 무료 및 100% 개인 정보 보호.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'WebP 파일을 드래그하세요...',
|
|
12
|
+
convertText: '즉시 PNG로 변환하려면',
|
|
13
|
+
selectFiles: '파일 선택',
|
|
14
|
+
processedFiles: '처리된 파일',
|
|
15
|
+
downloadAll: '모두 다운로드 (.zip)',
|
|
16
|
+
pending: '대기 중',
|
|
17
|
+
bibliographyTitle: '참고 문헌',
|
|
18
|
+
faqTitle: '자주 묻는 질문',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: WebpAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'WebP 파일을 PNG로 변환해야 하는 이유는 무엇인가요?',
|
|
24
|
+
answer:
|
|
25
|
+
'WebP 파일은 더 가볍지만 구버전 Photoshop과 같은 편집 프로그램에서 호환성 문제를 일으킬 수 있습니다. PNG는 100% 보편적인 호환성을 보장합니다.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'WebP에서 PNG로 변환할 때 투명도가 손실되나요?',
|
|
29
|
+
answer:
|
|
30
|
+
'전혀 그렇지 않습니다. JPG로의 변환과 달리 PNG는 알파 채널을 지원합니다. 당사의 유틸리티는 원본 파일의 모든 투명한 영역을 보존합니다.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '기밀 회사 파일을 업로드해도 되나요?',
|
|
34
|
+
answer:
|
|
35
|
+
'업로드해도 되고, 해야 합니다. 모든 것이 자바스크립트를 통해 로컬에서 실행되므로 회사 이미지는 기기를 절대 떠나지 않으며 외부 서버에 저장되지 않습니다.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'WebP 파일 드래그',
|
|
42
|
+
text: '메인 패널에 WebP 파일을 끌어다 놓거나 전통적인 방식으로 이미지를 선택하세요.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: '고정밀 변환',
|
|
46
|
+
text: '브라우저가 이미지를 픽셀 단위로 다시 그려 원본 색 영역을 유지하면서 PNG 형식의 정확한 복사본을 생성합니다.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: '개별 또는 일괄 다운로드',
|
|
50
|
+
text: '각 파일을 개별적으로 저장하거나, 배치를 처리한 경우 ZIP 버튼을 클릭하여 모든 파일을 하나로 묶어 다운로드하세요.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'WebP API 및 라이브러리 문서',
|
|
57
|
+
url: 'https://developers.google.com/speed/webp/docs/api',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'HTML Canvas 2D 컨텍스트 사양',
|
|
61
|
+
url: 'https://html.spec.whatwg.org/multipage/canvas.html',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'Can I use: WebP 이미지 형식',
|
|
65
|
+
url: 'https://caniuse.com/webp',
|
|
66
|
+
},
|
|
67
|
+
];
|
|
68
|
+
|
|
69
|
+
const seo: WebpAPngLocaleContent['seo'] = [
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
|
+
text: 'WebP to PNG 변환기: 편집 및 디자인을 위한 전문가의 선택',
|
|
73
|
+
level: 2,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
|
+
html: '디자이너가 <strong>WebP</strong> 형식의 그래픽 자산을 다운로드하여 Photoshop, Figma 또는 Illustrator에서 열려고 할 때, 파일 로드에 실패하거나 품질이 저하되는 좌절스러운 결과를 초래할 수 있습니다. <strong>PNG</strong> 형식은 무손실 압축, 전체 알파 채널, 전체 크리에이티브 프로덕션 체인에서의 호환성 보장 등 전문 편집 분야의 독보적인 표준입니다.',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'title',
|
|
81
|
+
text: '웹을 위한 WebP, 스튜디오를 위한 PNG',
|
|
82
|
+
level: 3,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'WebP는 웹 프로덕션 형식입니다. 이 형식의 압축 알고리즘은 반복적인 편집 워크플로우에서 최대 정밀도를 유지하는 것이 아니라 전송 무게를 줄이는 데 최적화되어 있습니다. 편집된 WebP를 저장할 때마다 코덱은 압축을 다시 적용합니다. 파일을 여러 번 수정해야 하는 프로젝트의 경우, 이는 누적된 품질 저하를 의미합니다.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'paragraph',
|
|
90
|
+
html: 'PNG는 <strong>무손실 압축</strong>을 사용합니다. 파일을 저장하는 횟수에 관계없이 모든 픽셀의 데이터가 완전히 보존됩니다. 수십 번의 수정을 거치면서 시각적 무결성을 유지해야 하는 UI/UX 디자이너, 디지털 일러스트레이터 및 브랜딩 팀이 선택하는 형식입니다. Photoshop, Figma, Sketch 및 Illustrator와 같은 도구는 PNG를 기본 내보내기 형식으로 취급합니다.',
|
|
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: '자바스크립트 기술을 사용하여 하드웨어에서 직접 처리합니다.',
|
|
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>Image</strong> 요소로 로드한 다음 원본과 동일한 치수의 HTML5 캔버스에 그립니다. JPG로의 변환과 달리 여기서는 배경 채우기가 필요하지 않으며 캔버스는 전체 알파 채널을 유지합니다.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: '최종 내보내기는 <code>toDataURL(\'image/png\')</code> 메서드를 사용하며, 이는 원본에 충실한 무손실 PNG를 생성합니다. 결과는 중간 과정, 색상 저하 또는 투명도 손실 없이 모든 전문 디자인 소프트웨어로 직접 가져올 준비가 된 파일입니다.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'tip',
|
|
141
|
+
title: '편집자를 위한 팁',
|
|
142
|
+
html: '이미지를 계속 편집해야 할 때는 PNG를 사용하세요. 무손실 압축은 반복적인 저장으로 인한 품질 저하가 없음을 보장하며, 이는 Photoshop이나 Figma에서 레이어, 마스크 또는 색상 조정을 작업할 때 중요합니다.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
|
+
text: '활용 사례 및 호환성',
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
|
+
'WebP 자산을 Photoshop, Figma, Sketch 또는 Illustrator로 가져오기.',
|
|
154
|
+
'여러 배경에서 사용하기 위해 로고 및 아이콘의 투명도 유지.',
|
|
155
|
+
'장기 프로젝트를 위한 그래픽의 마스터 사본 생성.',
|
|
156
|
+
'알파 채널이 있는 PNG가 필요한 모바일 앱용 자산 내보내기.',
|
|
157
|
+
'가변 배경이 있는 디자인 모형 및 프레젠테이션에 이미지 사용.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: '결론',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'WebP가 웹 서버 형식이라면 PNG는 디자인 스튜디오 형식입니다. 이 도구는 투명도가 유지되고 최대 품질을 갖춘 생산 준비가 된 PNG로 WebP 자산을 변환합니다. 이 모든 과정은 브라우저에서 이루어지며 파일이 기기를 절대 떠나지 않습니다.',
|
|
168
|
+
},
|
|
169
|
+
];
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
export const content: WebpAPngLocaleContent = {
|
|
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
|
+
};
|