@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,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { BmpAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'bmp-to-jpg-converter';
|
|
6
|
+
const title = 'BMPをJPGにオンラインで変換';
|
|
7
|
+
const description =
|
|
8
|
+
'ブラウザ上でBMP画像をJPGに変換します。サイズを劇的に削減。サーバーへのファイルアップロードは不要。無料で100%プライベートに使用できます。';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'BMPファイルをドラッグ...',
|
|
12
|
+
convertText: '即座にJPGに変換します',
|
|
13
|
+
selectFiles: 'ファイルを選択',
|
|
14
|
+
processedFiles: '処理済みファイル',
|
|
15
|
+
downloadAll: 'すべてダウンロード (.zip)',
|
|
16
|
+
pending: '待機中',
|
|
17
|
+
bibliographyTitle: '参考文献',
|
|
18
|
+
faqTitle: 'よくある質問',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: BmpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'なぜBMPをJPGに変換するのですか?',
|
|
24
|
+
answer:
|
|
25
|
+
'BMP形式はデータを圧縮しないため、ファイルサイズが非常に大きくなります。JPG形式は、ウェブや配布用に優れた視覚的品質を維持しながら、画像を劇的に圧縮します。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'ここで画像を変換するのは安全ですか?',
|
|
29
|
+
answer:
|
|
30
|
+
'100%安全です。処理はすべてお使いのウェブブラウザのエンジンを使用してローカルで実行されるため、プライバシーが保証されます。',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'このツールはどのように機能しますか?',
|
|
34
|
+
answer:
|
|
35
|
+
'BMPファイルをドラッグするだけで、JavaScriptスクリプトがピクセルを読み取ってHTMLキャンバス上に再描画し、即座にJPEGエンコーディングでエクスポートします。',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: BmpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'BMPファイルをアップロード',
|
|
42
|
+
text: '指定されたエリアにBMP形式の画像をドラッグ&ドロップするか、選択してください。',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: '自動処理',
|
|
46
|
+
text: 'ツールが画像をラスタライズし、数ミリ秒でJPG形式の最適な圧縮レベルを適用します。',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: '個別または一括ダウンロード',
|
|
50
|
+
text: 'ウェブ用に最適化された新しい画像を、1つずつ、またはZIPファイルとしてダウンロードして取得してください。',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: BmpAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'BMP File Format Specification',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/BMP_file_format',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'JPEG.org',
|
|
61
|
+
url: 'https://jpeg.org/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: BmpAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'BMP-JPGコンバーター:巨大なファイルを数秒で縮小',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'BMP(Bitmap)は、コンピュータサイエンスにおいて最も単純な形式です。各ピクセルをそのまま、圧縮なしで保存します。1920x1080解像度のBMPスクリーンショットのサイズは約6MBです。同じ画像をJPGにすると、視覚的には区別がつかない品質で200〜400KB程度になります。この差は圧倒的であり、当ツールを使用すれば、サーバーに何もアップロードすることなく、ブラウザ上で直接数秒でその変換を行うことができます。',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'BMP vs JPG:生データ vs インテリジェント圧縮',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'BMP形式は、Windows 3.1の時代にMicrosoftによって作成されました。その哲学は可能な限りシンプルです。各ピクセルは3バイト(赤、緑、青)を占有し、ピクセルは追加の処理なしで一列に保存されます。この完全な圧縮の欠如により、実際の写真やスクリーンショットの場合、BMPファイルはJPG相当の50〜100倍も大きくなってしまいます。',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: '対照的に、JPGは離散コサイン変換(DCT)を使用して各8x8ピクセルのブロックを分析し、人間の目がほとんど認識できない高周波情報を排除します。その結果、見た目は同じでありながら、元のサイズの数分の一の重量の画像が得られます。スクリーンショット、スキャナー、またはレガシーなWindowsアプリケーションからのBMPファイルにとって、JPGへの変換は最も効果的な最適化アクションです。',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'アーキテクチャの比較:ローカル vs クラウド',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'クラウドコンバーター',
|
|
98
|
+
description: '処理のためにBMPファイルをリモートサーバーにアップロードするサービス。',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'低速な接続では10MBのBMPをアップロードするのに時間がかかる',
|
|
103
|
+
'機密性の高いスクリーンショットや画像がインターネット上を移動する',
|
|
104
|
+
'無料プランでの頻繁なサイズ制限',
|
|
105
|
+
'二重のレイテンシ:変換されたファイルのアップロードとダウンロード',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: '当サイトのローカルアーキテクチャ',
|
|
110
|
+
description: 'Vanilla JSテクノロジーを使用してハードウェア上で直接処理。',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'BMPはRAM内で処理され、サーバーには送信されない',
|
|
115
|
+
'待機時間のない即時変換',
|
|
116
|
+
'ファイルごとのサイズ制限なし',
|
|
117
|
+
'完全なプライバシー:0バイトが外部に送信される',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: '技術的なBMPからJPGへの変換の仕組み',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'BMPファイルをツールにドラッグすると、ブラウザは<code>FileReader</code> APIを使用してそれを読み取り、メモリ内でBlobオブジェクトとしてデコードします。そのBlobは、不可視のHTML5キャンバス上にレンダリングされます。次に、<code>toDataURL(\'image/jpeg\')</code>メソッドがキャンバスデータにJPEG圧縮アルゴリズムを適用し、結果のJPGファイルを生成します。',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'BMPにはアルファチャンネル(透明度のサポート)がないため、背景色との合成を必要とせず、JPGへの変換は直接的です。プロセス全体は、ネットワークを介したデータ送信なしに、数メガバイトのファイルであってもミリ秒単位でお使いのコンピュータのRAM内で行われます。',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'WindowsのBMPは巨大になる可能性があります',
|
|
138
|
+
html: 'スクリーンショット(WindowsのPrint Screenキー)やPaintなどの古いアプリケーションによって生成されたBMPファイルは、同等のJPGよりも50〜100倍重くなる可能性があります。フルHD解像度の単一のBMPが6MBを超えることもあります。メールで送信したりプラットフォームにアップロードしたりする前に、これらをJPGに変換することは不可欠な習慣です。',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: '使用例と変換後のJPGの互換性',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'メール送信用のWindowsスクリーンショットの最適化。',
|
|
150
|
+
'レガシーソフトウェア(CAD、古いスキャナー)によってエクスポートされた画像の変換。',
|
|
151
|
+
'ウェブプラットフォームやSNSへの画像アップロードのための軽量化。',
|
|
152
|
+
'Word、PowerPoint、またはPDFドキュメントへの挿入用ファイルの準備。',
|
|
153
|
+
'すべての最新ビューアおよびブラウザとのユニバーサルな互換性。',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: '結論:10MBのBMPが500KBのJPGに。同じ画像で。',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'BMPからJPGへの変換は、画像ファイルの管理において最も報われる最適化作業の1つです。当ツールは、ファイルをアップロードせず、アカウントを作成することもなく、ブラウザ上で直接数秒でその変換を実行します。その結果、ユニバーサルな互換性を持ち、元のBMPより最大97%軽量な高品質JPGが得られます。',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: BmpAJpgLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'ja', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { BmpAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'bmp-to-jpg-converter';
|
|
6
|
+
const title = 'BMP를 JPG로 온라인 변환';
|
|
7
|
+
const description =
|
|
8
|
+
'브라우저에서 BMP 이미지를 JPG로 변환하세요. 파일 크기를 획기적으로 줄일 수 있습니다. 서버 업로드 없이 로컬에서 처리되어 무료이며 100% 안전합니다.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'BMP 파일을 끌어다 놓으세요...',
|
|
12
|
+
convertText: '즉시 JPG로 변환합니다',
|
|
13
|
+
selectFiles: '파일 선택',
|
|
14
|
+
processedFiles: '처리된 파일',
|
|
15
|
+
downloadAll: '모두 다운로드 (.zip)',
|
|
16
|
+
pending: '대기 중',
|
|
17
|
+
bibliographyTitle: '참고 문헌',
|
|
18
|
+
faqTitle: '자주 묻는 질문',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: BmpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: '왜 BMP를 JPG로 변환해야 하나요?',
|
|
24
|
+
answer:
|
|
25
|
+
'BMP 형식은 데이터를 압축하지 않아 파일 크기가 매우 큽니다. JPG 형식은 웹 및 배포를 위해 우수한 시각적 품질을 유지하면서 이미지를 획기적으로 압축합니다.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '여기서 이미지를 변환하는 것이 안전한가요?',
|
|
29
|
+
answer:
|
|
30
|
+
'100% 안전합니다. 모든 처리는 사용자의 웹 브라우저 엔진을 사용하여 로컬에서 수행되므로 개인 정보가 보장됩니다.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '이 도구는 어떻게 작동하나요?',
|
|
34
|
+
answer:
|
|
35
|
+
'BMP 파일을 드래그하기만 하면 JavaScript 스크립트가 픽셀을 읽어 HTML 캔버스에 다시 그려 즉시 JPEG 인코딩으로 내보냅니다.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: BmpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'BMP 파일 업로드',
|
|
42
|
+
text: '지정된 영역에 BMP 형식의 이미지를 드래그 앤 드롭하거나 선택하세요.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: '자동 처리',
|
|
46
|
+
text: '도구가 이미지를 래스터화하고 수 밀리초 내에 최적의 JPG 압축 수준을 적용합니다.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: '개별 또는 일괄 다운로드',
|
|
50
|
+
text: '웹에 최적화된 새로운 이미지를 하나씩 또는 ZIP 파일로 한꺼번에 다운로드하세요.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: BmpAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'BMP File Format Specification',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/BMP_file_format',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'JPEG.org',
|
|
61
|
+
url: 'https://jpeg.org/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: BmpAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'BMP to JPG 변환기: 거대한 파일을 몇 초 만에 압축',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'BMP(Bitmap)는 컴퓨터 공학에서 가장 단순한 형식입니다. 어떠한 압축도 없이 각 픽셀을 있는 그대로 저장합니다. 1920x1080 해상도의 BMP 스크린샷 크기는 약 6MB입니다. 동일한 이미지를 JPG로 변환하면 시각적으로 구분이 안 되는 품질로 약 200~400KB 정도가 됩니다. 그 차이는 어마어마하며, 당사 도구를 사용하면 서버 업로드 없이 브라우저에서 직접 몇 초 만에 변환할 수 있습니다.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'BMP vs JPG: 원시 데이터와 지능형 압축의 대결',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'BMP 형식은 Windows 3.1 시대에 Microsoft에서 만들었습니다. 철학은 매우 단순합니다. 각 픽셀은 3바이트(빨강, 초록, 파랑)를 차지하며 픽셀은 추가 처리 없이 한 줄로 저장됩니다. 이러한 압축 부재로 인해 실제 사진이나 스크린샷의 경우 BMP 파일은 JPG보다 50~100배 더 큽니다.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: '반면 JPG는 이산 코사인 변환(DCT)을 사용하여 각 8x8 픽셀 블록을 분석하고 인간의 눈이 거의 감지하지 못하는 고주파 정보를 제거합니다. 결과적으로 시각적으로는 동일해 보이지만 원본 크기의 아주 일부분에 불과한 이미지가 생성됩니다. 스크린샷, 스캐너 또는 레거시 Windows 애플리케이션의 BMP 파일에 대해 JPG 변환은 가장 효과적인 최적화 방법입니다.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: '아키텍처 비교: 로컬 vs 클라우드',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: '클라우드 변환기',
|
|
98
|
+
description: '처리를 위해 BMP 파일을 원격 서버로 업로드하는 서비스입니다.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'연결이 느린 경우 10MB BMP를 업로드하는 데 시간이 오래 걸림',
|
|
103
|
+
'사용자의 기밀 스크린샷과 이미지가 인터넷을 통해 전송됨',
|
|
104
|
+
'무료 요금제에서의 빈번한 파일 크기 제한',
|
|
105
|
+
'전송 지연: 변환된 파일의 업로드 및 다운로드 시간',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: '당사의 로컬 아키텍처',
|
|
110
|
+
description: 'Vanilla JS 기술을 통해 사용자의 하드웨어에서 직접 처리합니다.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'BMP가 사용자의 RAM에서 처리되며 서버로 전송되지 않음',
|
|
115
|
+
'기다림 없는 즉각적인 변환',
|
|
116
|
+
'파일당 크기 제한 없음',
|
|
117
|
+
'완벽한 프라이버시: 외부로 0바이트 전송',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: '기술적인 BMP to JPG 변환 원리',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'BMP 파일을 도구로 드래그하면 브라우저가 <code>FileReader</code> API를 통해 파일을 읽고 메모리에서 Blob 객체로 디코드합니다. 해당 Blob은 보이지 않는 HTML5 캔버스로 렌더링됩니다. 그런 다음 <code>toDataURL(\'image/jpeg\')</code> 메서드가 캔버스 데이터에 JPEG 압축 알고리즘을 적용하여 결과 JPG 파일을 생성합니다.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'BMP에는 알파 채널(투명도 지원 안 함)이 없으므로 흰색 배경 합성이 필요 없는 직접적인 JPG 변환이 가능합니다. 모든 과정은 네트워크 데이터 전송 없이 사용자의 컴퓨터 RAM에서 수 밀리초 내에 완료되며, 수 메가바이트 크기의 파일도 빠르게 처리됩니다.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Windows BMP 파일은 거대할 수 있습니다',
|
|
138
|
+
html: '스크린샷(Windows의 Print Screen 키)이나 그림판 같은 레거시 앱에서 생성된 BMP 파일은 동일한 JPG보다 50~100배 더 무거울 수 있습니다. Full HD 해상도의 단일 BMP는 6MB를 초과할 수 있습니다. 이메일로 보내거나 플랫폼에 업로드하기 전에 JPG로 변환하는 것이 필수적인 작업입니다.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: '사용 사례 및 변환된 JPG의 호환성',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'이메일 전송을 위한 Windows 스크린샷 최적화.',
|
|
150
|
+
'레거시 소프트웨어(CAD, 구형 스캐너)에서 내보낸 이미지 변환.',
|
|
151
|
+
'웹 플랫폼 및 SNS 업로드를 위한 이미지 크기 줄이기.',
|
|
152
|
+
'Word, PowerPoint 또는 PDF 문서 삽입용 파일 준비.',
|
|
153
|
+
'모든 최신 뷰어 및 브라우저와의 범용 호환성.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: '결론: 10MB BMP가 500KB JPG로, 동일한 화질',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'BMP를 JPG로 변환하는 것은 이미지 파일 관리에서 가장 보람 있는 최적화 작업 중 하나입니다. 당사 도구는 파일 업로드 및 계정 생성 없이 브라우저에서 직접 몇 초 만에 이 작업을 수행합니다. 결과물은 범용적으로 호환되는 고품질 JPG로, 원본 BMP보다 크기가 최대 97% 작습니다.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: BmpAJpgLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'ko', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { BmpAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'bmp-naar-jpg-converter';
|
|
6
|
+
const title = 'BMP naar JPG Online Converteren';
|
|
7
|
+
const description =
|
|
8
|
+
'Converteer BMP-afbeeldingen naar JPG in je browser. Beperk de bestandsgrootte drastisch. Zonder bestanden naar servers te uploaden. Gratis en 100% privé.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Sleep BMP-bestanden hierheen...',
|
|
12
|
+
convertText: 'Om ze direct naar JPG te converteren',
|
|
13
|
+
selectFiles: 'Bestanden selecteren',
|
|
14
|
+
processedFiles: 'Verwerkte bestanden',
|
|
15
|
+
downloadAll: 'Alles downloaden (.zip)',
|
|
16
|
+
pending: 'In afwachting',
|
|
17
|
+
bibliographyTitle: 'Bibliografische Referenties',
|
|
18
|
+
faqTitle: 'Veelgestelde Vragen',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: BmpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Waarom BMP naar JPG converteren?',
|
|
24
|
+
answer:
|
|
25
|
+
'Het BMP-formaat comprimeert geen gegevens, wat resulteert in extreem grote bestanden. Het JPG-formaat comprimeert de afbeelding drastisch met behoud van een uitstekende visuele kwaliteit voor web en distributie.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Is het veilig om mijn afbeeldingen hier te converteren?',
|
|
29
|
+
answer:
|
|
30
|
+
'100% veilig. Je privacy is gegarandeerd omdat de verwerking volledig lokaal gebeurt met behulp van de engine van je eigen webbrowser.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Hoe werkt de tool?',
|
|
34
|
+
answer:
|
|
35
|
+
'Sleep gewoon je BMP-bestanden naar de tool en ons JavaScript-script leest de pixels om ze opnieuw op een HTML-canvas te tekenen en ze direct in JPEG-codering te exporteren.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: BmpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Upload je BMP-bestanden',
|
|
42
|
+
text: 'Sleep je afbeeldingen in BMP-formaat naar de aangewezen zone of selecteer ze handmatig.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Automatische Verwerking',
|
|
46
|
+
text: 'De tool rastert de afbeelding en past in milliseconden het optimale compressieniveau in JPG-formaat toe.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Individuele of Batch-download',
|
|
50
|
+
text: 'Haal je nieuwe voor web geoptimaliseerde afbeeldingen één voor één op of download ze als een ZIP-bestand.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: BmpAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'BMP File Format Specification',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/BMP_file_format',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'JPEG.org',
|
|
61
|
+
url: 'https://jpeg.org/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: BmpAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'BMP naar JPG Converter: Verklein een gigantisch bestand in seconden',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'BMP (Bitmap) is het meest eenvoudige formaat in de informatica: het slaat elke pixel op zoals die is, zonder enige vorm van compressie. Een screenshot van 1920x1080 in BMP weegt ongeveer 6 MB. Diezelfde afbeelding in JPG neemt tussen de 200 en 400 KB in beslag met een visueel ononderscheidbare kwaliteit. Het verschil is enorm en onze tool stelt je in staat om die conversie in seconden uit te voeren, direct in je browser, zonder iets naar een server te uploaden.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'BMP vs JPG: ruwe data tegen slimme compressie',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'Het BMP-formaat is door Microsoft gecreëerd in het tijdperk van Windows 3.1. De filosofie is zo eenvoudig mogelijk: elke pixel neemt 3 bytes in beslag (rood, groen, blauw) en de pixels worden achter elkaar opgeslagen zonder verdere verwerking. Door deze totale afwezigheid van compressie zijn BMP-bestanden tussen de 50 en 100 keer groter dan hun equivalent in JPG voor foto\'s en echte screenshots.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPG daarentegen gebruikt de Discrete Cosinus Transformatie (DCT) om elk blok van 8x8 pixels te analyseren en de hoogfrequente informatie die het menselijk oog nauwelijks waarneemt te elimineren. Het resultaat is een afbeelding die er identiek uitziet, maar slechts een fractie weegt van het origineel. Voor BMP-bestanden afkomstig van screenshots, scanners of legacy Windows-applicaties is de conversie naar JPG de meest impactvolle optimalisatie-actie die mogelijk is.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Vergelijking van Architectuur: Lokaal vs Cloud',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Cloud Converters',
|
|
98
|
+
description: 'Diensten die je BMP-bestanden naar externe servers uploaden om ze te verwerken.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Het uploaden van een BMP van 10 MB duurt lang bij trage verbindingen',
|
|
103
|
+
'Je screenshots en vertrouwelijke afbeeldingen reizen over het internet',
|
|
104
|
+
'Frequente limieten voor bestandsgrootte in gratis abonnementen',
|
|
105
|
+
'Dubbele latentie: uploaden en downloaden van het geconverteerde bestand',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Onze Lokale Architectuur',
|
|
110
|
+
description: 'Directe verwerking op je eigen hardware via Vanilla JS-technologie.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'De BMP wordt verwerkt in je RAM en reist niet naar een server',
|
|
115
|
+
'Directe conversie zonder wachten',
|
|
116
|
+
'Zonder limieten voor de bestandsgrootte',
|
|
117
|
+
'Volledige privacy: 0 bytes naar buiten verzonden',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Hoe de technische conversie van BMP naar JPG werkt',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Wanneer je een BMP-bestand naar de tool sleept, leest de browser dit met de <code>FileReader</code> API en decodeert het als een Blob-object in het geheugen. Die Blob wordt gerenderd op een onzichtbaar HTML5 canvas. Vervolgens past de methode <code>toDataURL(\'image/jpeg\')</code> het JPEG-compressiealgoritme toe op de canvasgegevens en genereert het resulterende JPG-bestand.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Aangezien BMP geen alfakanaal heeft (het ondersteunt geen transparantie), is de conversie naar JPG direct, zonder de noodzaak voor compositie met een witte achtergrond. Het volledige proces vindt plaats in het RAM-geheugen van je computer, zonder enige gegevensoverdracht via het netwerk, in milliseconden, zelfs voor bestanden van meerdere megabytes.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Windows BMP\'s kunnen gigantisch zijn',
|
|
138
|
+
html: 'BMP-bestanden die zijn gegenereerd door screenshots (Print Screen-toets in Windows) of door legacy-applicaties zoals Paint kunnen tussen de 50 en 100 keer meer wegen dan een gelijkwaardige JPG. Een enkel BMP-bestand in Full HD-resolutie kan meer dan 6 MB overschrijden. Ze converteren naar JPG voordat je ze per e-mail verstuurt of uploadt naar een platform is essentieel.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Gebruiksscenario\'s en compatibiliteit van de resulterende JPG',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Optimalisatie van Windows-screenshots om per e-mail te verzenden.',
|
|
150
|
+
'Conversie van afbeeldingen die zijn geëxporteerd door legacy software (CAD, oude scanners).',
|
|
151
|
+
'Groottebeperking voor het uploaden van afbeeldingen naar webplatforms en sociale netwerken.',
|
|
152
|
+
'Voorbereiding van bestanden voor invoeging in Word-, PowerPoint- of PDF-documenten.',
|
|
153
|
+
'Universele compatibiliteit met alle moderne viewers en browsers.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Conclusie: 10 MB BMP, 500 KB JPG, dezelfde afbeelding',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'De conversie van BMP naar JPG is een van de meest rendabele optimalisatie-oefeningen bij het beheer van afbeeldingsbestanden. Onze tool voert die transformatie in seconden uit, zonder bestanden te uploaden, zonder een account aan te maken, direct in je browser. Het resultaat is een hoogwaardige JPG, universeel compatibel en met een gewicht dat tot 97% lager is dan het originele BMP.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: BmpAJpgLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'nl', faq, howTo }),
|
|
178
|
+
};
|