@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 = 'konvertera-bmp-till-jpg';
|
|
6
|
+
const title = 'Konvertera BMP till JPG Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Konvertera BMP-bilder till JPG i din webbläsare. Minska storleken drastiskt. Utan att ladda upp filer till servrar. Gratis och 100 % privat.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Dra BMP-filer hit...',
|
|
12
|
+
convertText: 'För att konvertera dem till JPG direkt',
|
|
13
|
+
selectFiles: 'Välj filer',
|
|
14
|
+
processedFiles: 'Bearbetade filer',
|
|
15
|
+
downloadAll: 'Ladda ner alla (.zip)',
|
|
16
|
+
pending: 'Väntande',
|
|
17
|
+
bibliographyTitle: 'Bibliografiska Referenser',
|
|
18
|
+
faqTitle: 'Vanliga Frågor',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: BmpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Varför konvertera BMP till JPG?',
|
|
24
|
+
answer:
|
|
25
|
+
'BMP-formatet komprimerar inte data, vilket resulterar i extremt stora filer. JPG-formatet komprimerar bilden drastiskt samtidigt som det bibehåller utmärkt visuell kvalitet för webb och distribution.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Är det säkert att konvertera mina bilder här?',
|
|
29
|
+
answer:
|
|
30
|
+
'100 % säkert. Din integritet garanteras eftersom bearbetningen görs helt lokalt med din egen webbläsares motor.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Hur fungerar verktyget?',
|
|
34
|
+
answer:
|
|
35
|
+
'Dra bara dina BMP-filer hit, så läser vårt JavaScript-skript pixlarna för att rita om dem på en HTML-canvas och exportera dem direkt i JPEG-kodning.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: BmpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Ladda upp dina BMP-filer',
|
|
42
|
+
text: 'Dra och släpp eller välj dina bilder i BMP-format i det angivna området.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Automatisk bearbetning',
|
|
46
|
+
text: 'Verktyget rastrerar bilden och tillämpar den optimala komprimeringsnivån i JPG-format på millisekunder.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Individuell nedladdning eller batch-nedladdning',
|
|
50
|
+
text: 'Hämta dina nya webboptimerade bilder antingen en och en eller genom att ladda ner en ZIP-fil.',
|
|
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: 'Konverterare från BMP till JPG: Minska en gigantisk fil på några sekunder',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'BMP (Bitmap) är datavetenskapens mest primitiva format: det lagrar varje pixel precis som den är, utan någon form av komprimering. En skärmdump på 1920x1080 i BMP väger ungefär 6 MB. Samma bild i JPG tar upp mellan 200 och 400 KB med en visuellt oskiljbar kvalitet. Skillnaden är enorm, och vårt verktyg låter dig utföra den konverteringen på några sekunder, direkt i din webbläsare, utan att ladda upp något till någon server.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'BMP vs JPG: rådata mot intelligent komprimering',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'BMP-formatet skapades av Microsoft under Windows 3.1-eran. Dess filosofi är enklast möjliga: varje pixel tar upp 3 byte (rött, grönt, blått), och pixlarna lagras i rader utan ytterligare bearbetning. Denna totala brist på komprimering gör att BMP-filer är mellan 50 och 100 gånger större än deras motsvarighet i JPG, för faktiska fotografier och skärmdumpar.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPG däremot använder Discrete Cosine Transform (DCT) för att analysera varje block på 8x8 pixlar och eliminera högfrekvent information som det mänskliga ögat knappt uppfattar. Resultatet är en bild som ser identisk ut men väger en bråkdel av originalet. För BMP-filer från skärmdumpar, skannrar eller äldre Windows-applikationer är konvertering till JPG den mest effektiva optimeringsåtgärden som är möjlig.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Arkitekturjämförelse: Lokal vs Moln',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Molnkonverterare',
|
|
98
|
+
description: 'Tjänster som laddar upp dina BMP-filer till fjärrservrar för att bearbeta dem.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Att ladda upp en BMP på 10 MB tar tid på långsamma anslutningar',
|
|
103
|
+
'Dina skärmdumpar och konfidentiella bilder skickas över internet',
|
|
104
|
+
'Frekventa storleksbegränsningar i gratisplaner',
|
|
105
|
+
'Dubbel latens: uppladdning och nedladdning af den konverterade filen',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Vår lokala arkitektur',
|
|
110
|
+
description: 'Direkt bearbetning på din hårdvara via Vanilla JS-teknik.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'BMP-filen bearbetas i ditt RAM-minne och skickas inte till en server',
|
|
115
|
+
'Omedelbar konvertering utan väntetid',
|
|
116
|
+
'Inga storleksbegränsningar per fil',
|
|
117
|
+
'Total integritet: 0 byte skickas externt',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Hur den tekniska konverteringen från BMP till JPG fungerar',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'När du drar en BMP-fil till verktyget läser webbläsaren den med <code>FileReader</code>-API:et och avkodar den som ett Blob-objekt i minnet. Denna Blob renderas på en osynlig HTML5-canvas. Därefter tillämpar metoden <code>toDataURL(\'image/jpeg\')</code> JPEG-komprimeringsalgoritmen på canvasdata och genererar den resulterande JPG-filen.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Eftersom BMP inte har någon alfakanal (inte stöder transparens), är konverteringen till JPG direkt utan behov av komposition med vit bakgrund. Hela processen sker i din dators RAM-minne, utan någon dataöverföring över nätverket, på millisekunder även för filer på flera megabyte.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Windows BMP filer kan vara enorma',
|
|
138
|
+
html: 'BMP-filer genererade av skärmdumpar (Print Screen-tangenten i Windows) eller av äldre applikationer som Paint kan väga mellan 50 och 100 gånger mer än en motsvarande JPG. En enskild BMP med Full HD-upplösning kan överstiga 6 MB. Att konvertera dem till JPG innan de skickas via e-post eller laddas upp till någon plattform är en oumbärlig praxis.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Användningsfall och kompatibilitet för den resulterande JPG-filen',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Optimering av Windows-skärmdumpar för att skickas via e-post.',
|
|
150
|
+
'Konvertering av bilder exporterade av äldre programvara (CAD, gamla skannrar).',
|
|
151
|
+
'Viktminskning för att ladda upp bilder till webbplattformar och sociala nätverk.',
|
|
152
|
+
'Förberedelse av filer för infogning i Word-, PowerPoint- eller PDF-dokument.',
|
|
153
|
+
'Universell kompatibilitet med alla moderna visningsprogram och webbläsare.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Slutsats: 10 MB BMP, 500 KB JPG, samma bild',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'Konvertering från BMP till JPG är en av de mest lönsamma optimeringsåtgärderna vid hantering av bildfiler. Vårt verktyg utför den transformationen på några sekunder, utan att ladda upp någon fil, utan att skapa något konto, direkt i din webbläsare. Resultatet är en JPG av hög kvalitet som är universellt kompatibel och har en vikt som är upp till 97 % lägre än den ursprungliga BMP-filen.',
|
|
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: 'sv', 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-jpg-donusturucu';
|
|
6
|
+
const title = 'Online BMP\'den JPG\'ye Dönüştür';
|
|
7
|
+
const description =
|
|
8
|
+
'BMP görüntülerini tarayıcınızda JPG\'ye dönüştürün. Dosya boyutunu büyük ölçüde azaltın. Dosyaları sunuculara yüklemeden. Ücretsiz ve %100 özel.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'BMP dosyalarını buraya sürükleyin...',
|
|
12
|
+
convertText: 'Anında JPG\'ye dönüştürmek için',
|
|
13
|
+
selectFiles: 'Dosyaları seçin',
|
|
14
|
+
processedFiles: 'İşlenen dosyalar',
|
|
15
|
+
downloadAll: 'Tümünü İndir (.zip)',
|
|
16
|
+
pending: 'Bekliyor',
|
|
17
|
+
bibliographyTitle: 'Bibliyografik Referanslar',
|
|
18
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: BmpAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Neden BMP\'den JPG\'ye dönüştürmeli?',
|
|
24
|
+
answer:
|
|
25
|
+
'BMP formatı verileri sıkıştırmaz, bu da aşırı derecede büyük dosyalara yol açar. JPG formatı, web ve dağıtım için mükemmel görsel kaliteyi koruyarak görüntüyü büyük ölçüde sıkıştırır.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Görüntülerimi burada dönüştürmek güvenli mi?',
|
|
29
|
+
answer:
|
|
30
|
+
'%100 güvenli. İşleme tamamen kendi web tarayıcınızın motoru kullanılarak yerel olarak gerçekleştirildiğinden gizliliğiniz garantilidir.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Araç nasıl çalışıyor?',
|
|
34
|
+
answer:
|
|
35
|
+
'BMP dosyalarınızı buraya sürüklemeniz yeterlidir; JavaScript betiğimiz pikselleri okuyarak bunları bir HTML tuvali üzerine yeniden çizer ve anında JPEG kodlamasında dışa aktarır.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: BmpAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'BMP dosyalarınızı ekleyin',
|
|
42
|
+
text: 'Belirlenen alana BMP formatındaki resimlerinizi sürükleyip bırakın veya seçin.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Otomatik İşleme',
|
|
46
|
+
text: 'Araç görüntüyü rasterleştirir ve milisaniyeler içinde JPG formatında en uygun sıkıştırma seviyesini uygular.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Tekli veya Toplu İndirme',
|
|
50
|
+
text: 'Yeni web optimize edilmiş resimlerinizi tek tek veya bir ZIP dosyası olarak indirin.',
|
|
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\'den JPG\'ye Dönüştürücü: Dev Dosyaları Saniyeler İçinde Küçültün',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'BMP (Bitmap), bilgisayar dünyasındaki en basit formattır: her pikseli hiçbir sıkıştırma olmadan olduğu gibi saklar. 1920x1080 çözünürlüğünde bir BMP ekran görüntüsü yaklaşık 6 MB boyutundadır. Aynı görüntü, görsel olarak ayırt edilemez bir kalitede JPG formatında 200 ile 400 KB arasında yer kaplar. Aradaki fark muazzamdır ve aracımız bu dönüşümü hiçbir sunucuya bir şey yüklemeden doğrudan tarayıcınızda saniyeler içinde gerçekleştirmenize olanak tanır.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'BMP vs JPG: ham veriler ve akıllı sıkıştırma',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'BMP formatı, Microsoft tarafından Windows 3.1 döneminde oluşturuldu. Felsefesi olabildiğince basittir: her piksel 3 bayt (kırmızı, yeşil, mavi) kaplar ve pikseller herhangi bir ek işlem yapılmadan sırayla saklanır. Hiçbir sıkıştırmanın olmaması, gerçek fotoğraflar ve ekran görüntüleri için BMP dosyalarının JPG karşılıklarından 50 ila 100 kat daha büyük olmasına neden olur.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPG ise tam tersine, her 8x8 piksellik bloğu analiz etmek ve insan gözünün zar zor algıladığı yüksek frekanslı bilgileri ortadan kaldırmak için Ayrık Kosinüs Dönüşümü\'nü (DCT) kullanır. Sonuç, orijinalinin sadece küçük bir kısmı ağırlığında olan, ancak özdeş görünen bir görüntüdür. Ekran görüntülerinden, tarayıcılardan veya eski Windows uygulamalarından gelen BMP dosyaları için JPG\'ye dönüşüm, yapılabilecek en etkili optimizasyon işlemidir.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Mimari Karşılaştırması: Yerel vs Bulut',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Bulut Dönüştürücüler',
|
|
98
|
+
description: 'BMP dosyalarınızı işlemek için uzak sunuculara yükleyen hizmetler.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Yavaş bağlantılarda 10 MB\'lık bir BMP\'yi yüklemek zaman alır',
|
|
103
|
+
'Ekran görüntüleriniz ve gizli resimleriniz internette dolaşır',
|
|
104
|
+
'Ücretsiz planlarda sıkça görülen boyut sınırları',
|
|
105
|
+
'Çift gecikme: dönüştürülen dosyanın yüklenmesi ve indirilmesi',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Yerel Mimarimiz',
|
|
110
|
+
description: 'Vanilla JS teknolojisi sayesinde doğrudan donanımınızda işleme.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'BMP, RAM\'inizde işlenir ve bir sunucuya gitmez',
|
|
115
|
+
'Bekleme olmadan anında dönüşüm',
|
|
116
|
+
'Dosya başına boyut sınırı yok',
|
|
117
|
+
'Tam gizlilik: dışarıya 0 bayt gönderilir',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Teknik Olarak BMP\'den JPG\'ye Dönüşüm Nasıl Çalışır?',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Dönüştürmek istediğiniz BMP dosyasını araca sürüklediğinizde tarayıcı bunu <code>FileReader</code> API\'si ile okur ve bellekte bir Blob nesnesi olarak kodu çözer. Bu Blob, görünmez bir HTML5 tuvali üzerine çizilir. Ardından, <code>toDataURL(\'image/jpeg\')</code> yöntemi tuval verileri üzerinde JPEG sıkıştırma algoritmasını uygular ve sonuç JPG dosyasını oluşturur.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'BMP\'nin alfa kanalı olmadığından (şeffaflıkları desteklemez), JPG\'ye dönüşüm beyaz bir arka planla birleştirilmeye gerek kalmadan doğrudan gerçekleşir. Tüm süreç, ağ üzerinden herhangi bir veri iletimi olmadan, birkaç megabaytlık dosyalar için bile milisaniyeler içinde bilgisayarınızın RAM belleğinde gerçekleşir.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Windows BMP dosyaları devasa boyutlarda olabilir',
|
|
138
|
+
html: 'Ekran görüntülerinden (Windows\'taki Print Screen tuşu) veya Paint gibi eski uygulamalardan oluşturulan BMP dosyaları, eşdeğer bir JPG\'den 50 ila 100 kat daha ağır olabilir. Tek bir Full HD çözünürlüklü BMP 6 MB\'ı aşabilir. Bunları e-postayla göndermeden veya herhangi bir platforma yüklemeden önce JPG\'ye dönüştürmek temel bir uygulamadır.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Kullanım Durumları ve Ortaya Çıkan JPG\'nin Uyumluluğu',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'E-postayla göndermek için Windows ekran görüntülerinin optimizasyonu.',
|
|
150
|
+
'Eski yazılımlar (CAD, eski tarayıcılar) tarafından dışa aktarılan görüntülerin dönüşümü.',
|
|
151
|
+
'Web platformlarına ve sosyal ağlara resim yüklemek için dosya boyutunun küçültülmesi.',
|
|
152
|
+
'Dosyaların Word, PowerPoint veya PDF belgelerine yerleştirilmek üzere hazırlanması.',
|
|
153
|
+
'Tüm modern görüntüleyiciler ve tarayıcılarla evrensel uyumluluk.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Sonuç: 10 MB BMP, 500 KB JPG, aynı resim',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'BMP\'den JPG\'ye dönüşüm, görüntü dosyası yönetimindeki en karlı optimizasyon işlemlerinden biridir. Aracımız bu dönüşümü hiçbir dosya yüklemeden, hesap oluşturmadan doğrudan tarayıcınızda saniyeler içinde gerçekleştirir. Sonuç, evrensel olarak uyumlu, yüksek kaliteli ve orijinal BMP\'den %97\'ye kadar daha hafif bir JPG dosyasıdır.',
|
|
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: 'tr', 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 转 JPG 转换器:在几秒钟内缩减巨大的文件',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'BMP(Bitmap)是计算机科学领域最原始的格式:它按原样存储每个像素,没有任何形式的压缩。一张 1920x1080 分辨率的 BMP 截图重约 6 MB。同一张 JPG 图像在视觉质量难辨的情况下,仅占用 200 到 400 KB。这种差异是巨大的,我们的工具允许您在浏览器中直接完成转换,无需向任何服务器上传任何内容。',
|
|
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 时代创建。其理念尽可能简单:每个像素占用 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
|
+
'在慢速连接下上传 10 MB 的 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 没有 Alpha 通道(不支持透明度),因此转 JPG 的过程是直接完成的,无需与白色背景进行合成。整个过程在您计算机的 RAM 内存中进行,无需任何网络数据传输,即使对于数兆字节的文件,也能在毫秒内完成。',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Windows BMP 文件可能非常庞大',
|
|
138
|
+
html: '通过截图(Windows 中的 Print Screen 键)或 Paint 等旧版应用生成的 BMP 文件可能比同等的 JPG 重 50 到 100 倍。单张全高清分辨率的 BMP 可能超过 6 MB。在通过电子邮件发送或上传到任何平台之前,将其转换为 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
|
+
'在上传图像到网页平台和社交网络前减小体积。',
|
|
152
|
+
'为插入 Word、PowerPoint 或 PDF 文档准备文件。',
|
|
153
|
+
'与所有现代查看器和浏览器通用兼容。',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: '结论:10 MB 的 BMP,500 KB 的 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: 'zh', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -13,9 +13,21 @@ export const bmpAJpg: ConvertersToolEntry<ImageConverterUI> = {
|
|
|
13
13
|
fg: 'mdi:file-export',
|
|
14
14
|
},
|
|
15
15
|
i18n: {
|
|
16
|
-
|
|
16
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
17
17
|
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
18
19
|
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
20
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
21
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
22
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
23
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
24
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
25
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
26
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
27
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
28
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
29
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
30
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
19
31
|
},
|
|
20
32
|
};
|
|
21
33
|
|