@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,177 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { BmpAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'bmp-zu-png-konvertieren';
|
|
6
|
+
const title = 'BMP zu PNG Konverter';
|
|
7
|
+
const description =
|
|
8
|
+
'Konvertieren Sie BMP-Bilder ohne Qualitätsverlust in PNG. Moderne Kompression ohne Artefakte. Ohne Hochladen von Dateien. Kostenlos und 100 % privat.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'BMP-Dateien hierher ziehen...',
|
|
12
|
+
convertText: 'Um sie sofort in PNG zu konvertieren',
|
|
13
|
+
selectFiles: 'Dateien auswählen',
|
|
14
|
+
processedFiles: 'Verarbeitete Dateien',
|
|
15
|
+
downloadAll: 'Alles herunterladen (.zip)',
|
|
16
|
+
pending: 'Ausstehend',
|
|
17
|
+
bibliographyTitle: 'Literaturhinweise',
|
|
18
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: BmpAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Was ist der Hauptunterschied zwischen BMP und PNG?',
|
|
24
|
+
answer:
|
|
25
|
+
'Sowohl BMP als auch PNG sind verlustfreie Formate. Der Unterschied liegt in der Optimierung: PNG versteht moderne Kompressionsalgorithmen, um dasselbe Bild mit 5- bis 10-mal weniger Speicherplatz als BMP zu speichern.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Ist die Konvertierung wirklich privat?',
|
|
29
|
+
answer:
|
|
30
|
+
'Ja. Die gesamte Bildverarbeitung erfolgt auf Ihrem Computer. Absolut niemand greift auf Ihre Dateien im lokalen Transfer zu.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Warum PNG statt JPEG in diesem Fall?',
|
|
34
|
+
answer:
|
|
35
|
+
'Wenn Sie eine BMP-Datei haben, liegt das daran, dass das Bild präzise Farben hat. Die Umwandlung eines BMP in den verlustbehafteten JPG-Standard würde Ihre reinen Farben verschmutzen. PNG schützt diese Originaltreue.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: BmpAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Fügen Sie Ihr Foto hinzu',
|
|
42
|
+
text: 'Ziehen Sie die BMP-Quelldateien einfach in unseren Bereich für Web-Elemente.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Übersetzung ohne Netzwerkübertragung',
|
|
46
|
+
text: 'Erleben Sie in nur einer Sekunde die saubere, lokal von Ihrem HTML5-JS durchgeführte Verarbeitung.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Erhalten Sie reine PNGs',
|
|
50
|
+
text: 'Laden Sie die PNG-Kopien einzeln oder als komprimiertes Paket herunter.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: BmpAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'BMP File Format',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/BMP_file_format',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'PNG Specification W3C',
|
|
61
|
+
url: 'https://www.w3.org/TR/png/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: BmpAPngLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'BMP zu PNG Konverter: Der verlustfreie Ersatz für das BMP-Format',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'BMP ist ein unkomprimiertes Format, das riesige Mengen an Platz einnimmt, ohne einen technischen Vorteil gegenüber PNG zu bieten. Beide sind verlustfreie Formate: Sie speichern jedes Pixel mit absoluter Genauigkeit. Aber PNG fügt eine verlustfreie Kompression mittels Deflate-Algorithmus hinzu, was die Dateigröße um das 3- bis 5-Fache reduziert, ohne ein einziges Bit an visueller Information zu opfern. PNG ist im Wesentlichen das, was BMP immer sein wollte.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'BMP vs. PNG: gleiche Qualität, radikal unterschiedliche Größe',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'Der fundamentale Unterschied zwischen BMP und PNG liegt nicht in der Bildqualität — beide sind verlustfrei —, sondern in der Speichereffizienz. BMP speichert Pixel im Rohzustand: ohne Kompression, ohne Optimierung, ohne Berücksichtigung des Platzbedarfs. PNG analysiert wiederkehrende Pixelmuster und kodiert sie kompakt mittels Deflate, demselben Algorithmus, den auch ZIP verwendet.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'Zusätzlich zur überlegenen Kompression fügt PNG eine Eigenschaft hinzu, die BMP nie hatte: einen vollständigen Alphakanal für Transparenzen. Screenshots, Interface-Grafiken, Logos, technische Diagramme: All diese Bildtypen profitieren enorm von der Konvertierung in PNG, die jeden exakten Farbwert beibehält, während sie das Dateigewicht auf einen Bruchteil des Originals reduziert.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Architekturvergleich: Lokal vs. Cloud',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Cloud Konverter',
|
|
98
|
+
description: 'Dienste, die Ihre BMP-Dateien auf Servern von Drittanbietern verarbeiten.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Ihre Arbeitsbilder wandern über das Internet',
|
|
103
|
+
'Wartezeit proportional zur Größe des BMP',
|
|
104
|
+
'Größenbeschränkungen in kostenlosen Tarifen',
|
|
105
|
+
'Risiko der Analyse oder Speicherung Ihrer Dateien',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Unsere lokale Architektur',
|
|
110
|
+
description: 'Direkte Verarbeitung auf Ihrer Hardware mittels Vanilla JS-Technologie.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Das BMP wird lokal verarbeitet und verlässt niemals Ihr Gerät',
|
|
115
|
+
'Sofortige Konvertierung in Millisekunden',
|
|
116
|
+
'Keine Größenbeschränkungen oder Begrenzung der Dateianzahl',
|
|
117
|
+
'Vollständige Privatsphäre: 0 Bytes nach außen gesendet',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Wie die lokale Konvertierung von BMP in PNG funktioniert',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Der Prozess nutzt die Canvas API von HTML5. Die BMP-Datei wird mit der <code>FileReader</code>-API des Browsers gelesen und als Blob im Speicher dekodiert. Dieser Blob wird auf einem unsichtbaren HTML5-Canvas gezeichnet. Anschließend wendet die Methode <code>toDataURL(\'image/png\')</code> den nativen PNG-Kompressionsalgorithmus des Browsers an und generiert die Ergebnisdatei.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Im Gegensatz zur Konvertierung in JPG ist die Konvertierung in PNG vollständig verlustfrei: Jeder Farbwert des ursprünglichen BMP bleibt im resultierenden PNG exakt erhalten. Es gibt keine Artefakte, keine Kantenglättung, keinen Informationsverlust. Die endgültige Datei ist visuell identisch mit dem BMP, belegt aber 3- bis 5-mal weniger Platz auf der Festplatte.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'Wenn Sie mit alter Software arbeiten, die BMP exportiert (Industrieanlagen, Steuerungssysteme, medizinische Diagnosesoftware), ist die Konvertierung in PNG die beste Entscheidung. PNG ist mit absolut allen modernen Programmen kompatibel, behält die perfekte Farbtreue bei und nimmt bis zu 5-mal weniger Platz ein. Es ist die einfachste und sicherste Migration, die möglich ist.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'title',
|
|
141
|
+
text: 'Anwendungsfälle und Kompatibilität des resultierenden PNG',
|
|
142
|
+
level: 3,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'list',
|
|
146
|
+
icon: 'mdi:check-circle',
|
|
147
|
+
items: [
|
|
148
|
+
'Screenshots und Interface-Grafiken mit exakt erhaltenen Farben.',
|
|
149
|
+
'Bilder technischer Dokumentationen und Software-Diagramme.',
|
|
150
|
+
'Exporte aus CAD, Industriesystemen und Legacy-Software.',
|
|
151
|
+
'Logos und Elemente der visuellen Identität mit hinzugefügter Transparenz.',
|
|
152
|
+
'Kompatibel mit Adobe Photoshop, GIMP, Figma und allen modernen Editoren.',
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'title',
|
|
157
|
+
text: 'Fazit: PNG ist das, was BMP immer hätte sein sollen',
|
|
158
|
+
level: 3,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'paragraph',
|
|
162
|
+
html: 'Die Konvertierung von BMP in PNG ist die natürlichste Modernisierung einer Bilddatei: gleiche verlustfreie Qualität, höhere Kompatibilität, Unterstützung von Transparenz und 3- bis 5-mal weniger Gewicht. Unser Tool führt diese Konvertierung in Millisekunden direkt in Ihrem Browser durch, ohne eine Datei auf einen Server hochzuladen.',
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
export const content: BmpAPngLocaleContent = {
|
|
168
|
+
slug,
|
|
169
|
+
title,
|
|
170
|
+
description,
|
|
171
|
+
ui,
|
|
172
|
+
seo,
|
|
173
|
+
faq,
|
|
174
|
+
bibliography,
|
|
175
|
+
howTo,
|
|
176
|
+
schemas: generateSchemas({ title, description, inLanguage: 'de', faq, howTo }),
|
|
177
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
1
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
3
|
import type { BmpAPngLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'bmp-to-png-converter';
|
|
@@ -164,16 +164,6 @@ const seo: BmpAPngLocaleContent['seo'] = [
|
|
|
164
164
|
},
|
|
165
165
|
];
|
|
166
166
|
|
|
167
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
168
|
-
'@context': 'https://schema.org',
|
|
169
|
-
'@type': 'SoftwareApplication',
|
|
170
|
-
name: title,
|
|
171
|
-
description,
|
|
172
|
-
applicationCategory: 'UtilitiesApplication',
|
|
173
|
-
operatingSystem: 'Web',
|
|
174
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
-
inLanguage: 'en',
|
|
176
|
-
};
|
|
177
167
|
|
|
178
168
|
export const content: BmpAPngLocaleContent = {
|
|
179
169
|
slug,
|
|
@@ -184,5 +174,5 @@ export const content: BmpAPngLocaleContent = {
|
|
|
184
174
|
faq,
|
|
185
175
|
bibliography,
|
|
186
176
|
howTo,
|
|
187
|
-
schemas:
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'en', faq, howTo }),
|
|
188
178
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
1
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
3
|
import type { BmpAPngLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'convertidor-bmp-a-png';
|
|
@@ -164,16 +164,6 @@ const seo: BmpAPngLocaleContent['seo'] = [
|
|
|
164
164
|
},
|
|
165
165
|
];
|
|
166
166
|
|
|
167
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
168
|
-
'@context': 'https://schema.org',
|
|
169
|
-
'@type': 'SoftwareApplication',
|
|
170
|
-
name: title,
|
|
171
|
-
description,
|
|
172
|
-
applicationCategory: 'UtilitiesApplication',
|
|
173
|
-
operatingSystem: 'Web',
|
|
174
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
-
inLanguage: 'es',
|
|
176
|
-
};
|
|
177
167
|
|
|
178
168
|
export const content: BmpAPngLocaleContent = {
|
|
179
169
|
slug,
|
|
@@ -184,5 +174,5 @@ export const content: BmpAPngLocaleContent = {
|
|
|
184
174
|
faq,
|
|
185
175
|
bibliography,
|
|
186
176
|
howTo,
|
|
187
|
-
schemas:
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'es', faq, howTo }),
|
|
188
178
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
1
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
3
|
import type { BmpAPngLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'convertisseur-bmp-en-png';
|
|
@@ -164,16 +164,6 @@ const seo: BmpAPngLocaleContent['seo'] = [
|
|
|
164
164
|
},
|
|
165
165
|
];
|
|
166
166
|
|
|
167
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
168
|
-
'@context': 'https://schema.org',
|
|
169
|
-
'@type': 'SoftwareApplication',
|
|
170
|
-
name: title,
|
|
171
|
-
description,
|
|
172
|
-
applicationCategory: 'UtilitiesApplication',
|
|
173
|
-
operatingSystem: 'Web',
|
|
174
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
-
inLanguage: 'fr',
|
|
176
|
-
};
|
|
177
167
|
|
|
178
168
|
export const content: BmpAPngLocaleContent = {
|
|
179
169
|
slug,
|
|
@@ -184,5 +174,5 @@ export const content: BmpAPngLocaleContent = {
|
|
|
184
174
|
faq,
|
|
185
175
|
bibliography,
|
|
186
176
|
howTo,
|
|
187
|
-
schemas:
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'fr', faq, howTo }),
|
|
188
178
|
};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { BmpAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'konverter-bmp-ke-png';
|
|
6
|
+
const title = 'Konverter BMP ke PNG';
|
|
7
|
+
const description =
|
|
8
|
+
'Ubah gambar BMP ke PNG tanpa kehilangan kualitas. Kompresi modern tanpa artefak. Tanpa mengunggah file. Gratis dan 100% pribadi.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Seret file BMP...',
|
|
12
|
+
convertText: 'Untuk mengubahnya ke PNG secara instan',
|
|
13
|
+
selectFiles: 'Pilih file',
|
|
14
|
+
processedFiles: 'File yang diproses',
|
|
15
|
+
downloadAll: 'Unduh Semua (.zip)',
|
|
16
|
+
pending: 'Tertunda',
|
|
17
|
+
bibliographyTitle: 'Referensi Bibliografi',
|
|
18
|
+
faqTitle: 'Pertanyaan Umum',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: BmpAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Apa perbedaan utama antara BMP dan PNG?',
|
|
24
|
+
answer:
|
|
25
|
+
'Baik BMP maupun PNG adalah format tanpa kehilangan kualitas (lossless). Perbedaannya terletak pada optimalisasi: PNG memahami algoritma kompresi modern untuk menyimpan gambar yang sama dengan memori yang 5 atau 10 kali lebih kecil daripada BMP.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Apakah konversi ini benar-benar pribadi?',
|
|
29
|
+
answer:
|
|
30
|
+
'Ya. Seluruh pemrosesan foto dilakukan oleh komputer Anda. Sama sekali tidak ada yang mengakses file Anda dalam transit lokal.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Mengapa memilih PNG daripada JPEG dalam kasus ini?',
|
|
34
|
+
answer:
|
|
35
|
+
'Jika Anda memiliki file BMP, itu karena gambar tersebut memiliki warna yang presisi. Mengubah BMP ke standar JPG yang merusak akan merusak warna murni Anda. PNG melindungi kesetiaan tersebut.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: BmpAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Masukkan Foto Anda',
|
|
42
|
+
text: 'Pindahkan file sumber BMP dengan tenang ke area kami untuk melepaskan elemen web.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Konversi Tanpa Transmisi Jaringan',
|
|
46
|
+
text: 'Saksikan hanya dalam satu detik pemrosesan bersih yang dilakukan secara lokal oleh JS HTML5 Anda.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Dapatkan PNG Murni',
|
|
50
|
+
text: 'Unduh replika dalam format PNG satu per satu atau melalui paket terkompresi.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: BmpAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'BMP File Format',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/BMP_file_format',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'PNG Specification W3C',
|
|
61
|
+
url: 'https://www.w3.org/TR/png/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: BmpAPngLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Konverter BMP ke PNG: Pengganti Tanpa Kehilangan untuk Format BMP',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'BMP adalah format tanpa kompresi yang memakan banyak ruang tanpa manfaat teknis apa pun dibandingkan dengan PNG. Keduanya adalah format tanpa kehilangan: mereka menyimpan setiap piksel dengan ketepatan absolut. Namun PNG menambahkan kompresi lossless melalui algoritma Deflate, yang mengurangi ukuran file antara 3 dan 5 kali lipat tanpa mengorbankan satu bit pun informasi visual. PNG, pada dasarnya, adalah apa yang selalu dicita-citakan oleh BMP.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'BMP vs PNG: kualitas sama, ukuran sangat berbeda',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'Perbedaan mendasar antara BMP dan PNG bukan pada kualitas gambar — keduanya tanpa kehilangan — tetapi pada efisiensi penyimpanan. BMP menyimpan piksel mentah: tanpa kompresi, tanpa optimalisasi, tanpa mempertimbangkan ruang. PNG menganalisis pola piksel yang berulang dan mengodekannya secara ringkas melalui Deflate, algoritma yang sama yang digunakan oleh ZIP.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'Selain kompresi yang unggul, PNG menambahkan fitur yang tidak pernah dimiliki BMP: saluran alfa lengkap untuk transparansi. Tangkapan layar, grafik antarmuka, logo, diagram teknis: semua jenis gambar ini sangat diuntungkan dari konversi ke PNG, yang mempertahankan setiap nilai warna yang tepat sambil mengurangi bobot file menjadi sebagian kecil saja dari aslinya.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Perbandingan Arsitektur: Lokal vs Cloud',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Konverter Cloud',
|
|
98
|
+
description: 'Layanan yang memproses file BMP Anda di server pihak ketiga.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Gambar kerja Anda menjelajahi internet',
|
|
103
|
+
'Waktu tunggu proporsional dengan ukuran BMP',
|
|
104
|
+
'Batasan ukuran pada paket gratis',
|
|
105
|
+
'Risiko analisis atau penyimpanan file Anda',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Arsitektur Lokal Kami',
|
|
110
|
+
description: 'Pemrosesan langsung di perangkat keras Anda melalui teknologi Vanilla JS.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'BMP diproses secara lokal, tidak pernah meninggalkan perangkat Anda',
|
|
115
|
+
'Konversi instan dalam hitungan milidetik',
|
|
116
|
+
'Tanpa batasan ukuran atau jumlah file',
|
|
117
|
+
'Privasi total: 0 byte dikirim ke luar',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Cara kerja konversi lokal dari BMP ke PNG',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Proses ini menggunakan Canvas API dari HTML5. File BMP dibaca dengan API <code>FileReader</code> browser dan didercode sebagai Blob di memori. Blob tersebut digambar di atas kanvas HTML5 yang tidak terlihat. Selanjutnya, metode <code>toDataURL(\'image/png\')</code> menerapkan algoritma kompresi PNG asli browser dan menghasilkan file yang dihasilkan.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Berbeda dengan konversi ke JPG, konversi ke PNG sepenuhnya tanpa kehilangan: setiap nilai warna dari BMP asli dipertahankan secara tepat dalam PNG yang dihasilkan. Tidak ada artefak, tidak ada penghalusan tepi, tidak ada kehilangan informasi. File akhir secara visual identik dengan BMP tetapi memakan ruang disk 3 hingga 5 kali lebih sedikit.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'Jika Anda bekerja dengan perangkat lunak lama yang mengekspor BMP (mesin industri, sistem kontrol, perangkat lunak diagnostik medis), mengonversi ke PNG adalah keputusan terbaik. PNG kompatibel dengan hampir semua program modern, mempertahankan kesetiaan warna yang sempurna, dan memakan ruang hingga 5 kali lebih sedikit. Ini adalah migrasi yang paling sederhana dan paling aman.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'title',
|
|
141
|
+
text: 'Kasus penggunaan dan kompatibilitas PNG yang dihasilkan',
|
|
142
|
+
level: 3,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'list',
|
|
146
|
+
icon: 'mdi:check-circle',
|
|
147
|
+
items: [
|
|
148
|
+
'Tangkapan layar dan grafik antarmuka dengan warna yang tepat dipertahankan.',
|
|
149
|
+
'Gambar dokumentasi teknis dan diagram perangkat lunak.',
|
|
150
|
+
'Ekspor dari CAD, sistem industri, dan perangkat lunak lama.',
|
|
151
|
+
'Logo dan elemen identitas visual dengan transparansi tambahan.',
|
|
152
|
+
'Kompatibel dengan Adobe Photoshop, GIMP, Figma, dan semua editor modern.',
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'title',
|
|
157
|
+
text: 'Kesimpulan: PNG adalah wujud ideal yang selalu diinginkan BMP',
|
|
158
|
+
level: 3,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'paragraph',
|
|
162
|
+
html: 'Mengonversi BMP ke PNG adalah modernisasi paling alami dari sebuah file gambar: kualitas tanpa kehilangan yang sama, kompatibilitas yang lebih besar, dukungan transparansi, dan bobot 3 hingga 5 kali lebih kecil. Alat kami melakukan konversi ini dalam hitungan milidetik, langsung di browser Anda, tanpa mengunggah file apa pun ke server mana pun.',
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
export const content: BmpAPngLocaleContent = {
|
|
168
|
+
slug,
|
|
169
|
+
title,
|
|
170
|
+
description,
|
|
171
|
+
ui,
|
|
172
|
+
seo,
|
|
173
|
+
faq,
|
|
174
|
+
bibliography,
|
|
175
|
+
howTo,
|
|
176
|
+
schemas: generateSchemas({ title, description, inLanguage: 'id', faq, howTo }),
|
|
177
|
+
};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { BmpAPngLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertitore-bmp-a-png';
|
|
6
|
+
const title = 'Convertitore da BMP a PNG';
|
|
7
|
+
const description =
|
|
8
|
+
'Converti le immagini BMP in PNG senza perdita di qualità. Compressione moderna senza artefatti. Senza caricare file su server. Gratuito e privato al 100%.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Trascina i file BMP...',
|
|
12
|
+
convertText: 'Per convertirli in PNG istantaneamente',
|
|
13
|
+
selectFiles: 'Seleziona i 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: BmpAPngLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Qual è la principale differenza tra BMP e PNG?',
|
|
24
|
+
answer:
|
|
25
|
+
'Sia BMP che PNG sono formati senza perdita di dati. La differenza risiede nell\'ottimizzazione: il PNG supporta moderni algoritmi di compressione per salvare la stessa immagine occupando 5 o 10 volte meno memoria rispetto al BMP.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'La conversione è davvero privata?',
|
|
29
|
+
answer:
|
|
30
|
+
'Sì. Tutta l\'elaborazione fotografica viene eseguita dal tuo computer. Assolutamente nessuno accede ai tuoi file durante il trasferimento locale.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Perché scegliere il PNG rispetto al JPEG in questo caso?',
|
|
34
|
+
answer:
|
|
35
|
+
'Se possiedi un file BMP, è perché l\'immagine ha colori precisi. Passare un BMP allo standard distruttivo JPG degraderebbe i tuoi colori netti. Il PNG preserva tale fedeltà.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: BmpAPngLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Inserisci la tua Fotografia',
|
|
42
|
+
text: 'Trascina tranquillamente i file BMP di origine nella nostra area dedicata al rilascio di elementi web.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Conversione senza Trasmissione di Rete',
|
|
46
|
+
text: 'Visualizza in appena un secondo l\'elaborazione pulita eseguita localmente tramite JS HTML5.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Ottieni PNG Puri',
|
|
50
|
+
text: 'Scarica le repliche in PNG singolarmente o tramite un pacchetto compresso.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: BmpAPngLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'BMP File Format',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/BMP_file_format',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'PNG Specification W3C',
|
|
61
|
+
url: 'https://www.w3.org/TR/png/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: BmpAPngLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'Convertitore da BMP a PNG: La Sostituzione Senza Perdita del Formato BMP',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'Il BMP è un formato senza compressione che occupa enormi quantità di spazio senza alcun vantaggio tecnico rispetto al PNG. Entrambi sono formati lossless: salvano ogni pixel con assoluta esattezza. Tuttavia, il PNG aggiunge la compressione senza perdita tramite l\'algoritmo Deflate, riducendo le dimensioni del file da 3 a 5 volte senza sacrificare un singolo bit di informazioni visive. Il PNG è, in sostanza, ciò che il BMP ha sempre desiderato essere.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'BMP vs PNG: stessa qualità, dimensioni radicalmente diverse',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'La differenza fondamentale tra BMP e PNG non risiede nella qualità dell\'immagine — entrambi sono senza perdita — ma nell\'efficienza di archiviazione. Il BMP memorizza i pixel grezzi: senza compressione, senza ottimizzazione, senza considerare lo spazio. Il PNG analizza i pattern di pixel ripetuti e li codifica in modo compatto tramite Deflate, lo stesso algoritmo utilizzato dallo ZIP.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'Oltre alla compressione superiore, il PNG aggiunge una caratteristica che il BMP non ha mai avuto: il canale alfa completo per le trasparenze. Screenshot, grafica d\'interfaccia, loghi, diagrammi tecnici: tutti questi tipi di immagini traggono enorme vantaggio dalla conversione in PNG, che mantiene ogni valore di colore esatto riducendo al contempo il peso del file a una frazione dell\'originale.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Confronto di Architettura: Locale vs Cloud',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Convertitori Cloud',
|
|
98
|
+
description: 'Servizi che elaborano i tuoi file BMP su server di terze parti.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Le tue immagini di lavoro viaggiano su Internet',
|
|
103
|
+
'Tempo di attesa proporzionale alle dimensioni del BMP',
|
|
104
|
+
'Limiti di dimensione nei piani gratuiti',
|
|
105
|
+
'Rischio di analisi o conservazione dei tuoi file',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'La Nostra Architettura Locale',
|
|
110
|
+
description: 'Elaborazione diretta sul tuo hardware tramite tecnologia Vanilla JS.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Il BMP viene elaborato localmente, non lascia mai il tuo dispositivo',
|
|
115
|
+
'Conversione istantanea in millisecondi',
|
|
116
|
+
'Senza limiti di dimensioni o numero di file',
|
|
117
|
+
'Privacy totale: 0 byte inviati all\'esterno',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Come funziona la conversione locale da BMP a PNG',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Il processo utilizza l\'API Canvas di HTML5. Il file BMP viene letto tramite l\'API <code>FileReader</code> del browser e decodificato come Blob in memoria. Tale Blob viene disegnato su un canvas HTML5 invisibile. Successivamente, il metodo <code>toDataURL(\'image/png\')</code> applica l\'algoritmo di compressione PNG nativo del browser e genera il file risultante.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'A differenza della conversione in JPG, la conversione in PNG è completamente lossless: ogni valore di colore del BMP originale viene preservato esattamente nel PNG risultante. Non ci sono artefatti, non c\'è ammorbidimento dei bordi, nessuna perdita di informazioni. Il file finale è visivamente identico al BMP ma occupa da 3 a 5 volte meno spazio su disco.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'paragraph',
|
|
137
|
+
html: 'Se lavori con software datati che esportano in BMP (macchinari industriali, sistemi di controllo, software di diagnostica medica), convertire in PNG è la scelta migliore. Il PNG è compatibile con assolutamente tutti i programmi moderni, mantiene la perfetta fedeltà cromatica e occupa fino a 5 volte meno spazio. È la migrazione più semplice e sicura possibile.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'title',
|
|
141
|
+
text: 'Casi d\'uso e compatibilità del PNG risultante',
|
|
142
|
+
level: 3,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'list',
|
|
146
|
+
icon: 'mdi:check-circle',
|
|
147
|
+
items: [
|
|
148
|
+
'Screenshot e grafica d\'interfaccia con colori esatti preservati.',
|
|
149
|
+
'Immagini di documentazione tecnica e diagrammi software.',
|
|
150
|
+
'Esportazioni da CAD, sistemi industriali e software legacy.',
|
|
151
|
+
'Loghi ed elementi di identità visiva con trasparenza aggiunta.',
|
|
152
|
+
'Compatibile con Adobe Photoshop, GIMP, Figma e tutti i moderni editor.',
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
type: 'title',
|
|
157
|
+
text: 'Conclusione: il PNG è ciò che il BMP avrebbe sempre dovuto essere',
|
|
158
|
+
level: 3,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'paragraph',
|
|
162
|
+
html: 'Convertire BMP in PNG è la modernizzazione più naturale di un file immagine: stessa qualità lossless, maggiore compatibilità, supporto della trasparenza e peso da 3 a 5 volte inferiore. Il nostro strumento esegue questa conversione in millisecondi, direttamente nel tuo browser, senza caricare alcun file su alcun server.',
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
export const content: BmpAPngLocaleContent = {
|
|
168
|
+
slug,
|
|
169
|
+
title,
|
|
170
|
+
description,
|
|
171
|
+
ui,
|
|
172
|
+
seo,
|
|
173
|
+
faq,
|
|
174
|
+
bibliography,
|
|
175
|
+
howTo,
|
|
176
|
+
schemas: generateSchemas({ title, description, inLanguage: 'it', faq, howTo }),
|
|
177
|
+
};
|