@jjlmoya/utils-converters 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +60 -59
- package/src/shared/logic/schemas.ts +57 -0
- package/src/tests/faq_count.test.ts +13 -4
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/seo_length.test.ts +1 -1
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/avifAJpg/i18n/de.ts +178 -0
- package/src/tool/avifAJpg/i18n/en.ts +2 -12
- package/src/tool/avifAJpg/i18n/es.ts +2 -12
- package/src/tool/avifAJpg/i18n/fr.ts +2 -12
- package/src/tool/avifAJpg/i18n/id.ts +178 -0
- package/src/tool/avifAJpg/i18n/it.ts +178 -0
- package/src/tool/avifAJpg/i18n/ja.ts +178 -0
- package/src/tool/avifAJpg/i18n/ko.ts +178 -0
- package/src/tool/avifAJpg/i18n/nl.ts +178 -0
- package/src/tool/avifAJpg/i18n/pl.ts +178 -0
- package/src/tool/avifAJpg/i18n/pt.ts +178 -0
- package/src/tool/avifAJpg/i18n/ru.ts +178 -0
- package/src/tool/avifAJpg/i18n/sv.ts +178 -0
- package/src/tool/avifAJpg/i18n/tr.ts +178 -0
- package/src/tool/avifAJpg/i18n/zh.ts +178 -0
- package/src/tool/avifAJpg/index.ts +13 -1
- package/src/tool/avifAPng/i18n/de.ts +178 -0
- package/src/tool/avifAPng/i18n/en.ts +2 -12
- package/src/tool/avifAPng/i18n/es.ts +2 -12
- package/src/tool/avifAPng/i18n/fr.ts +2 -12
- package/src/tool/avifAPng/i18n/id.ts +178 -0
- package/src/tool/avifAPng/i18n/it.ts +178 -0
- package/src/tool/avifAPng/i18n/ja.ts +178 -0
- package/src/tool/avifAPng/i18n/ko.ts +178 -0
- package/src/tool/avifAPng/i18n/nl.ts +178 -0
- package/src/tool/avifAPng/i18n/pl.ts +178 -0
- package/src/tool/avifAPng/i18n/pt.ts +178 -0
- package/src/tool/avifAPng/i18n/ru.ts +178 -0
- package/src/tool/avifAPng/i18n/sv.ts +178 -0
- package/src/tool/avifAPng/i18n/tr.ts +178 -0
- package/src/tool/avifAPng/i18n/zh.ts +178 -0
- package/src/tool/avifAPng/index.ts +13 -1
- package/src/tool/avifAWebp/i18n/de.ts +178 -0
- package/src/tool/avifAWebp/i18n/en.ts +2 -12
- package/src/tool/avifAWebp/i18n/es.ts +2 -12
- package/src/tool/avifAWebp/i18n/fr.ts +2 -12
- package/src/tool/avifAWebp/i18n/id.ts +178 -0
- package/src/tool/avifAWebp/i18n/it.ts +178 -0
- package/src/tool/avifAWebp/i18n/ja.ts +178 -0
- package/src/tool/avifAWebp/i18n/ko.ts +178 -0
- package/src/tool/avifAWebp/i18n/nl.ts +178 -0
- package/src/tool/avifAWebp/i18n/pl.ts +178 -0
- package/src/tool/avifAWebp/i18n/pt.ts +178 -0
- package/src/tool/avifAWebp/i18n/ru.ts +178 -0
- package/src/tool/avifAWebp/i18n/sv.ts +178 -0
- package/src/tool/avifAWebp/i18n/tr.ts +178 -0
- package/src/tool/avifAWebp/i18n/zh.ts +178 -0
- package/src/tool/avifAWebp/index.ts +13 -1
- package/src/tool/bmpAJpg/i18n/de.ts +178 -0
- package/src/tool/bmpAJpg/i18n/en.ts +2 -12
- package/src/tool/bmpAJpg/i18n/es.ts +2 -12
- package/src/tool/bmpAJpg/i18n/fr.ts +2 -12
- package/src/tool/bmpAJpg/i18n/id.ts +178 -0
- package/src/tool/bmpAJpg/i18n/it.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ja.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ko.ts +178 -0
- package/src/tool/bmpAJpg/i18n/nl.ts +178 -0
- package/src/tool/bmpAJpg/i18n/pl.ts +178 -0
- package/src/tool/bmpAJpg/i18n/pt.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ru.ts +178 -0
- package/src/tool/bmpAJpg/i18n/sv.ts +178 -0
- package/src/tool/bmpAJpg/i18n/tr.ts +178 -0
- package/src/tool/bmpAJpg/i18n/zh.ts +178 -0
- package/src/tool/bmpAJpg/index.ts +13 -1
- package/src/tool/bmpAPng/i18n/de.ts +177 -0
- package/src/tool/bmpAPng/i18n/en.ts +2 -12
- package/src/tool/bmpAPng/i18n/es.ts +2 -12
- package/src/tool/bmpAPng/i18n/fr.ts +2 -12
- package/src/tool/bmpAPng/i18n/id.ts +177 -0
- package/src/tool/bmpAPng/i18n/it.ts +177 -0
- package/src/tool/bmpAPng/i18n/ja.ts +177 -0
- package/src/tool/bmpAPng/i18n/ko.ts +177 -0
- package/src/tool/bmpAPng/i18n/nl.ts +177 -0
- package/src/tool/bmpAPng/i18n/pl.ts +177 -0
- package/src/tool/bmpAPng/i18n/pt.ts +177 -0
- package/src/tool/bmpAPng/i18n/ru.ts +177 -0
- package/src/tool/bmpAPng/i18n/sv.ts +177 -0
- package/src/tool/bmpAPng/i18n/tr.ts +177 -0
- package/src/tool/bmpAPng/i18n/zh.ts +177 -0
- package/src/tool/bmpAPng/index.ts +13 -1
- package/src/tool/bmpAWebp/i18n/de.ts +178 -0
- package/src/tool/bmpAWebp/i18n/en.ts +2 -12
- package/src/tool/bmpAWebp/i18n/es.ts +2 -12
- package/src/tool/bmpAWebp/i18n/fr.ts +2 -12
- package/src/tool/bmpAWebp/i18n/id.ts +178 -0
- package/src/tool/bmpAWebp/i18n/it.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ja.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ko.ts +178 -0
- package/src/tool/bmpAWebp/i18n/nl.ts +178 -0
- package/src/tool/bmpAWebp/i18n/pl.ts +178 -0
- package/src/tool/bmpAWebp/i18n/pt.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ru.ts +178 -0
- package/src/tool/bmpAWebp/i18n/sv.ts +178 -0
- package/src/tool/bmpAWebp/i18n/tr.ts +178 -0
- package/src/tool/bmpAWebp/i18n/zh.ts +178 -0
- package/src/tool/bmpAWebp/index.ts +13 -1
- package/src/tool/gifAJpg/i18n/de.ts +178 -0
- package/src/tool/gifAJpg/i18n/en.ts +2 -12
- package/src/tool/gifAJpg/i18n/es.ts +2 -12
- package/src/tool/gifAJpg/i18n/fr.ts +2 -12
- package/src/tool/gifAJpg/i18n/id.ts +178 -0
- package/src/tool/gifAJpg/i18n/it.ts +178 -0
- package/src/tool/gifAJpg/i18n/ja.ts +178 -0
- package/src/tool/gifAJpg/i18n/ko.ts +178 -0
- package/src/tool/gifAJpg/i18n/nl.ts +178 -0
- package/src/tool/gifAJpg/i18n/pl.ts +178 -0
- package/src/tool/gifAJpg/i18n/pt.ts +178 -0
- package/src/tool/gifAJpg/i18n/ru.ts +178 -0
- package/src/tool/gifAJpg/i18n/sv.ts +178 -0
- package/src/tool/gifAJpg/i18n/tr.ts +178 -0
- package/src/tool/gifAJpg/i18n/zh.ts +178 -0
- package/src/tool/gifAJpg/index.ts +13 -1
- package/src/tool/gifAPng/i18n/de.ts +178 -0
- package/src/tool/gifAPng/i18n/en.ts +2 -12
- package/src/tool/gifAPng/i18n/es.ts +2 -12
- package/src/tool/gifAPng/i18n/fr.ts +2 -12
- package/src/tool/gifAPng/i18n/id.ts +178 -0
- package/src/tool/gifAPng/i18n/it.ts +178 -0
- package/src/tool/gifAPng/i18n/ja.ts +178 -0
- package/src/tool/gifAPng/i18n/ko.ts +178 -0
- package/src/tool/gifAPng/i18n/nl.ts +178 -0
- package/src/tool/gifAPng/i18n/pl.ts +178 -0
- package/src/tool/gifAPng/i18n/pt.ts +178 -0
- package/src/tool/gifAPng/i18n/ru.ts +178 -0
- package/src/tool/gifAPng/i18n/sv.ts +178 -0
- package/src/tool/gifAPng/i18n/tr.ts +178 -0
- package/src/tool/gifAPng/i18n/zh.ts +178 -0
- package/src/tool/gifAPng/index.ts +12 -0
- package/src/tool/gifAWebp/i18n/de.ts +178 -0
- package/src/tool/gifAWebp/i18n/en.ts +2 -12
- package/src/tool/gifAWebp/i18n/es.ts +2 -12
- package/src/tool/gifAWebp/i18n/fr.ts +2 -12
- package/src/tool/gifAWebp/i18n/id.ts +178 -0
- package/src/tool/gifAWebp/i18n/it.ts +178 -0
- package/src/tool/gifAWebp/i18n/ja.ts +178 -0
- package/src/tool/gifAWebp/i18n/ko.ts +178 -0
- package/src/tool/gifAWebp/i18n/nl.ts +178 -0
- package/src/tool/gifAWebp/i18n/pl.ts +178 -0
- package/src/tool/gifAWebp/i18n/pt.ts +178 -0
- package/src/tool/gifAWebp/i18n/ru.ts +178 -0
- package/src/tool/gifAWebp/i18n/sv.ts +178 -0
- package/src/tool/gifAWebp/i18n/tr.ts +178 -0
- package/src/tool/gifAWebp/i18n/zh.ts +178 -0
- package/src/tool/gifAWebp/index.ts +12 -0
- package/src/tool/imagenBase64/i18n/de.ts +168 -0
- package/src/tool/imagenBase64/i18n/en.ts +2 -12
- package/src/tool/imagenBase64/i18n/es.ts +2 -12
- package/src/tool/imagenBase64/i18n/fr.ts +2 -12
- package/src/tool/imagenBase64/i18n/id.ts +168 -0
- package/src/tool/imagenBase64/i18n/it.ts +168 -0
- package/src/tool/imagenBase64/i18n/ja.ts +168 -0
- package/src/tool/imagenBase64/i18n/ko.ts +168 -0
- package/src/tool/imagenBase64/i18n/nl.ts +168 -0
- package/src/tool/imagenBase64/i18n/pl.ts +168 -0
- package/src/tool/imagenBase64/i18n/pt.ts +173 -0
- package/src/tool/imagenBase64/i18n/ru.ts +168 -0
- package/src/tool/imagenBase64/i18n/sv.ts +168 -0
- package/src/tool/imagenBase64/i18n/tr.ts +168 -0
- package/src/tool/imagenBase64/i18n/zh.ts +168 -0
- package/src/tool/imagenBase64/index.ts +12 -0
- package/src/tool/jpgAIco/i18n/de.ts +183 -0
- package/src/tool/jpgAIco/i18n/en.ts +8 -13
- package/src/tool/jpgAIco/i18n/es.ts +13 -18
- package/src/tool/jpgAIco/i18n/fr.ts +9 -14
- package/src/tool/jpgAIco/i18n/id.ts +183 -0
- package/src/tool/jpgAIco/i18n/it.ts +183 -0
- package/src/tool/jpgAIco/i18n/ja.ts +183 -0
- package/src/tool/jpgAIco/i18n/ko.ts +183 -0
- package/src/tool/jpgAIco/i18n/nl.ts +183 -0
- package/src/tool/jpgAIco/i18n/pl.ts +183 -0
- package/src/tool/jpgAIco/i18n/pt.ts +183 -0
- package/src/tool/jpgAIco/i18n/ru.ts +183 -0
- package/src/tool/jpgAIco/i18n/sv.ts +183 -0
- package/src/tool/jpgAIco/i18n/tr.ts +183 -0
- package/src/tool/jpgAIco/i18n/zh.ts +183 -0
- package/src/tool/jpgAIco/index.ts +12 -0
- package/src/tool/jpgAPng/i18n/de.ts +178 -0
- package/src/tool/jpgAPng/i18n/en.ts +2 -12
- package/src/tool/jpgAPng/i18n/es.ts +2 -12
- package/src/tool/jpgAPng/i18n/fr.ts +2 -12
- package/src/tool/jpgAPng/i18n/id.ts +178 -0
- package/src/tool/jpgAPng/i18n/it.ts +178 -0
- package/src/tool/jpgAPng/i18n/ja.ts +178 -0
- package/src/tool/jpgAPng/i18n/ko.ts +178 -0
- package/src/tool/jpgAPng/i18n/nl.ts +178 -0
- package/src/tool/jpgAPng/i18n/pl.ts +178 -0
- package/src/tool/jpgAPng/i18n/pt.ts +178 -0
- package/src/tool/jpgAPng/i18n/ru.ts +178 -0
- package/src/tool/jpgAPng/i18n/sv.ts +178 -0
- package/src/tool/jpgAPng/i18n/tr.ts +178 -0
- package/src/tool/jpgAPng/i18n/zh.ts +178 -0
- package/src/tool/jpgAPng/index.ts +13 -1
- package/src/tool/jpgAWebp/i18n/de.ts +178 -0
- package/src/tool/jpgAWebp/i18n/en.ts +2 -12
- package/src/tool/jpgAWebp/i18n/es.ts +2 -12
- package/src/tool/jpgAWebp/i18n/fr.ts +2 -12
- package/src/tool/jpgAWebp/i18n/id.ts +178 -0
- package/src/tool/jpgAWebp/i18n/it.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ja.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ko.ts +178 -0
- package/src/tool/jpgAWebp/i18n/nl.ts +178 -0
- package/src/tool/jpgAWebp/i18n/pl.ts +178 -0
- package/src/tool/jpgAWebp/i18n/pt.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ru.ts +178 -0
- package/src/tool/jpgAWebp/i18n/sv.ts +178 -0
- package/src/tool/jpgAWebp/i18n/tr.ts +178 -0
- package/src/tool/jpgAWebp/i18n/zh.ts +178 -0
- package/src/tool/jpgAWebp/index.ts +12 -0
- package/src/tool/pngAIco/i18n/de.ts +183 -0
- package/src/tool/pngAIco/i18n/en.ts +8 -13
- package/src/tool/pngAIco/i18n/es.ts +19 -24
- package/src/tool/pngAIco/i18n/fr.ts +20 -25
- package/src/tool/pngAIco/i18n/id.ts +183 -0
- package/src/tool/pngAIco/i18n/it.ts +183 -0
- package/src/tool/pngAIco/i18n/ja.ts +183 -0
- package/src/tool/pngAIco/i18n/ko.ts +183 -0
- package/src/tool/pngAIco/i18n/nl.ts +183 -0
- package/src/tool/pngAIco/i18n/pl.ts +183 -0
- package/src/tool/pngAIco/i18n/pt.ts +183 -0
- package/src/tool/pngAIco/i18n/ru.ts +183 -0
- package/src/tool/pngAIco/i18n/sv.ts +183 -0
- package/src/tool/pngAIco/i18n/tr.ts +183 -0
- package/src/tool/pngAIco/i18n/zh.ts +183 -0
- package/src/tool/pngAIco/index.ts +12 -0
- package/src/tool/pngAJpg/i18n/de.ts +191 -0
- package/src/tool/pngAJpg/i18n/en.ts +2 -12
- package/src/tool/pngAJpg/i18n/es.ts +2 -12
- package/src/tool/pngAJpg/i18n/fr.ts +2 -12
- package/src/tool/pngAJpg/i18n/id.ts +191 -0
- package/src/tool/pngAJpg/i18n/it.ts +191 -0
- package/src/tool/pngAJpg/i18n/ja.ts +191 -0
- package/src/tool/pngAJpg/i18n/ko.ts +191 -0
- package/src/tool/pngAJpg/i18n/nl.ts +191 -0
- package/src/tool/pngAJpg/i18n/pl.ts +191 -0
- package/src/tool/pngAJpg/i18n/pt.ts +191 -0
- package/src/tool/pngAJpg/i18n/ru.ts +191 -0
- package/src/tool/pngAJpg/i18n/sv.ts +191 -0
- package/src/tool/pngAJpg/i18n/tr.ts +191 -0
- package/src/tool/pngAJpg/i18n/zh.ts +191 -0
- package/src/tool/pngAJpg/index.ts +13 -1
- package/src/tool/pngAWebp/i18n/de.ts +182 -0
- package/src/tool/pngAWebp/i18n/en.ts +2 -12
- package/src/tool/pngAWebp/i18n/es.ts +2 -12
- package/src/tool/pngAWebp/i18n/fr.ts +2 -12
- package/src/tool/pngAWebp/i18n/id.ts +182 -0
- package/src/tool/pngAWebp/i18n/it.ts +182 -0
- package/src/tool/pngAWebp/i18n/ja.ts +182 -0
- package/src/tool/pngAWebp/i18n/ko.ts +182 -0
- package/src/tool/pngAWebp/i18n/nl.ts +182 -0
- package/src/tool/pngAWebp/i18n/pl.ts +182 -0
- package/src/tool/pngAWebp/i18n/pt.ts +182 -0
- package/src/tool/pngAWebp/i18n/ru.ts +182 -0
- package/src/tool/pngAWebp/i18n/sv.ts +182 -0
- package/src/tool/pngAWebp/i18n/tr.ts +182 -0
- package/src/tool/pngAWebp/i18n/zh.ts +182 -0
- package/src/tool/pngAWebp/index.ts +12 -0
- package/src/tool/svgAJpg/i18n/de.ts +178 -0
- package/src/tool/svgAJpg/i18n/en.ts +8 -13
- package/src/tool/svgAJpg/i18n/es.ts +8 -13
- package/src/tool/svgAJpg/i18n/fr.ts +2 -12
- package/src/tool/svgAJpg/i18n/id.ts +178 -0
- package/src/tool/svgAJpg/i18n/it.ts +178 -0
- package/src/tool/svgAJpg/i18n/ja.ts +178 -0
- package/src/tool/svgAJpg/i18n/ko.ts +178 -0
- package/src/tool/svgAJpg/i18n/nl.ts +178 -0
- package/src/tool/svgAJpg/i18n/pl.ts +178 -0
- package/src/tool/svgAJpg/i18n/pt.ts +178 -0
- package/src/tool/svgAJpg/i18n/ru.ts +178 -0
- package/src/tool/svgAJpg/i18n/sv.ts +178 -0
- package/src/tool/svgAJpg/i18n/tr.ts +178 -0
- package/src/tool/svgAJpg/i18n/zh.ts +178 -0
- package/src/tool/svgAJpg/index.ts +12 -0
- package/src/tool/svgAPng/i18n/de.ts +178 -0
- package/src/tool/svgAPng/i18n/en.ts +8 -13
- package/src/tool/svgAPng/i18n/es.ts +31 -36
- package/src/tool/svgAPng/i18n/fr.ts +2 -12
- package/src/tool/svgAPng/i18n/id.ts +178 -0
- package/src/tool/svgAPng/i18n/it.ts +178 -0
- package/src/tool/svgAPng/i18n/ja.ts +178 -0
- package/src/tool/svgAPng/i18n/ko.ts +178 -0
- package/src/tool/svgAPng/i18n/nl.ts +178 -0
- package/src/tool/svgAPng/i18n/pl.ts +178 -0
- package/src/tool/svgAPng/i18n/pt.ts +178 -0
- package/src/tool/svgAPng/i18n/ru.ts +178 -0
- package/src/tool/svgAPng/i18n/sv.ts +178 -0
- package/src/tool/svgAPng/i18n/tr.ts +178 -0
- package/src/tool/svgAPng/i18n/zh.ts +178 -0
- package/src/tool/svgAPng/index.ts +12 -0
- package/src/tool/webpAIco/i18n/de.ts +183 -0
- package/src/tool/webpAIco/i18n/en.ts +8 -13
- package/src/tool/webpAIco/i18n/es.ts +9 -14
- package/src/tool/webpAIco/i18n/fr.ts +11 -16
- package/src/tool/webpAIco/i18n/id.ts +183 -0
- package/src/tool/webpAIco/i18n/it.ts +183 -0
- package/src/tool/webpAIco/i18n/ja.ts +183 -0
- package/src/tool/webpAIco/i18n/ko.ts +183 -0
- package/src/tool/webpAIco/i18n/nl.ts +183 -0
- package/src/tool/webpAIco/i18n/pl.ts +183 -0
- package/src/tool/webpAIco/i18n/pt.ts +183 -0
- package/src/tool/webpAIco/i18n/ru.ts +183 -0
- package/src/tool/webpAIco/i18n/sv.ts +183 -0
- package/src/tool/webpAIco/i18n/tr.ts +183 -0
- package/src/tool/webpAIco/i18n/zh.ts +183 -0
- package/src/tool/webpAIco/index.ts +12 -0
- package/src/tool/webpAJpg/i18n/de.ts +187 -0
- package/src/tool/webpAJpg/i18n/en.ts +9 -13
- package/src/tool/webpAJpg/i18n/es.ts +37 -42
- package/src/tool/webpAJpg/i18n/fr.ts +35 -40
- package/src/tool/webpAJpg/i18n/id.ts +182 -0
- package/src/tool/webpAJpg/i18n/it.ts +182 -0
- package/src/tool/webpAJpg/i18n/ja.ts +182 -0
- package/src/tool/webpAJpg/i18n/ko.ts +182 -0
- package/src/tool/webpAJpg/i18n/nl.ts +182 -0
- package/src/tool/webpAJpg/i18n/pl.ts +182 -0
- package/src/tool/webpAJpg/i18n/pt.ts +182 -0
- package/src/tool/webpAJpg/i18n/ru.ts +182 -0
- package/src/tool/webpAJpg/i18n/sv.ts +182 -0
- package/src/tool/webpAJpg/i18n/tr.ts +182 -0
- package/src/tool/webpAJpg/i18n/zh.ts +182 -0
- package/src/tool/webpAJpg/index.ts +12 -0
- package/src/tool/webpAPng/i18n/de.ts +182 -0
- package/src/tool/webpAPng/i18n/en.ts +8 -13
- package/src/tool/webpAPng/i18n/es.ts +35 -40
- package/src/tool/webpAPng/i18n/fr.ts +2 -12
- package/src/tool/webpAPng/i18n/id.ts +182 -0
- package/src/tool/webpAPng/i18n/it.ts +182 -0
- package/src/tool/webpAPng/i18n/ja.ts +182 -0
- package/src/tool/webpAPng/i18n/ko.ts +182 -0
- package/src/tool/webpAPng/i18n/nl.ts +182 -0
- package/src/tool/webpAPng/i18n/pl.ts +182 -0
- package/src/tool/webpAPng/i18n/pt.ts +182 -0
- package/src/tool/webpAPng/i18n/ru.ts +182 -0
- package/src/tool/webpAPng/i18n/sv.ts +182 -0
- package/src/tool/webpAPng/i18n/tr.ts +182 -0
- package/src/tool/webpAPng/i18n/zh.ts +182 -0
- package/src/tool/webpAPng/index.ts +12 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import type { ImageToBase64UI } from '../index';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { ImagenBase64LocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'conversor-de-imagem-para-base64';
|
|
6
|
+
const title = 'Conversor de Imagem para Base64 Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Converta qualquer imagem para código Base64 e Data URI diretamente no seu navegador. Sem upload de arquivos. Gratuito, privado e instantâneo.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageToBase64UI = {
|
|
11
|
+
dragTitle: 'Arraste a sua imagem para aqui',
|
|
12
|
+
dragSubtext: 'ou clique para procurar os seus arquivos',
|
|
13
|
+
formatBadge: 'Suporta JPG, PNG, WEBP, SVG, GIF',
|
|
14
|
+
dataUriLabel: 'Data URI (Pronto para CSS / HTML src="")',
|
|
15
|
+
base64Label: 'Apenas Base64 (Texto codificado simples)',
|
|
16
|
+
copyBtn: 'Copiar',
|
|
17
|
+
dataUriPlaceholder: 'Carregue uma imagem para ver o código Data URI...',
|
|
18
|
+
base64Placeholder: 'Carregue uma imagem para ver o código Base64 puro...',
|
|
19
|
+
toastMessage: 'Código copiado para a área de transferência!',
|
|
20
|
+
invalidImageAlert: 'Por favor, carregue um arquivo de imagem válido.',
|
|
21
|
+
bibliographyTitle: 'Referências Bibliográficas',
|
|
22
|
+
faqTitle: 'Perguntas Frequentes',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const faq: ImagenBase64LocaleContent['faq'] = [
|
|
26
|
+
{
|
|
27
|
+
question: 'O que é Base64 e para que é utilizado no desenvolvimento web?',
|
|
28
|
+
answer:
|
|
29
|
+
'Base64 é um sistema de codificação que converte dados binários numa string de texto ASCII. No desenvolvimento web, é utilizado para incorporar imagens diretamente dentro de arquivos HTML ou CSS através de Data URIs, reduzindo o número de pedidos HTTP ao servidor.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'É seguro converter as minhas imagens para Base64 aqui?',
|
|
33
|
+
answer:
|
|
34
|
+
'Absolutamente seguro e privado. A nossa ferramenta funciona 100% localmente no seu navegador. As suas imagens nunca são carregadas ou processadas em qualquer servidor externo.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Que formatos de imagem o conversor Base64 suporta?',
|
|
38
|
+
answer:
|
|
39
|
+
'A ferramenta é compatível com arquivos JPG, PNG, GIF, WebP e até arquivos vetoriais SVG. Ao carregar a imagem, detetará automaticamente o seu tipo MIME para gerar o código Data URI exato.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
question: 'Quando é que NÃO devo utilizar imagens Base64?',
|
|
43
|
+
answer:
|
|
44
|
+
'Deve evitar utilizar imagens Base64 para fotografias grandes ou imagens de alta resolução. O código Base64 ocupa aproximadamente 33% mais espaço do que o arquivo binário original, o que pode inflar excessivamente as suas folhas de estilo CSS ou documentos HTML.',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const howTo: ImagenBase64LocaleContent['howTo'] = [
|
|
49
|
+
{
|
|
50
|
+
name: 'Arraste ou Selecione a sua Imagem',
|
|
51
|
+
text: 'Mova qualquer imagem (JPG, PNG, WebP, SVG, GIF) para a área de carregamento para iniciar a conversão.',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'Copie o Código Gerado',
|
|
55
|
+
text: 'Verá duas áreas de texto: o Data URI completo (pronto para usar em src="" ou CSS) e o Base64 puro para outros usos.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'Utilize o Código no seu Projeto',
|
|
59
|
+
text: 'Cole o Data URI diretamente no src de uma tag img ou no seu CSS como background-image sem necessidade de arquivos externos.',
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
const bibliography: ImagenBase64LocaleContent['bibliography'] = [
|
|
64
|
+
{
|
|
65
|
+
name: 'MDN Web Docs: Data URIs',
|
|
66
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'Base64 Encoding RFC 4648',
|
|
70
|
+
url: 'https://datatracker.ietf.org/doc/html/rfc4648',
|
|
71
|
+
},
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
const seo: ImagenBase64LocaleContent['seo'] = [
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'Conversor de Imagem para Base64: Incorpore Imagens Sem Pedidos HTTP',
|
|
78
|
+
level: 2,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'Base64 é uma técnica de codificação que transforma dados binários — como uma imagem — numa string de texto ASCII pura. O resultado é um Data URI: um URL autónomo que começa com <code>data:image/png;base64,...</code> e contém toda a imagem codificada. Ao incorporar este código diretamente no seu HTML, CSS ou JSON, a imagem é carregada sem qualquer pedido HTTP adicional ao servidor — latência de rede zero, carregamento instantâneo.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'title',
|
|
86
|
+
text: 'Quando utilizar imagens Base64',
|
|
87
|
+
level: 3,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'paragraph',
|
|
91
|
+
html: 'O principal argumento a favor do Base64 é a eliminação de pedidos de rede. Cada imagem numa página web significa um pedido HTTP com o seu overhead de ligação, DNS, handshake TLS e latência. Para imagens críticas muito pequenas — o logótipo principal da aplicação, favicon, um ícone de UI — incorporá-las em Base64 no CSS ou no HTML elimina esse custo e garante que sejam exibidas instantaneamente, mesmo antes de o navegador ter colocado algo em cache.',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'paragraph',
|
|
95
|
+
html: 'Esta técnica é particularmente poderosa em apps SPA (Single Page Application) onde o bundle JavaScript e CSS é gerado no momento da build: incorporar pequenas imagens no bundle garante que sejam carregadas juntamente com o código sem pedidos adicionais. Também é indispensável para e-mails HTML, onde os clientes de correio bloqueiam imagens externas mas exibem quase sempre Data URIs incorporados.',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'Casos de uso para imagens Base64',
|
|
100
|
+
level: 3,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'list',
|
|
104
|
+
icon: 'mdi:check-circle',
|
|
105
|
+
items: [
|
|
106
|
+
'HTML inline: <code><img src="data:image/png;base64,..."></code> para ícones críticos.',
|
|
107
|
+
'CSS background: <code>background-image: url("data:image/svg+xml;base64,...")</code> para SVGs de UI.',
|
|
108
|
+
'APIs JSON e REST: envie imagens como dados de texto em payloads JSON.',
|
|
109
|
+
'E-mails HTML: imagens incorporadas que são exibidas mesmo quando o cliente bloqueia URLs externos.',
|
|
110
|
+
'Incorporação em SVG: incorpore imagens raster dentro de arquivos SVG como dados inline.',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Como funciona a conversão no navegador',
|
|
116
|
+
level: 3,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'Quando seleciona ou arrasta uma imagem, a API <code>FileReader</code> do navegador lê-a diretamente do disco como dados binários na RAM. O método <code>readAsDataURL()</code> converte esses bytes binários na sua representação Base64 utilizando o algoritmo RFC 4648 — a cada 3 bytes de dados originais são representados como 4 caracteres ASCII do alfabeto Base64. O resultado inclui o tipo MIME correto detetado automaticamente.',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'tip',
|
|
124
|
+
title: 'Utilize apenas para imagens pequenas (abaixo de 10 KB)',
|
|
125
|
+
html: 'O Base64 aumenta o tamanho do arquivo em aproximadamente 33%: uma imagem de 10 KB torna-se ~13,3 KB de texto. Para ícones e logótipos pequenos, este custo é mínimo e a eliminação do pedido HTTP compensa-o. Para fotografias ou imagens grandes, o excesso de tamanho é significativo — utilize sempre um CDN para imagens grandes.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'Quando NÃO utilizar Base64',
|
|
130
|
+
level: 3,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'tip',
|
|
134
|
+
title: 'Evite Base64 para imagens grandes — utilize um CDN',
|
|
135
|
+
html: 'Se tiver imagens maiores que 10-20 KB, o Base64 prejudica o desempenho: infla o tamanho do HTML/CSS, impede que o navegador coloque a imagem em cache de forma independente e bloqueia a renderização enquanto o parser processa a string gigante. Para imagens grandes, sirva sempre a partir de un CDN com cabeçalhos de cache apropriados.',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'title',
|
|
139
|
+
text: 'Compatibilidade e privacidade',
|
|
140
|
+
level: 3,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'paragraph',
|
|
144
|
+
html: 'Os Data URIs são compatíveis com 100% dos navegadores modernos e a maioria dos clientes de e-mail. A nossa ferramenta processa tudo localmente através da API FileReader — as suas imagens nunca saem do seu dispositivo. Isto torna-a adequada para imagens corporativas, capturas de ecrã privadas ou qualquer conteúdo visual confidencial que precise de converter para Base64.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 'title',
|
|
148
|
+
text: 'Conclusão: A ferramenta de incorporação mais rápida e privada',
|
|
149
|
+
level: 3,
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: 'Converter imagens para Base64 é uma técnica específica mas muito poderosa quando aplicada corretamente. Utilize-a para imagens pequenas e críticas onde a ausência de pedidos HTTP faz a diferença, e evite-a para imagens grandes onde um CDN ganha sempre. Com a nossa ferramenta, obtém o Data URI num instante, sem carregar nada para qualquer servidor.',
|
|
154
|
+
},
|
|
155
|
+
];
|
|
156
|
+
|
|
157
|
+
export const content: ImagenBase64LocaleContent = {
|
|
158
|
+
slug,
|
|
159
|
+
title,
|
|
160
|
+
description,
|
|
161
|
+
ui,
|
|
162
|
+
seo,
|
|
163
|
+
faq,
|
|
164
|
+
bibliography,
|
|
165
|
+
howTo,
|
|
166
|
+
schemas: generateSchemas({
|
|
167
|
+
title,
|
|
168
|
+
description,
|
|
169
|
+
inLanguage: 'pt',
|
|
170
|
+
faq,
|
|
171
|
+
howTo,
|
|
172
|
+
}),
|
|
173
|
+
};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import type { ImagenBase64LocaleContent } from '../index';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { ImageToBase64UI } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'konverter-izobrazheniya-v-base64';
|
|
6
|
+
const title = 'Конвертер изображений в Base64 онлайн';
|
|
7
|
+
const description =
|
|
8
|
+
'Конвертируйте любое изображение в код Base64 и Data URI прямо в браузере. Без загрузки файлов на сервер. Бесплатно, приватно и мгновенно.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageToBase64UI = {
|
|
11
|
+
dragTitle: 'Перетащите изображение сюда',
|
|
12
|
+
dragSubtext: 'или нажмите, чтобы выбрать файлы',
|
|
13
|
+
formatBadge: 'Поддерживаются JPG, PNG, WEBP, SVG, GIF',
|
|
14
|
+
dataUriLabel: 'Data URI (готово для CSS / HTML src="")',
|
|
15
|
+
base64Label: 'Только Base64 (чистый закодированный текст)',
|
|
16
|
+
copyBtn: 'Копировать',
|
|
17
|
+
dataUriPlaceholder: 'Загрузите изображение, чтобы увидеть код Data URI...',
|
|
18
|
+
base64Placeholder: 'Загрузите изображение, чтобы увидеть чистый код Base64...',
|
|
19
|
+
toastMessage: 'Код скопирован в буфер обмена!',
|
|
20
|
+
invalidImageAlert: 'Пожалуйста, загрузите корректный файл изображения.',
|
|
21
|
+
bibliographyTitle: 'Библиографические ссылки',
|
|
22
|
+
faqTitle: 'Часто задаваемые вопросы',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const faq: ImagenBase64LocaleContent['faq'] = [
|
|
26
|
+
{
|
|
27
|
+
question: 'Что такое Base64 и для чего он используется в веб-разработке?',
|
|
28
|
+
answer:
|
|
29
|
+
'Base64 — это система кодирования, которая преобразует бинарные данные в текстовую строку ASCII. В веб-разработке она используется для вставки изображений непосредственно в файлы HTML или CSS через Data URI, что сокращает количество HTTP-запросов к серверу.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Безопасно ли конвертировать здесь мои изображения в Base64?',
|
|
33
|
+
answer:
|
|
34
|
+
'Абсолютно безопасно и приватно. Наш инструмент работает на 100% локально в вашем браузере. Ваши изображения никогда не загружаются и не обрабатываются на внешних серверах.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Какие форматы изображений поддерживает конвертер Base64?',
|
|
38
|
+
answer:
|
|
39
|
+
'Инструмент совместим с файлами JPG, PNG, GIF, WebP и даже векторными SVG. При загрузке изображения он автоматически определит MIME-тип для генерации точного кода Data URI.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
question: 'Когда НЕ следует использовать изображения в Base64?',
|
|
43
|
+
answer:
|
|
44
|
+
'Следует избегать использования Base64 для больших фотографий или изображений с высоким разрешением. Код Base64 занимает примерно на 33% больше объема, чем исходный бинарный файл, что может чрезмерно раздуть ваши таблицы стилей CSS или HTML-документы.',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const howTo: ImagenBase64LocaleContent['howTo'] = [
|
|
49
|
+
{
|
|
50
|
+
name: 'Перетащите или выберите изображение',
|
|
51
|
+
text: 'Переместите любое изображение (JPG, PNG, WebP, SVG, GIF) в область загрузки, чтобы начать конвертацию.',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'Скопируйте сгенерированный код',
|
|
55
|
+
text: 'Вы увидите два текстовых поля: полный Data URI (готовый к использованию в src="" или CSS) и чистый Base64 для других целей.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'Используйте код в своем проекте',
|
|
59
|
+
text: 'Вставьте Data URI непосредственно в src тега img или в CSS как background-image без необходимости использования внешних файлов.',
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
const bibliography: ImagenBase64LocaleContent['bibliography'] = [
|
|
64
|
+
{
|
|
65
|
+
name: 'MDN Web Docs: Data URIs',
|
|
66
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'Кодирование Base64 RFC 4648',
|
|
70
|
+
url: 'https://datatracker.ietf.org/doc/html/rfc4648',
|
|
71
|
+
},
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
const seo: ImagenBase64LocaleContent['seo'] = [
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'Конвертер изображений в Base64: Вставка без HTTP запросов',
|
|
78
|
+
level: 2,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'Base64 — это техника кодирования, которая преобразует бинарные данные (например, изображение) в чистую текстовую строку ASCII. Результатом является Data URI: самодостаточный URL, который начинается с <code>data:image/png;base64,...</code> и содержит все закодированное изображение. Вставляя этот код непосредственно в HTML, CSS или JSON, изображение загружается без дополнительных HTTP-запросов к серверу — нулевая сетевая задержка, мгновенная загрузка.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'title',
|
|
86
|
+
text: 'Когда использовать изображения в Base64',
|
|
87
|
+
level: 3,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'paragraph',
|
|
91
|
+
html: 'Основной аргумент в пользу Base64 — это исключение сетевых запросов. Каждое изображение на веб-странице означает HTTP-запрос со своими накладными расходами на соединение, DNS, TLS-рукопожатие и задержку. Для очень маленьких критически важных изображений — основного логотипа приложения, фавикона, иконки интерфейса — вставка их в Base64 в CSS или HTML исключает эти затраты и гарантирует их мгновенное отображение еще до того, как браузер что-либо закеширует.',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'paragraph',
|
|
95
|
+
html: 'Эта техника особенно эффективна в SPA-приложениях (Single Page Application), где бандл JavaScript и CSS генерируется во время сборки: вставка небольших изображений в бандл гарантирует их загрузку вместе с кодом без дополнительных запросов. Это также незаменимо для HTML-писем, где почтовые клиенты блокируют внешние изображения, но почти всегда отображают встроенные Data URI.',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'Варианты использования изображений в Base64',
|
|
100
|
+
level: 3,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'list',
|
|
104
|
+
icon: 'mdi:check-circle',
|
|
105
|
+
items: [
|
|
106
|
+
'HTML inline: <code><img src="data:image/png;base64,..."></code> для критических иконок.',
|
|
107
|
+
'CSS background: <code>background-image: url("data:image/svg+xml;base64,...")</code> для UI SVG.',
|
|
108
|
+
'JSON и REST API: передача изображений в виде текстовых данных в JSON.',
|
|
109
|
+
'Электронные письма в формате HTML: встроенные изображения, которые отображаются, даже если клиент блокирует внешние URL-адреса.',
|
|
110
|
+
'Вставка в SVG: вставка растровых изображений в файлы SVG в виде встроенных данных.',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Как работает конвертация в браузере',
|
|
116
|
+
level: 3,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'Когда вы выбираете или перетаскиваете изображение, API <code>FileReader</code> браузера читает его непосредственно с диска как бинарные данные в оперативную память. Метод <code>readAsDataURL()</code> преобразует эти бинарные байты в их представление Base64 с использованием алгоритма RFC 4648 — каждые 3 байта исходных данных представляются как 4 символа ASCII из алфавита Base64. Результат включает автоматически определенный корректный MIME-тип.',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'tip',
|
|
124
|
+
title: 'Используйте только для маленьких изображений (до 10 КБ)',
|
|
125
|
+
html: 'Base64 увеличивает размер файла примерно на 33%: изображение весом 10 КБ превращается в ~13,3 КБ текста. Для небольших иконок и логотипов эти затраты минимальны, а отсутствие HTTP-запроса компенсирует их. Для фотографий или больших изображений накладные расходы на размер значительны — для больших изображений всегда используйте CDN.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'Когда НЕ использовать Base64',
|
|
130
|
+
level: 3,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'tip',
|
|
134
|
+
title: 'Избегайте Base64 для больших изображений — используйте CDN',
|
|
135
|
+
html: 'Если у вас есть изображения размером более 10-20 КБ, Base64 вредит производительности: он раздувает размер HTML/CSS, мешает браузеру кешировать изображение независимо и блокирует рендеринг, пока парсер обрабатывает гигантскую строку. Для больших изображений всегда используйте CDN с соответствующими заголовками кеширования.',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'title',
|
|
139
|
+
text: 'Совместимость и приватность',
|
|
140
|
+
level: 3,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'paragraph',
|
|
144
|
+
html: 'Data URI совместимы со 100% современных браузеров и большинством почтовых клиентов. Наш инструмент обрабатывает все локально через API FileReader — ваши изображения никогда не покидают ваше устройство. Это делает его подходящим для корпоративных изображений, частных скриншотов или любого конфиденциального визуального контента, который вам нужно конвертировать в Base64.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 'title',
|
|
148
|
+
text: 'Заключение: Самый быстрый и приватный инструмент для вставки',
|
|
149
|
+
level: 3,
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: 'Конвертация изображений в Base64 — это узкоспециализированная, но очень мощная техника при правильном применении. Используйте ее для небольших критически важных изображений, где отсутствие HTTP-запросов имеет значение, и избегайте ее для больших изображений, где CDN всегда выигрывает. С нашим инструментом вы получите Data URI мгновенно, ничего не загружая на сервер.',
|
|
154
|
+
},
|
|
155
|
+
];
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
export const content: ImagenBase64LocaleContent = {
|
|
159
|
+
slug,
|
|
160
|
+
title,
|
|
161
|
+
description,
|
|
162
|
+
ui,
|
|
163
|
+
seo,
|
|
164
|
+
faq,
|
|
165
|
+
bibliography,
|
|
166
|
+
howTo,
|
|
167
|
+
schemas: generateSchemas({ title, description, inLanguage: 'ru', faq, howTo }),
|
|
168
|
+
};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import type { ImagenBase64LocaleContent } from '../index';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { ImageToBase64UI } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'bild-till-base64-konverterare';
|
|
6
|
+
const title = 'Bild till Base64 konverterare Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Konvertera valfri bild till Base64-kod och Data URI direkt i din webbläsare. Inga filuppladdningar. Gratis, privat och omedelbart.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageToBase64UI = {
|
|
11
|
+
dragTitle: 'Dra din bild hit',
|
|
12
|
+
dragSubtext: 'eller klicka för att bläddra bland dina filer',
|
|
13
|
+
formatBadge: 'Stöder JPG, PNG, WEBP, SVG, GIF',
|
|
14
|
+
dataUriLabel: 'Data URI (Klar för CSS / HTML src="")',
|
|
15
|
+
base64Label: 'Endast Base64 (Ren kodad text)',
|
|
16
|
+
copyBtn: 'Kopiera',
|
|
17
|
+
dataUriPlaceholder: 'Ladda upp en bild för att se Data URI-koden...',
|
|
18
|
+
base64Placeholder: 'Ladda upp en bild för att se den rena Base64-koden...',
|
|
19
|
+
toastMessage: 'Koden kopierad till urklipp!',
|
|
20
|
+
invalidImageAlert: 'Vänligen ladda upp en giltig bildfil.',
|
|
21
|
+
bibliographyTitle: 'Bibliografiska Referenser',
|
|
22
|
+
faqTitle: 'Vanliga Frågor',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const faq: ImagenBase64LocaleContent['faq'] = [
|
|
26
|
+
{
|
|
27
|
+
question: 'Vad är Base64 och vad används det till i webbutveckling?',
|
|
28
|
+
answer:
|
|
29
|
+
'Base64 är ett kodningssystem som konverterar binära data till en ASCII-textsträng. Inom webbutveckling används det för att bädda in bilder direkt i HTML- eller CSS-filer via Data URI:er, vilket minskar antalet HTTP-anrop till servern.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Är det säkert att konvertera mina bilder till Base64 här?',
|
|
33
|
+
answer:
|
|
34
|
+
'Absolut säkert och privat. Vårt verktyg fungerar 100% lokalt i din webbläsare. Dina bilder laddas aldrig upp till eller behandlas på någon extern server.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Vilka bildformat stöder Base64-konverteraren?',
|
|
38
|
+
answer:
|
|
39
|
+
'Verktyget är kompatibelt med JPG, PNG, GIF, WebP och till och med SVG-vektorfiler. När bilden laddas detekteras automatiskt dess MIME-typ för att generera den exakta Data URI-koden.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
question: 'När ska jag INTE använda Base64-bilder?',
|
|
43
|
+
answer:
|
|
44
|
+
'Du bör undvika att använda Base64-bilder för stora fotografier eller högupplösta bilder. Base64-kod tar upp cirka 33% mer plats än den ursprungliga binära filen, vilket kan blåsa upp dina CSS-stilmallar eller HTML-dokument överdrivet mycket.',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const howTo: ImagenBase64LocaleContent['howTo'] = [
|
|
49
|
+
{
|
|
50
|
+
name: 'Dra eller välj din bild',
|
|
51
|
+
text: 'Flytta valfri bild (JPG, PNG, WebP, SVG, GIF) till uppladdningsområdet för att starta konverteringen.',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'Kopiera den genererade koden',
|
|
55
|
+
text: 'Du kommer att se två textfält: den kompletta Data URI-koden (klar att använda i src="" eller CSS) och den rena Base64-koden för andra ändamål.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'Använd koden i ditt projekt',
|
|
59
|
+
text: 'Klistra in Data URI direkt i src för en img-tagg eller i din CSS som background-image utan att behöva externa filer.',
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
const bibliography: ImagenBase64LocaleContent['bibliography'] = [
|
|
64
|
+
{
|
|
65
|
+
name: 'MDN Web Docs: Data URIs',
|
|
66
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'Base64 Encoding RFC 4648',
|
|
70
|
+
url: 'https://datatracker.ietf.org/doc/html/rfc4648',
|
|
71
|
+
},
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
const seo: ImagenBase64LocaleContent['seo'] = [
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'Bild till Base64-konverterare: Bädda in bilder utan HTTP-anrop',
|
|
78
|
+
level: 2,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'Base64 är en kodningsteknik som transformerar binära data — som en bild — till en ren ASCII-textsträng. Resultatet är en Data URI: en självständig URL som börjar med <code>data:image/png;base64,...</code> och innehåller hela den kodade bilden. Genom att bädda in denna kod direkt i din HTML, CSS eller JSON, laddas bilden utan något extra HTTP-anrop till servern — noll nätverkslatens, omedelbar laddning.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'title',
|
|
86
|
+
text: 'När man ska använda Base64-bilder',
|
|
87
|
+
level: 3,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'paragraph',
|
|
91
|
+
html: 'Huvudargumentet för Base64 är elimineringen av nätverksanrop. Varje bild på en webbsida innebär ett HTTP-anrop med dess overhead för anslutning, DNS, TLS-handskakning och latens. För mycket små kritiska bilder — applikationens huvudlogotyp, favicon, en UI-ikon — eliminerar inbäddning i Base64 i CSS eller HTML den kostnaden och garanterar att de visas omedelbart även innan webbläsaren har hunnit cacha något.',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'paragraph',
|
|
95
|
+
html: 'Denna teknik är särskilt kraftfull i SPA-appar (Single Page Application) där JavaScript- och CSS-paketet genereras vid byggtiden: att bädda in små bilder i paketet garanterar att de laddas tillsammans med koden utan extra anrop. Det är också oumbärligt för HTML-e-postmeddelanden, där e-postklienter blockerar externa bilder men nästan alltid visar inbäddade Data URI:er.',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'Användningsområden för Base64-bilder',
|
|
100
|
+
level: 3,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'list',
|
|
104
|
+
icon: 'mdi:check-circle',
|
|
105
|
+
items: [
|
|
106
|
+
'HTML inline: <code><img src="data:image/png;base64,..."></code> för kritiska ikoner.',
|
|
107
|
+
'CSS background: <code>background-image: url("data:image/svg+xml;base64,...")</code> för UI-SVG:er.',
|
|
108
|
+
'JSON och REST API:er: skicka bilder som textdata i JSON-objekt.',
|
|
109
|
+
'HTML-e-postmeddelanden: inbäddade bilder som visas även när klienten blockerar externa URL:er.',
|
|
110
|
+
'SVG-inbäddning: bädda in rasterbilder inuti SVG-filer som inline-data.',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Hur konverteringen fungerar i webbläsaren',
|
|
116
|
+
level: 3,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'När du väljer eller drar en bild på plats, läser webbläsarens <code>FileReader</code>-API den direkt från disken som binära data i RAM-minnet. Metoden <code>readAsDataURL()</code> konverterar de binära byten till deras Base64-representation med RFC 4648-algoritmen — var 3:e byte av originaldata representeras som 4 ASCII-tecken från Base64-alfabetet. Resultatet inkluderar den automatiskt detekterade korrekta MIME-typen.',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'tip',
|
|
124
|
+
title: 'Använd det endast för små bilder (under 10 KB)',
|
|
125
|
+
html: 'Base64 ökar filstorleken med cirka 33%: en bild på 10 KB blir ~13,3 KB text. För små ikoner och logotyper är denna kostnad minimal och elimineringen av HTTP-anropet kompenserar för det. För fotografier eller stora bilder är storleksökningen betydande — använd alltid ett CDN för stora bilder.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'När man INTE ska använda Base64',
|
|
130
|
+
level: 3,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'tip',
|
|
134
|
+
title: 'Undvik Base64 för stora bilder — använd ett CDN istället',
|
|
135
|
+
html: 'Om du har bilder som är större än 10-20 KB, skadar Base64 prestandan: det blåser upp HTML/CSS-storleken, förhindrar att webbläsaren kan cacha bilden oberoende och blockerar renderingen medan tolken bearbetar den gigantiska strängen. För stora bilder, leverera alltid från ett CDN med lämpliga cache-headers.',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'title',
|
|
139
|
+
text: 'Kompatibilitet och integritet',
|
|
140
|
+
level: 3,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'paragraph',
|
|
144
|
+
html: 'Data URI:er är kompatibla med 100% av moderna webbläsare och de flesta e-postklienter. Vårt verktyg bearbetar allt lokalt via FileReader-API:et — dina bilder lämnar aldrig din enhet. Detta gör det lämpligt för företagsbilder, privata skärmdumpar eller annat konfidentiellt visuellt innehåll som du behöver konvertera till Base64.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 'title',
|
|
148
|
+
text: 'Slutsats: Det snabbaste och mest privata inbäddningsverktyget',
|
|
149
|
+
level: 3,
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: 'Att konvertera bilder till Base64 är en nischad men mycket kraftfull teknik när den tillämpas korrekt. Använd den för små, kritiska bilder där noll HTTP-anrop gör skillnad, och undvik den för stora bilder där ett CDN alltid vinner. Med vårt verktyg får du Data URI på ett ögonblick, utan att ladda upp något till någon server.',
|
|
154
|
+
},
|
|
155
|
+
];
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
export const content: ImagenBase64LocaleContent = {
|
|
159
|
+
slug,
|
|
160
|
+
title,
|
|
161
|
+
description,
|
|
162
|
+
ui,
|
|
163
|
+
seo,
|
|
164
|
+
faq,
|
|
165
|
+
bibliography,
|
|
166
|
+
howTo,
|
|
167
|
+
schemas: generateSchemas({ title, description, inLanguage: 'sv', faq, howTo }),
|
|
168
|
+
};
|