@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,183 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { WebpAIcoLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'konverter-webp-ke-ico';
|
|
6
|
+
const title = 'Konversi WebP ke ICO';
|
|
7
|
+
const description =
|
|
8
|
+
'Konversi gambar WebP ke ICO resmi dengan transparansi. Tanpa unggah file. Header biner Microsoft asli. Gratis dan pribadi.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Tarik file WebP...',
|
|
12
|
+
convertText: 'Untuk mengkonversinya ke ICO secara instan',
|
|
13
|
+
selectFiles: 'Pilih file',
|
|
14
|
+
processedFiles: 'File yang diproses',
|
|
15
|
+
downloadAll: 'Unduh Semua (.zip)',
|
|
16
|
+
pending: 'Menunggu',
|
|
17
|
+
bibliographyTitle: 'Referensi Bibliografi',
|
|
18
|
+
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: WebpAIcoLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Dapatkah saya mengonversi desain stiker WebP ke Favicon ICO web resmi?',
|
|
24
|
+
answer:
|
|
25
|
+
'Tepat sekali. Favicon masih memerlukan ekstensi Microsoft ICO klasik untuk kompatibilitas universal yang ekstrem. Alat ini akan menyuntikkan header biner untuk membangun ikon yang 100% sah.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Apakah saya harus menunggu dalam antrean online saat membuat tumpukan ikon perusahaan dalam jumlah besar?',
|
|
29
|
+
answer:
|
|
30
|
+
'Sama sekali tidak. Konverter kami memuat Javascript dan memutus jaringan unggahan apa pun. CPU perangkat Anda sendiri memproses seratus foto atau lebih secara asinkron.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Apakah ICO yang dihasilkan akan mendukung transparansi dari WebP asli saya?',
|
|
34
|
+
answer:
|
|
35
|
+
'Ya. Mesin kami bekerja secara internal dengan API HTML5 canvas dengan dukungan penuh 32-bit, setiap area transparan akan ditransfer dengan bersih ke dalam file ikonografi.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAIcoLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Tarik semua stiker WebP lokal Anda',
|
|
42
|
+
text: 'Pindahkan kumpulan foto dalam jumlah besar tanpa takut melampaui batas unggahan web.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Terjemahan asinkron logis dan perakitan langsung',
|
|
46
|
+
text: 'Perhatikan bagaimana bilah progres dan elemen-elemen terisi secara otomatis saat memori memproses blok byte demi byte dari frame.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Ambil paket Anda untuk pengembangan sistem dan web',
|
|
50
|
+
text: 'Klik tombol unduh berukuran besar dalam file gabungan atau unduh secara manual jika Anda hanya membutuhkan satu ikon.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAIcoLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Dokumentasi Umum Header Web ICO',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Dokumentasi Google WebP',
|
|
61
|
+
url: 'https://developers.google.com/speed/webp',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: WebpAIcoLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Konverter WebP ke ICO: Buat Favicon Sempurna dari Aset Modern Anda',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'Alur kerja desain web modern menghasilkan aset dalam format <strong>WebP</strong>: logo yang dioptimalkan, ikon UI, dan elemen merek. Namun, saat tiba waktunya untuk mengonfigurasi <strong>favicon</strong> situs Anda atau ikon untuk aplikasi desktop Windows, format yang diperlukan masih <strong>ICO</strong>. Mengonversi WebP ke ICO memungkinkan Anda menggunakan kembali aset berkualitas tinggi tanpa kehilangan sumber asli.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'WebP vs ICO: Format dengan Tujuan Berbeda',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'WebP adalah format gambar untuk tujuan umum, sangat baik untuk foto, ilustrasi, dan ikon UI web. Kompresinya yang efisien menjadikannya ideal untuk mempercepat pemuatan halaman. Namun, format ini tidak memiliki struktur biner spesifik yang diperlukan oleh sistem operasi dan browser untuk mengenali dan menampilkan ikon aplikasi atau favicon.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'ICO adalah format kontainer Microsoft yang dirancang khusus untuk ikon. Format ini dapat menyimpan beberapa resolusi dalam satu file dan mendukung transparansi penuh melalui saluran alfa 32-bit. Browser mencari file <code>favicon.ico</code> secara konvensional, dan format ini memastikan ikon Anda terlihat tajam baik di layar standar maupun layar Retina dan 4K.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Perbandingan: Konversi Lokal vs Cloud',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Konverter Cloud',
|
|
98
|
+
description: 'Alat yang mengunggah file Anda ke server jarak jauh.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Logo perusahaan Anda dikirim ke server pihak ketiga',
|
|
103
|
+
'Koneksi internet diperlukan untuk setiap konversi',
|
|
104
|
+
'Kualitas output yang bervariasi tergantung pada server',
|
|
105
|
+
'Batasan jumlah konversi harian',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Arsitektur Lokal Kami',
|
|
110
|
+
description: 'Pemrosesan langsung pada perangkat keras Anda menggunakan teknologi Vanilla JS.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Logo Anda tidak pernah meninggalkan browser',
|
|
115
|
+
'Header biner ICO dihasilkan sesuai standar Microsoft',
|
|
116
|
+
'Transparansi 32-bit dipertahankan sepenuhnya',
|
|
117
|
+
'Konversi batch untuk set ikon lengkap',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Cara Kerjanya Secara Teknis',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Browser mendekode file WebP secara native dan menggambarnya ke <strong>HTML5 Canvas</strong> dengan kedalaman warna 32-bit, dengan tetap mempertahankan saluran alfa asli. Mesin JavaScript kami kemudian mengekstrak data piksel melalui metode <code>getImageData()</code> dan membangun struktur biner ICO dengan header ICONDIR dan ICONDIRENTRY yang ditentukan oleh standar Microsoft.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Hasilnya adalah file ICO yang sah, bukan sekadar mengganti nama file. Data piksel dikemas dengan struktur yang benar yang diharapkan oleh Windows, macOS, dan semua browser modern saat memuat favicon atau ikon aplikasi.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Tip untuk favicon yang tajam',
|
|
138
|
+
html: 'Selalu hasilkan ICO Anda dari sumber dengan resolusi tertinggi yang tersedia. WebP berukuran 512×512 atau lebih besar akan menghasilkan favicon yang sangat tajam pada layar Retina und 4K, di mana ikon beresolusi rendah akan terlihat kabur.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Kasus Penggunaan und Kompatibilitas',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Membuat file favicon.ico untuk situs web atau aplikasi web apa pun.',
|
|
150
|
+
'Menghasilkan ikon aplikasi untuk installer perangkat lunak Windows.',
|
|
151
|
+
'Memproduksi ikon desktop untuk aplikasi Electron atau framework serupa.',
|
|
152
|
+
'Membuat set ikon untuk ekstensi browser Chrome dan Firefox.',
|
|
153
|
+
'Mengonversi logo merek WebP menjadi ikon untuk aplikasi perusahaan.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Kesimpulan',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'Alur kerja desain modern Anda menghasilkan WebP; ekosistem aplikasi masih menuntut ICO. Alat ini menjembatani kesenjangan tersebut dalam hitungan detik, menghasilkan ikon dengan struktur biner yang benar und transparansi yang utuh, tanpa membiarkan aset merek Anda meninggalkan browser.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
export const content: WebpAIcoLocaleContent = {
|
|
168
|
+
slug,
|
|
169
|
+
title,
|
|
170
|
+
description,
|
|
171
|
+
ui,
|
|
172
|
+
seo,
|
|
173
|
+
faq,
|
|
174
|
+
bibliography,
|
|
175
|
+
howTo,
|
|
176
|
+
schemas: generateSchemas({
|
|
177
|
+
title,
|
|
178
|
+
description,
|
|
179
|
+
inLanguage: 'id',
|
|
180
|
+
faq,
|
|
181
|
+
howTo,
|
|
182
|
+
}),
|
|
183
|
+
};
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { WebpAIcoLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertitore-webp-in-ico';
|
|
6
|
+
const title = 'Converti WebP in ICO';
|
|
7
|
+
const description =
|
|
8
|
+
'Converti immagini WebP in file ICO ufficiali con trasparenza. Nessun caricamento di file. Intestazioni binarie Microsoft reali. Gratuito e privato.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Trascina i file WebP...',
|
|
12
|
+
convertText: 'Per convertirli in ICO 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: WebpAIcoLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Posso convertire i design degli sticker WebP in una Favicon ICO ufficiale per il web?',
|
|
24
|
+
answer:
|
|
25
|
+
'Esattamente. La Favicon richiede ancora la classica estensione Microsoft ICO per un\'estrema compatibilità universale. Questo strumento inietterà intestazioni binarie costruendo un\'icona legittima al 100%.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Devo aspettare in code online quando creo il mio grande lotto di icone aziendali?',
|
|
29
|
+
answer:
|
|
30
|
+
'Niente affatto. Il nostro convertitore carica il Javascript e taglia qualsiasi rete di caricamento. La CPU del tuo dispositivo elabora cento foto o più in modo asincrono.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'L\'ICO risultante supporterà la trasparenza del mio WebP originale?',
|
|
34
|
+
answer:
|
|
35
|
+
'Sì. Il nostro motore lavora internamente con l\'API HTML5 canvas con pieno supporto a 32 bit, ogni foro trasparente verrà trasferito in modo pulito nel file iconografico.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAIcoLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Trascina tutti i tuoi sticker WebP locali',
|
|
42
|
+
text: 'Sposta i grandi lotti di foto senza timore di saturare il limite del web.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Traduzione asincrona logica e assemblaggio diretto',
|
|
46
|
+
text: 'Nota rapidamente come la barra e gli elementi si autocompletano mentre la memoria elabora il blocco byte per byte dal frame.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Prendi il tuo pacchetto per lo sviluppo di sistemi e web',
|
|
50
|
+
text: 'Fai clic liberamente su un enorme pulsante scaricabile in un file congiunto o scarica manualmente se ne serve solo uno.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAIcoLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'Documentazione Generale dell\'Intestazione Web ICO',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Documentazione Google WebP',
|
|
61
|
+
url: 'https://developers.google.com/speed/webp',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: WebpAIcoLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertitore da WebP a ICO: Crea Favicon Perfette dai tuoi Asset Moderni',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'I moderni flussi di lavoro del web design producono asset in formato <strong>WebP</strong>: loghi ottimizzati, icone UI ed elementi di brand. Ma quando è il momento di configurare la <strong>favicon</strong> del tuo sito o le icone per un\'applicazione desktop Windows, il formato richiesto è ancora l\'<strong>ICO</strong>. Convertire WebP in ICO ti consente di riutilizzare i tuoi asset di altissima qualità senza perdere la sorgente originale.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'WebP vs ICO: Formati con Scopi Diversi',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'WebP è un formato immagine per scopi generali, eccellente per fotografie, illustrazioni e icone UI del web. La sua compressione efficiente lo rende ideale per velocizzare il caricamento delle pagine. Tuttavia, manca della specifica struttura binaria che i sistemi operativi e i browser richiedono per riconoscere e visualizzare un\'icona di applicazione o una favicon.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'ICO è un formato contenitore Microsoft progettato specificamente per le icone. Può memorizzare più risoluzioni in un singolo file e supporta la piena trasparenza tramite un canale alfa a 32 bit. I browser cercano un file <code>favicon.ico</code> per convenzione, e questo formato assicura che la tua icona appaia nitida sia sugli schermi standard che sui display Retina e 4K.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Confronto: Conversione Locale vs Cloud',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Convertitori Cloud',
|
|
98
|
+
description: 'Strumenti che caricano i tuoi file su un server remoto.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Il logo della tua azienda viaggia verso server di terze parti',
|
|
103
|
+
'Connessione Internet richiesta per ogni conversione',
|
|
104
|
+
'Qualità dell\'output variabile a seconda del server',
|
|
105
|
+
'Limiti sul numero di conversioni giornaliere',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'La Nostra Architettura Locale',
|
|
110
|
+
description: 'Elaborazione diretta sul tuo hardware utilizzando la tecnologia Vanilla JS.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Il tuo logo non lascia mai il tuo browser',
|
|
115
|
+
'Intestazioni binarie ICO generate secondo lo standard Microsoft',
|
|
116
|
+
'Trasparenza a 32 bit preservata integralmente',
|
|
117
|
+
'Conversione batch di set di icone completi',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Come funziona tecnicamente',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Il browser decodifica il file WebP in modo nativo e lo disegna su un <strong>HTML5 Canvas</strong> con profondità di colore a 32 bit, preservando il canale alfa originale. Il nostro motore JavaScript estrae quindi i dati dei pixel tramite il metodo <code>getImageData()</code> e costruisce la struttura binaria ICO con le intestazioni ICONDIR e ICONDIRENTRY specificate dallo standard Microsoft.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Il risultato è un file ICO legittimo, non un semplice cambio di nome del file. I dati dei pixel sono impacchettati con la struttura corretta che Windows, macOS e tutti i browser moderni si aspettano quando caricano una favicon o un\'icona di applicazione.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Suggerimento per favicon nitide',
|
|
138
|
+
html: 'Genera sempre il tuo ICO dalla sorgente a risoluzione più alta disponibile. Un WebP da 512×512 o superiore produrrà una favicon perfettamente nitida sui display Retina e 4K, dove le icone a bassa risoluzione appaiono sfocate.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Casi d\'uso e compatibilità',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Creazione del file favicon.ico per qualsiasi sito web o applicazione web.',
|
|
150
|
+
'Generazione di icone di applicazione per programmi di installazione software Windows.',
|
|
151
|
+
'Produzione di icone desktop per app Electron o framework simili.',
|
|
152
|
+
'Creazione di set di icone per estensioni browser Chrome e Firefox.',
|
|
153
|
+
'Conversione di loghi WebP di brand in icone per applicazioni aziendali.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Conclusione',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'Il tuo moderno flusso di lavoro di progettazione produce WebP; l\'ecosistema delle applicazioni richiede ancora l\'ICO. Questo strumento colma questo divario in pochi secondi, generando icone con la corretta struttura binaria e trasparenza intatta, senza che gli asset del tuo brand lascino mai il tuo browser.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
export const content: WebpAIcoLocaleContent = {
|
|
168
|
+
slug,
|
|
169
|
+
title,
|
|
170
|
+
description,
|
|
171
|
+
ui,
|
|
172
|
+
seo,
|
|
173
|
+
faq,
|
|
174
|
+
bibliography,
|
|
175
|
+
howTo,
|
|
176
|
+
schemas: generateSchemas({
|
|
177
|
+
title,
|
|
178
|
+
description,
|
|
179
|
+
inLanguage: 'it',
|
|
180
|
+
faq,
|
|
181
|
+
howTo,
|
|
182
|
+
}),
|
|
183
|
+
};
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { WebpAIcoLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'webp-to-ico-converter';
|
|
6
|
+
const title = 'WebPをICOに変換标记';
|
|
7
|
+
const description =
|
|
8
|
+
'WebP画像を透明度を維持した公式ICOファイルに変換します。ファイルのアップロード不要。本物のMicrosoftバイナリヘッダを生成。無料かつプライベート。';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'WebPファイルをドラッグ...',
|
|
12
|
+
convertText: '即座にICOに変換します',
|
|
13
|
+
selectFiles: 'ファイルを選択',
|
|
14
|
+
processedFiles: '処理済みファイル',
|
|
15
|
+
downloadAll: 'すべてダウンロード (.zip)',
|
|
16
|
+
pending: '保留中',
|
|
17
|
+
bibliographyTitle: '参考文献',
|
|
18
|
+
faqTitle: 'よくある質問',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: WebpAIcoLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'WebPのステッカーデザインを公式なウェブ用ファビコン(Favicon) ICOに変換できますか?',
|
|
24
|
+
answer:
|
|
25
|
+
'その通りです。ファビコンは、極めて高い普遍的な互換性を確保するために、現在でも古典的なMicrosoft ICO拡張子を必要とします。このツールはバイナリヘッダを注入し、100%正当なアイコンを構築します。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '大量の企業用アイコンを作成する際、オンラインの待ち時間に耐える必要がありますか?',
|
|
29
|
+
answer:
|
|
30
|
+
'全くありません。当社の変換機はJavaScriptを読み込み、あらゆるアップロードネットワークを遮断します。デバイス自体のCPUが、100枚以上の写真を非同期で処理します。',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '生成されたICOは、元のWebPの透明度를 서포트합니까?',
|
|
34
|
+
answer:
|
|
35
|
+
'はい。当社のエンジンは、32ビットをフルサポートするHTML5 canvas APIで内部的に動作しており、すべての透明な領域がアイコンファイルにきれいに転送されます标记。',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: WebpAIcoLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'ローカルのWebPステッカーをすべてドラッグしてください',
|
|
42
|
+
text: 'ウェブの容量制限を気にすることなく、大量の写真を一度に移動できます。',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: '論理的な非同期翻訳と直接組み立て',
|
|
46
|
+
text: 'メモリがフレームからバイト単位でブロックを処理する間、進行状況バーと要素が自動的に埋まっていくのを確認してください。',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'システムおよびウェブ開発用のパッケージを持ち帰りましょう',
|
|
50
|
+
text: '統合ファイルの巨大なダウンロードボタンをクリックするか、1つだけ必要な場合は個別にダウンロードしてください。',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: WebpAIcoLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'ICOウェブヘッダ一般ドキュメント',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Google WebPドキュメント',
|
|
61
|
+
url: 'https://developers.google.com/speed/webp',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: WebpAIcoLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'WebP to ICO 変換機:モダンなアセットから完璧なファビコンを作成',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'モダンなウェブデザインのワークフローでは、最適化されたロゴ、UIアイコン、ブランド要素などのアセットが <strong>WebP</strong> 形式で生成されます。しかし、サイトの <strong>ファビコン</strong> やWindowsデスクトップアプリケーション用のアイコンを設定する必要がある場合、求められる形式は依然として <strong>ICO</strong> です。WebPをICOに変換することで、元のソースを失うことなく最高品質のアセットを再利用できます。',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'WebP vs ICO:目的が異なる形式',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'WebPは、写真、イラスト、ウェブUIアイコンに優れた汎用画像形式です。効率的な圧縮により、ページ読み込み速度の向上に理想的です。しかし、オペレーティングシステムやブラウザがアプリケーションアイコンやファビコンを認識して表示するために必要な、特定のバイナリ構造が欠けています。',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'ICOは、アイコンのために特別に設計されたMicrosoftのコンテナ形式です。単一のファイルに複数の解像度を保存でき、32ビットのアルファチャネルを通じて完全な透明度をサポートします。ブラウザは慣例的に <code>favicon.ico</code> ファイルを探し、この形式は標準的な画面とRetinaおよび4Kディスプレイの両方でアイコンが鮮明に見えることを保証します标记。',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: '比較:ローカル変換 vs クラウド変換',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'クラウド変換機',
|
|
98
|
+
description: 'リモートサーバーにファイルをアップロードするツールです。',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'貴社のロゴデータがサードパーティのサーバーへ送信される',
|
|
103
|
+
'すべての変換においてインターネット接続が必須',
|
|
104
|
+
'サーバーの仕様により出力品質が変動する',
|
|
105
|
+
'1日の変換回数に制限がある',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'ローカルアーキテクチャ',
|
|
110
|
+
description: 'Vanilla JS技術を使用し、ハードウェア上で直接処理します。',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'ロゴデータがブラウザを離れることはありません',
|
|
115
|
+
'Microsoft標準に準拠したICOバイナリヘッダの生成',
|
|
116
|
+
'32ビットの透明度が完全に保持される',
|
|
117
|
+
'アイコンセット全体の一括変換をサポート',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: '技術的な仕組み',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'ブラウザはWebPファイルをネイティブにデコードし、元のアルファチャネルを維持しながら32ビットの色深度を持つ <strong>HTML5 Canvas</strong> に描画します。次に、JavaScriptエンジンが <code>getImageData()</code> メソッドを介してピクセルデータを抽出し、Microsoft標準で規定されているICONDIRおよびICONDIRENTRYヘッダを使用してICOバイナリ構造を構築します。',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: '結果は、単なるファイル名の変更ではなく、正当なICOファイルです。ピクセルデータは、Windows、macOS, およびすべての最新ブラウザがファビコンやアプリケーションアイコンを読み込む際に期待する正しい構造でパッキングされます。',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: '鮮明なファビコンのためのヒント',
|
|
138
|
+
html: '常に利用可能な最高解像度のソースからICOを生成してください。512×512以上のWebPは、低解像度のアイコンがぼやけて見えるRetinaや4Kディスプレイでも、完璧に鮮明なファビコンを作成します标记。',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: '活用事例と互換性',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'あらゆるウェブサイトやウェブアプリ用のfavicon.icoファイルの作成。',
|
|
150
|
+
'Windowsソフトウェアインストーラ用のアプリケーションアイコンの生成。',
|
|
151
|
+
'Electronアプリや同様のフレームワーク用のデスクトップアイコンの制作。',
|
|
152
|
+
'ChromeおよびFirefoxブラウザ拡張機能用のアイコンセットの制作。',
|
|
153
|
+
'ブランドのWebPロゴを企業向けアプリケーション用アイコンに変換。',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: '結論标记',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'モダンなデザインワークフローはWebPを生み出しますが、アプリケーションのエコシステムは依然としてICOを要求します。このツールは、ブランド資産がブラウザを離れることなく、正しいバイナリ構造と損なわれていない透明度を持つアイコンを生成し、わずか数秒でそのギャップを埋めます标记。',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
export const content: WebpAIcoLocaleContent = {
|
|
168
|
+
slug,
|
|
169
|
+
title,
|
|
170
|
+
description,
|
|
171
|
+
ui,
|
|
172
|
+
seo,
|
|
173
|
+
faq,
|
|
174
|
+
bibliography,
|
|
175
|
+
howTo,
|
|
176
|
+
schemas: generateSchemas({
|
|
177
|
+
title,
|
|
178
|
+
description,
|
|
179
|
+
inLanguage: 'ja',
|
|
180
|
+
faq,
|
|
181
|
+
howTo,
|
|
182
|
+
}),
|
|
183
|
+
};
|