@jjlmoya/utils-converters 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +60 -59
- package/src/shared/ImageConverter.astro +2 -1
- package/src/shared/logic/schemas.ts +57 -0
- package/src/tests/faq_count.test.ts +13 -4
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/seo_length.test.ts +1 -1
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/avifAJpg/i18n/de.ts +178 -0
- package/src/tool/avifAJpg/i18n/en.ts +2 -12
- package/src/tool/avifAJpg/i18n/es.ts +2 -12
- package/src/tool/avifAJpg/i18n/fr.ts +2 -12
- package/src/tool/avifAJpg/i18n/id.ts +178 -0
- package/src/tool/avifAJpg/i18n/it.ts +178 -0
- package/src/tool/avifAJpg/i18n/ja.ts +178 -0
- package/src/tool/avifAJpg/i18n/ko.ts +178 -0
- package/src/tool/avifAJpg/i18n/nl.ts +178 -0
- package/src/tool/avifAJpg/i18n/pl.ts +178 -0
- package/src/tool/avifAJpg/i18n/pt.ts +178 -0
- package/src/tool/avifAJpg/i18n/ru.ts +178 -0
- package/src/tool/avifAJpg/i18n/sv.ts +178 -0
- package/src/tool/avifAJpg/i18n/tr.ts +178 -0
- package/src/tool/avifAJpg/i18n/zh.ts +178 -0
- package/src/tool/avifAJpg/index.ts +13 -1
- package/src/tool/avifAPng/i18n/de.ts +178 -0
- package/src/tool/avifAPng/i18n/en.ts +2 -12
- package/src/tool/avifAPng/i18n/es.ts +2 -12
- package/src/tool/avifAPng/i18n/fr.ts +2 -12
- package/src/tool/avifAPng/i18n/id.ts +178 -0
- package/src/tool/avifAPng/i18n/it.ts +178 -0
- package/src/tool/avifAPng/i18n/ja.ts +178 -0
- package/src/tool/avifAPng/i18n/ko.ts +178 -0
- package/src/tool/avifAPng/i18n/nl.ts +178 -0
- package/src/tool/avifAPng/i18n/pl.ts +178 -0
- package/src/tool/avifAPng/i18n/pt.ts +178 -0
- package/src/tool/avifAPng/i18n/ru.ts +178 -0
- package/src/tool/avifAPng/i18n/sv.ts +178 -0
- package/src/tool/avifAPng/i18n/tr.ts +178 -0
- package/src/tool/avifAPng/i18n/zh.ts +178 -0
- package/src/tool/avifAPng/index.ts +13 -1
- package/src/tool/avifAWebp/i18n/de.ts +178 -0
- package/src/tool/avifAWebp/i18n/en.ts +2 -12
- package/src/tool/avifAWebp/i18n/es.ts +2 -12
- package/src/tool/avifAWebp/i18n/fr.ts +2 -12
- package/src/tool/avifAWebp/i18n/id.ts +178 -0
- package/src/tool/avifAWebp/i18n/it.ts +178 -0
- package/src/tool/avifAWebp/i18n/ja.ts +178 -0
- package/src/tool/avifAWebp/i18n/ko.ts +178 -0
- package/src/tool/avifAWebp/i18n/nl.ts +178 -0
- package/src/tool/avifAWebp/i18n/pl.ts +178 -0
- package/src/tool/avifAWebp/i18n/pt.ts +178 -0
- package/src/tool/avifAWebp/i18n/ru.ts +178 -0
- package/src/tool/avifAWebp/i18n/sv.ts +178 -0
- package/src/tool/avifAWebp/i18n/tr.ts +178 -0
- package/src/tool/avifAWebp/i18n/zh.ts +178 -0
- package/src/tool/avifAWebp/index.ts +13 -1
- package/src/tool/bmpAJpg/i18n/de.ts +178 -0
- package/src/tool/bmpAJpg/i18n/en.ts +2 -12
- package/src/tool/bmpAJpg/i18n/es.ts +2 -12
- package/src/tool/bmpAJpg/i18n/fr.ts +2 -12
- package/src/tool/bmpAJpg/i18n/id.ts +178 -0
- package/src/tool/bmpAJpg/i18n/it.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ja.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ko.ts +178 -0
- package/src/tool/bmpAJpg/i18n/nl.ts +178 -0
- package/src/tool/bmpAJpg/i18n/pl.ts +178 -0
- package/src/tool/bmpAJpg/i18n/pt.ts +178 -0
- package/src/tool/bmpAJpg/i18n/ru.ts +178 -0
- package/src/tool/bmpAJpg/i18n/sv.ts +178 -0
- package/src/tool/bmpAJpg/i18n/tr.ts +178 -0
- package/src/tool/bmpAJpg/i18n/zh.ts +178 -0
- package/src/tool/bmpAJpg/index.ts +13 -1
- package/src/tool/bmpAPng/i18n/de.ts +177 -0
- package/src/tool/bmpAPng/i18n/en.ts +2 -12
- package/src/tool/bmpAPng/i18n/es.ts +2 -12
- package/src/tool/bmpAPng/i18n/fr.ts +2 -12
- package/src/tool/bmpAPng/i18n/id.ts +177 -0
- package/src/tool/bmpAPng/i18n/it.ts +177 -0
- package/src/tool/bmpAPng/i18n/ja.ts +177 -0
- package/src/tool/bmpAPng/i18n/ko.ts +177 -0
- package/src/tool/bmpAPng/i18n/nl.ts +177 -0
- package/src/tool/bmpAPng/i18n/pl.ts +177 -0
- package/src/tool/bmpAPng/i18n/pt.ts +177 -0
- package/src/tool/bmpAPng/i18n/ru.ts +177 -0
- package/src/tool/bmpAPng/i18n/sv.ts +177 -0
- package/src/tool/bmpAPng/i18n/tr.ts +177 -0
- package/src/tool/bmpAPng/i18n/zh.ts +177 -0
- package/src/tool/bmpAPng/index.ts +13 -1
- package/src/tool/bmpAWebp/i18n/de.ts +178 -0
- package/src/tool/bmpAWebp/i18n/en.ts +2 -12
- package/src/tool/bmpAWebp/i18n/es.ts +2 -12
- package/src/tool/bmpAWebp/i18n/fr.ts +2 -12
- package/src/tool/bmpAWebp/i18n/id.ts +178 -0
- package/src/tool/bmpAWebp/i18n/it.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ja.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ko.ts +178 -0
- package/src/tool/bmpAWebp/i18n/nl.ts +178 -0
- package/src/tool/bmpAWebp/i18n/pl.ts +178 -0
- package/src/tool/bmpAWebp/i18n/pt.ts +178 -0
- package/src/tool/bmpAWebp/i18n/ru.ts +178 -0
- package/src/tool/bmpAWebp/i18n/sv.ts +178 -0
- package/src/tool/bmpAWebp/i18n/tr.ts +178 -0
- package/src/tool/bmpAWebp/i18n/zh.ts +178 -0
- package/src/tool/bmpAWebp/index.ts +13 -1
- package/src/tool/gifAJpg/i18n/de.ts +178 -0
- package/src/tool/gifAJpg/i18n/en.ts +2 -12
- package/src/tool/gifAJpg/i18n/es.ts +2 -12
- package/src/tool/gifAJpg/i18n/fr.ts +2 -12
- package/src/tool/gifAJpg/i18n/id.ts +178 -0
- package/src/tool/gifAJpg/i18n/it.ts +178 -0
- package/src/tool/gifAJpg/i18n/ja.ts +178 -0
- package/src/tool/gifAJpg/i18n/ko.ts +178 -0
- package/src/tool/gifAJpg/i18n/nl.ts +178 -0
- package/src/tool/gifAJpg/i18n/pl.ts +178 -0
- package/src/tool/gifAJpg/i18n/pt.ts +178 -0
- package/src/tool/gifAJpg/i18n/ru.ts +178 -0
- package/src/tool/gifAJpg/i18n/sv.ts +178 -0
- package/src/tool/gifAJpg/i18n/tr.ts +178 -0
- package/src/tool/gifAJpg/i18n/zh.ts +178 -0
- package/src/tool/gifAJpg/index.ts +13 -1
- package/src/tool/gifAPng/i18n/de.ts +178 -0
- package/src/tool/gifAPng/i18n/en.ts +2 -12
- package/src/tool/gifAPng/i18n/es.ts +2 -12
- package/src/tool/gifAPng/i18n/fr.ts +2 -12
- package/src/tool/gifAPng/i18n/id.ts +178 -0
- package/src/tool/gifAPng/i18n/it.ts +178 -0
- package/src/tool/gifAPng/i18n/ja.ts +178 -0
- package/src/tool/gifAPng/i18n/ko.ts +178 -0
- package/src/tool/gifAPng/i18n/nl.ts +178 -0
- package/src/tool/gifAPng/i18n/pl.ts +178 -0
- package/src/tool/gifAPng/i18n/pt.ts +178 -0
- package/src/tool/gifAPng/i18n/ru.ts +178 -0
- package/src/tool/gifAPng/i18n/sv.ts +178 -0
- package/src/tool/gifAPng/i18n/tr.ts +178 -0
- package/src/tool/gifAPng/i18n/zh.ts +178 -0
- package/src/tool/gifAPng/index.ts +12 -0
- package/src/tool/gifAWebp/i18n/de.ts +178 -0
- package/src/tool/gifAWebp/i18n/en.ts +2 -12
- package/src/tool/gifAWebp/i18n/es.ts +2 -12
- package/src/tool/gifAWebp/i18n/fr.ts +2 -12
- package/src/tool/gifAWebp/i18n/id.ts +178 -0
- package/src/tool/gifAWebp/i18n/it.ts +178 -0
- package/src/tool/gifAWebp/i18n/ja.ts +178 -0
- package/src/tool/gifAWebp/i18n/ko.ts +178 -0
- package/src/tool/gifAWebp/i18n/nl.ts +178 -0
- package/src/tool/gifAWebp/i18n/pl.ts +178 -0
- package/src/tool/gifAWebp/i18n/pt.ts +178 -0
- package/src/tool/gifAWebp/i18n/ru.ts +178 -0
- package/src/tool/gifAWebp/i18n/sv.ts +178 -0
- package/src/tool/gifAWebp/i18n/tr.ts +178 -0
- package/src/tool/gifAWebp/i18n/zh.ts +178 -0
- package/src/tool/gifAWebp/index.ts +12 -0
- package/src/tool/imagenBase64/i18n/de.ts +168 -0
- package/src/tool/imagenBase64/i18n/en.ts +2 -12
- package/src/tool/imagenBase64/i18n/es.ts +2 -12
- package/src/tool/imagenBase64/i18n/fr.ts +2 -12
- package/src/tool/imagenBase64/i18n/id.ts +168 -0
- package/src/tool/imagenBase64/i18n/it.ts +168 -0
- package/src/tool/imagenBase64/i18n/ja.ts +168 -0
- package/src/tool/imagenBase64/i18n/ko.ts +168 -0
- package/src/tool/imagenBase64/i18n/nl.ts +168 -0
- package/src/tool/imagenBase64/i18n/pl.ts +168 -0
- package/src/tool/imagenBase64/i18n/pt.ts +173 -0
- package/src/tool/imagenBase64/i18n/ru.ts +168 -0
- package/src/tool/imagenBase64/i18n/sv.ts +168 -0
- package/src/tool/imagenBase64/i18n/tr.ts +168 -0
- package/src/tool/imagenBase64/i18n/zh.ts +168 -0
- package/src/tool/imagenBase64/index.ts +12 -0
- package/src/tool/jpgAIco/i18n/de.ts +183 -0
- package/src/tool/jpgAIco/i18n/en.ts +8 -13
- package/src/tool/jpgAIco/i18n/es.ts +13 -18
- package/src/tool/jpgAIco/i18n/fr.ts +9 -14
- package/src/tool/jpgAIco/i18n/id.ts +183 -0
- package/src/tool/jpgAIco/i18n/it.ts +183 -0
- package/src/tool/jpgAIco/i18n/ja.ts +183 -0
- package/src/tool/jpgAIco/i18n/ko.ts +183 -0
- package/src/tool/jpgAIco/i18n/nl.ts +183 -0
- package/src/tool/jpgAIco/i18n/pl.ts +183 -0
- package/src/tool/jpgAIco/i18n/pt.ts +183 -0
- package/src/tool/jpgAIco/i18n/ru.ts +183 -0
- package/src/tool/jpgAIco/i18n/sv.ts +183 -0
- package/src/tool/jpgAIco/i18n/tr.ts +183 -0
- package/src/tool/jpgAIco/i18n/zh.ts +183 -0
- package/src/tool/jpgAIco/index.ts +12 -0
- package/src/tool/jpgAPng/i18n/de.ts +178 -0
- package/src/tool/jpgAPng/i18n/en.ts +2 -12
- package/src/tool/jpgAPng/i18n/es.ts +2 -12
- package/src/tool/jpgAPng/i18n/fr.ts +2 -12
- package/src/tool/jpgAPng/i18n/id.ts +178 -0
- package/src/tool/jpgAPng/i18n/it.ts +178 -0
- package/src/tool/jpgAPng/i18n/ja.ts +178 -0
- package/src/tool/jpgAPng/i18n/ko.ts +178 -0
- package/src/tool/jpgAPng/i18n/nl.ts +178 -0
- package/src/tool/jpgAPng/i18n/pl.ts +178 -0
- package/src/tool/jpgAPng/i18n/pt.ts +178 -0
- package/src/tool/jpgAPng/i18n/ru.ts +178 -0
- package/src/tool/jpgAPng/i18n/sv.ts +178 -0
- package/src/tool/jpgAPng/i18n/tr.ts +178 -0
- package/src/tool/jpgAPng/i18n/zh.ts +178 -0
- package/src/tool/jpgAPng/index.ts +13 -1
- package/src/tool/jpgAWebp/i18n/de.ts +178 -0
- package/src/tool/jpgAWebp/i18n/en.ts +2 -12
- package/src/tool/jpgAWebp/i18n/es.ts +2 -12
- package/src/tool/jpgAWebp/i18n/fr.ts +2 -12
- package/src/tool/jpgAWebp/i18n/id.ts +178 -0
- package/src/tool/jpgAWebp/i18n/it.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ja.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ko.ts +178 -0
- package/src/tool/jpgAWebp/i18n/nl.ts +178 -0
- package/src/tool/jpgAWebp/i18n/pl.ts +178 -0
- package/src/tool/jpgAWebp/i18n/pt.ts +178 -0
- package/src/tool/jpgAWebp/i18n/ru.ts +178 -0
- package/src/tool/jpgAWebp/i18n/sv.ts +178 -0
- package/src/tool/jpgAWebp/i18n/tr.ts +178 -0
- package/src/tool/jpgAWebp/i18n/zh.ts +178 -0
- package/src/tool/jpgAWebp/index.ts +12 -0
- package/src/tool/pngAIco/i18n/de.ts +183 -0
- package/src/tool/pngAIco/i18n/en.ts +8 -13
- package/src/tool/pngAIco/i18n/es.ts +19 -24
- package/src/tool/pngAIco/i18n/fr.ts +20 -25
- package/src/tool/pngAIco/i18n/id.ts +183 -0
- package/src/tool/pngAIco/i18n/it.ts +183 -0
- package/src/tool/pngAIco/i18n/ja.ts +183 -0
- package/src/tool/pngAIco/i18n/ko.ts +183 -0
- package/src/tool/pngAIco/i18n/nl.ts +183 -0
- package/src/tool/pngAIco/i18n/pl.ts +183 -0
- package/src/tool/pngAIco/i18n/pt.ts +183 -0
- package/src/tool/pngAIco/i18n/ru.ts +183 -0
- package/src/tool/pngAIco/i18n/sv.ts +183 -0
- package/src/tool/pngAIco/i18n/tr.ts +183 -0
- package/src/tool/pngAIco/i18n/zh.ts +183 -0
- package/src/tool/pngAIco/index.ts +12 -0
- package/src/tool/pngAJpg/i18n/de.ts +191 -0
- package/src/tool/pngAJpg/i18n/en.ts +2 -12
- package/src/tool/pngAJpg/i18n/es.ts +2 -12
- package/src/tool/pngAJpg/i18n/fr.ts +2 -12
- package/src/tool/pngAJpg/i18n/id.ts +191 -0
- package/src/tool/pngAJpg/i18n/it.ts +191 -0
- package/src/tool/pngAJpg/i18n/ja.ts +191 -0
- package/src/tool/pngAJpg/i18n/ko.ts +191 -0
- package/src/tool/pngAJpg/i18n/nl.ts +191 -0
- package/src/tool/pngAJpg/i18n/pl.ts +191 -0
- package/src/tool/pngAJpg/i18n/pt.ts +191 -0
- package/src/tool/pngAJpg/i18n/ru.ts +191 -0
- package/src/tool/pngAJpg/i18n/sv.ts +191 -0
- package/src/tool/pngAJpg/i18n/tr.ts +191 -0
- package/src/tool/pngAJpg/i18n/zh.ts +191 -0
- package/src/tool/pngAJpg/index.ts +13 -1
- package/src/tool/pngAWebp/i18n/de.ts +182 -0
- package/src/tool/pngAWebp/i18n/en.ts +2 -12
- package/src/tool/pngAWebp/i18n/es.ts +2 -12
- package/src/tool/pngAWebp/i18n/fr.ts +2 -12
- package/src/tool/pngAWebp/i18n/id.ts +182 -0
- package/src/tool/pngAWebp/i18n/it.ts +182 -0
- package/src/tool/pngAWebp/i18n/ja.ts +182 -0
- package/src/tool/pngAWebp/i18n/ko.ts +182 -0
- package/src/tool/pngAWebp/i18n/nl.ts +182 -0
- package/src/tool/pngAWebp/i18n/pl.ts +182 -0
- package/src/tool/pngAWebp/i18n/pt.ts +182 -0
- package/src/tool/pngAWebp/i18n/ru.ts +182 -0
- package/src/tool/pngAWebp/i18n/sv.ts +182 -0
- package/src/tool/pngAWebp/i18n/tr.ts +182 -0
- package/src/tool/pngAWebp/i18n/zh.ts +182 -0
- package/src/tool/pngAWebp/index.ts +12 -0
- package/src/tool/svgAJpg/i18n/de.ts +178 -0
- package/src/tool/svgAJpg/i18n/en.ts +8 -13
- package/src/tool/svgAJpg/i18n/es.ts +8 -13
- package/src/tool/svgAJpg/i18n/fr.ts +2 -12
- package/src/tool/svgAJpg/i18n/id.ts +178 -0
- package/src/tool/svgAJpg/i18n/it.ts +178 -0
- package/src/tool/svgAJpg/i18n/ja.ts +178 -0
- package/src/tool/svgAJpg/i18n/ko.ts +178 -0
- package/src/tool/svgAJpg/i18n/nl.ts +178 -0
- package/src/tool/svgAJpg/i18n/pl.ts +178 -0
- package/src/tool/svgAJpg/i18n/pt.ts +178 -0
- package/src/tool/svgAJpg/i18n/ru.ts +178 -0
- package/src/tool/svgAJpg/i18n/sv.ts +178 -0
- package/src/tool/svgAJpg/i18n/tr.ts +178 -0
- package/src/tool/svgAJpg/i18n/zh.ts +178 -0
- package/src/tool/svgAJpg/index.ts +12 -0
- package/src/tool/svgAPng/i18n/de.ts +178 -0
- package/src/tool/svgAPng/i18n/en.ts +8 -13
- package/src/tool/svgAPng/i18n/es.ts +31 -36
- package/src/tool/svgAPng/i18n/fr.ts +2 -12
- package/src/tool/svgAPng/i18n/id.ts +178 -0
- package/src/tool/svgAPng/i18n/it.ts +178 -0
- package/src/tool/svgAPng/i18n/ja.ts +178 -0
- package/src/tool/svgAPng/i18n/ko.ts +178 -0
- package/src/tool/svgAPng/i18n/nl.ts +178 -0
- package/src/tool/svgAPng/i18n/pl.ts +178 -0
- package/src/tool/svgAPng/i18n/pt.ts +178 -0
- package/src/tool/svgAPng/i18n/ru.ts +178 -0
- package/src/tool/svgAPng/i18n/sv.ts +178 -0
- package/src/tool/svgAPng/i18n/tr.ts +178 -0
- package/src/tool/svgAPng/i18n/zh.ts +178 -0
- package/src/tool/svgAPng/index.ts +12 -0
- package/src/tool/webpAIco/i18n/de.ts +183 -0
- package/src/tool/webpAIco/i18n/en.ts +8 -13
- package/src/tool/webpAIco/i18n/es.ts +9 -14
- package/src/tool/webpAIco/i18n/fr.ts +11 -16
- package/src/tool/webpAIco/i18n/id.ts +183 -0
- package/src/tool/webpAIco/i18n/it.ts +183 -0
- package/src/tool/webpAIco/i18n/ja.ts +183 -0
- package/src/tool/webpAIco/i18n/ko.ts +183 -0
- package/src/tool/webpAIco/i18n/nl.ts +183 -0
- package/src/tool/webpAIco/i18n/pl.ts +183 -0
- package/src/tool/webpAIco/i18n/pt.ts +183 -0
- package/src/tool/webpAIco/i18n/ru.ts +183 -0
- package/src/tool/webpAIco/i18n/sv.ts +183 -0
- package/src/tool/webpAIco/i18n/tr.ts +183 -0
- package/src/tool/webpAIco/i18n/zh.ts +183 -0
- package/src/tool/webpAIco/index.ts +12 -0
- package/src/tool/webpAJpg/i18n/de.ts +187 -0
- package/src/tool/webpAJpg/i18n/en.ts +9 -13
- package/src/tool/webpAJpg/i18n/es.ts +37 -42
- package/src/tool/webpAJpg/i18n/fr.ts +35 -40
- package/src/tool/webpAJpg/i18n/id.ts +182 -0
- package/src/tool/webpAJpg/i18n/it.ts +182 -0
- package/src/tool/webpAJpg/i18n/ja.ts +182 -0
- package/src/tool/webpAJpg/i18n/ko.ts +182 -0
- package/src/tool/webpAJpg/i18n/nl.ts +182 -0
- package/src/tool/webpAJpg/i18n/pl.ts +182 -0
- package/src/tool/webpAJpg/i18n/pt.ts +182 -0
- package/src/tool/webpAJpg/i18n/ru.ts +182 -0
- package/src/tool/webpAJpg/i18n/sv.ts +182 -0
- package/src/tool/webpAJpg/i18n/tr.ts +182 -0
- package/src/tool/webpAJpg/i18n/zh.ts +182 -0
- package/src/tool/webpAJpg/index.ts +12 -0
- package/src/tool/webpAPng/i18n/de.ts +182 -0
- package/src/tool/webpAPng/i18n/en.ts +8 -13
- package/src/tool/webpAPng/i18n/es.ts +35 -40
- package/src/tool/webpAPng/i18n/fr.ts +2 -12
- package/src/tool/webpAPng/i18n/id.ts +182 -0
- package/src/tool/webpAPng/i18n/it.ts +182 -0
- package/src/tool/webpAPng/i18n/ja.ts +182 -0
- package/src/tool/webpAPng/i18n/ko.ts +182 -0
- package/src/tool/webpAPng/i18n/nl.ts +182 -0
- package/src/tool/webpAPng/i18n/pl.ts +182 -0
- package/src/tool/webpAPng/i18n/pt.ts +182 -0
- package/src/tool/webpAPng/i18n/ru.ts +182 -0
- package/src/tool/webpAPng/i18n/sv.ts +182 -0
- package/src/tool/webpAPng/i18n/tr.ts +182 -0
- package/src/tool/webpAPng/i18n/zh.ts +182 -0
- package/src/tool/webpAPng/index.ts +12 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import type { ImagenBase64LocaleContent } from '../index';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { ImageToBase64UI } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'goruntuden-base64-e-donusturucu';
|
|
6
|
+
const title = 'Görüntüden Base64\'e Online Dönüştürücü';
|
|
7
|
+
const description =
|
|
8
|
+
'Herhangi bir görüntüyü doğrudan tarayıcınızda Base64 koduna ve Data URI\'ye dönüştürün. Dosya yüklemesi yok. Ücretsiz, özel ve anında.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageToBase64UI = {
|
|
11
|
+
dragTitle: 'Görüntünüzü buraya sürükleyin',
|
|
12
|
+
dragSubtext: 'veya dosyalarınıza göz atmak için tıklayın',
|
|
13
|
+
formatBadge: 'JPG, PNG, WEBP, SVG, GIF destekler',
|
|
14
|
+
dataUriLabel: 'Data URI (CSS / HTML src="" için hazır)',
|
|
15
|
+
base64Label: 'Yalnızca Base64 (Düz kodlanmış metin)',
|
|
16
|
+
copyBtn: 'Kopyala',
|
|
17
|
+
dataUriPlaceholder: 'Data URI kodunu görmek için bir görüntü yükleyin...',
|
|
18
|
+
base64Placeholder: 'Saf Base64 kodunu görmek için bir görüntü yükleyin...',
|
|
19
|
+
toastMessage: 'Kod panoya kopyalandı!',
|
|
20
|
+
invalidImageAlert: 'Lütfen geçerli bir görüntü dosyası yükleyin.',
|
|
21
|
+
bibliographyTitle: 'Bibliyografik Referanslar',
|
|
22
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const faq: ImagenBase64LocaleContent['faq'] = [
|
|
26
|
+
{
|
|
27
|
+
question: 'Base64 nedir ve web geliştirmede ne için kullanılır?',
|
|
28
|
+
answer:
|
|
29
|
+
'Base64, ikili verileri bir ASCII metin dizisine dönüştüren bir kodlama sistemidir. Web geliştirmede, görüntüleri Data URI\'ler aracılığıyla doğrudan HTML veya CSS dosyalarına gömerek sunucuya yapılan HTTP isteklerinin sayısını azaltmak için kullanılır.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Görüntülerimi burada Base64\'e dönüştürmek güvenli mi?',
|
|
33
|
+
answer:
|
|
34
|
+
'Kesinlikle güvenli ve özel. Aracımız tarayıcınızda %100 yerel olarak çalışır. Görüntüleriniz asla harici bir sunucuya yüklenmez veya işlenmez.',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Base64 dönüştürücü hangi görüntü formatlarını destekler?',
|
|
38
|
+
answer:
|
|
39
|
+
'Araç JPG, PNG, GIF, WebP ve hatta SVG vektör dosyalarıyla uyumludur. Görüntü yüklendiğinde, tam Data URI kodunu oluşturmak için MIME türünü otomatik olarak algılar.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
question: 'Base64 görüntüleri ne zaman kullanmamalıyım?',
|
|
43
|
+
answer:
|
|
44
|
+
'Büyük fotoğraflar veya yüksek çözünürlüklü görüntüler için Base64 görüntüleri kullanmaktan kaçınmalısınız. Base64 kodu, orijinal ikili dosyadan yaklaşık %33 daha fazla yer kaplar ve bu da CSS stil sayfalarınızı veya HTML belgelerinizi aşırı derecede şişirebilir.',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const howTo: ImagenBase64LocaleContent['howTo'] = [
|
|
49
|
+
{
|
|
50
|
+
name: 'Görüntünüzü Sürükleyin veya Seçin',
|
|
51
|
+
text: 'Dönüştürmeyi başlatmak için herhangi bir görüntüyü (JPG, PNG, WebP, SVG, GIF) yükleme alanına taşıyın.',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'Oluşturulan Kodu Kopyalayın',
|
|
55
|
+
text: 'İki metin alanı göreceksiniz: tam Data URI (src="" veya CSS\'de kullanıma hazır) ve diğer kullanımlar için saf Base64.',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'Kodu Projenizde Kullanın',
|
|
59
|
+
text: 'Data URI\'yi, harici dosyalara ihtiyaç duymadan bir img etiketinin src\'sine veya CSS\'nize background-image olarak doğrudan yapıştırın.',
|
|
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: 'Görüntüden Base64\'e Dönüştürücü: HTTP İstekleri Olmadan Görüntüleri Gömün',
|
|
78
|
+
level: 2,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'Base64, bir görüntü gibi ikili verileri saf bir ASCII metin dizisine dönüştüren bir kodlama tekniğidir. Sonuç bir Data URI\'dir: <code>data:image/png;base64,...</code> ile başlayan ve kodlanmış görüntünün tamamını içeren bağımsız bir URL. Bu kodu doğrudan HTML, CSS veya JSON\'unuza gömerek, görüntü sunucuya ek bir HTTP isteği olmadan yüklenir; sıfır ağ gecikmesi, anında yükleme.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'title',
|
|
86
|
+
text: 'Base64 görüntüleri ne zaman kullanılır',
|
|
87
|
+
level: 3,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: 'paragraph',
|
|
91
|
+
html: 'Base64 lehine en büyük argüman, ağ isteklerinin ortadan kaldırılmasıdır. Bir web sayfasındaki her görüntü, bağlantı, DNS, TLS anlaşması ve gecikme yüküyle birlikte bir HTTP isteği anlamına gelir. Çok küçük kritik görüntüler (ana uygulama logosu, favicon, bir kullanıcı arayüzü simgesi) için bunları CSS veya HTML\'de Base64 olarak gömmek bu maliyeti ortadan kaldırır ve tarayıcı henüz hiçbir şeyi önbelleğe almadan önce anında görüntülenmelerini garanti eder.',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'paragraph',
|
|
95
|
+
html: 'Bu teknik, JavaScript ve CSS paketinin derleme zamanında oluşturulduğu SPA (Tek Sayfalı Uygulama) uygulamalarında özellikle güçlüdür: küçük görüntüleri pakete gömmek, ek istekler olmadan kodla birlikte yüklenmelerini garanti eder. Ayrıca, posta istemcilerinin harici görüntüleri engellediği ancak gömülü Data URI\'leri neredeyse her zaman görüntülediği HTML e-postaları için de vazgeçilmezdir.',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'Base64 görüntüleri için kullanım durumları',
|
|
100
|
+
level: 3,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'list',
|
|
104
|
+
icon: 'mdi:check-circle',
|
|
105
|
+
items: [
|
|
106
|
+
'HTML satır içi: Kritik simgeler için <code><img src="data:image/png;base64,..."></code>.',
|
|
107
|
+
'CSS arka planı: Kullanıcı arayüzü SVG\'leri için <code>background-image: url("data:image/svg+xml;base64,...")</code>.',
|
|
108
|
+
'JSON ve REST API\'ler: Görüntüleri JSON yüklerinde metin verisi olarak gönderin.',
|
|
109
|
+
'HTML e-postaları: İstemci harici URL\'leri engellediğinde bile görüntülenen gömülü görüntüler.',
|
|
110
|
+
'SVG gömme: Raster görüntüleri satır içi veri olarak SVG dosyalarının içine gömün.',
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'title',
|
|
115
|
+
text: 'Dönüşüm tarayıcıda nasıl çalışır',
|
|
116
|
+
level: 3,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
type: 'paragraph',
|
|
120
|
+
html: 'Bir görüntü seçtiğinizde veya sürüklediğinizde, tarayıcının <code>FileReader</code> API\'si görüntüyü doğrudan diskten RAM\'deki ikili veriler olarak okur. <code>readAsDataURL()</code> yöntemi, bu ikili baytları RFC 4648 algoritmasını kullanarak Base64 gösterimlerine dönüştürür; orijinal verilerin her 3 baytı Base64 alfabesinden 4 ASCII karakteri olarak temsil edilir. Sonuç, otomatik olarak algılanan doğru MIME türünü içerir.',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'tip',
|
|
124
|
+
title: 'Yalnızca küçük görüntüler için kullanın (10 KB\'ın altında)',
|
|
125
|
+
html: 'Base64 dosya boyutunu yaklaşık %33 artırır: 10 KB\'lık bir görüntü ~13,3 KB mtn haline gelir. Küçük simgeler ve logolar için bu maliyet minimumdur ve HTTP isteğinin ortadan kaldırılması bunu telafi eder. Fotoğraflar veya büyük görüntüler için boyut yükü önemlidir; büyük görüntüler için her zaman bir CDN kullanın.',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'Base64 ne zaman KULLANILMAZ',
|
|
130
|
+
level: 3,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'tip',
|
|
134
|
+
title: 'Büyük görüntüler için Base64\'ten kaçının — bunun yerine bir CDN kullanın',
|
|
135
|
+
html: '10-20 KB\'tan daha büyük görüntüleriniz varsa, Base64 performansa zarar verir: HTML/CSS boyutunu şişirir, tarayıcının görüntüyü bağımsız olarak önbelleğe almasını engeller ve ayrıştırıcı devasa dizeyi işlerken oluşturmayı engeller. Büyük görüntüler için her zaman uygun önbellek başlıklarına sahip bir CDN\'den sunun.',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'title',
|
|
139
|
+
text: 'Uyumluluk ve gizlilik',
|
|
140
|
+
level: 3,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'paragraph',
|
|
144
|
+
html: 'Data URI\'ler, modern tarayıcıların %100\'ü ve çoğu e-posta istemcisiyle uyumludur. Aracımız her şeyi FileReader API aracılığıyla yerel olarak işler; görüntüleriniz asla cihazınızdan ayrılmaz. Bu, kurumsal görüntüler, özel ekran görüntüleri veya Base64\'e dönüştürmeniz gereken herhangi bir gizli görsel içerik için uygun hale getirir.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 'title',
|
|
148
|
+
text: 'Sonuç: En hızlı ve en özel gömme aracı',
|
|
149
|
+
level: 3,
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: 'Görüntüleri Base64\'e dönüştürmek, doğru uygulandığında hedeflenen ancak çok güçlü bir tekniktir. Sıfır HTTP isteğinin fark yarattığı küçük, kritik görüntüler için kullanın ve bir CDN\'nin her zaman kazandığı büyük görüntüler için bundan kaçının. Aracımızla, herhangi bir sunucuya hiçbir şey yüklemeden anında Data URI alırsınız.',
|
|
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: 'tr', 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 = 'image-to-base64-converter';
|
|
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,它在 Web 开发中有什么用途?',
|
|
28
|
+
answer:
|
|
29
|
+
'Base64 是一种将二进制数据转换为 ASCII 文本字符串的编码系统。在 Web 开发中, 它用于通过 Data URI 直接在 HTML 或 CSS 文件中嵌入图片, 从而减少对服务器的 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 粘贴到 img 标签的 src 中或 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 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: '图片转 Base64 转换器: 无需 HTTP 请求即可嵌入图片',
|
|
78
|
+
level: 2,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'Base64 是一种编码技术, 它将二进制数据 (如图片) 转换为纯 ASCII 文本字符串。结果是一个 Data URI: 一个以 <code>data:image/png;base64,...</code> 开头的自包含 URL, 包含整个编码后的图片。通过将此代码直接嵌入 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 握手和延迟的开销。对于非常小的关键图片——主应用程序图标、favicon、UI 图标——在 CSS 或 HTML 中以 Base64 嵌入可以消除该成本, 并保证它们即使在浏览器缓存任何内容之前也能立即显示。',
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'paragraph',
|
|
95
|
+
html: '这种技术在 SPA (单页面应用程序) 中尤其强大, 其中 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 内联: 关键图标使用 <code><img src="data:image/png;base64,..."></code>。',
|
|
107
|
+
'CSS 背景: UI SVG 使用 <code>background-image: url("data:image/svg+xml;base64,...")</code>。',
|
|
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: '当您选择或拖动图片时, 浏览器的 <code>FileReader</code> API 直接从磁盘读取图片作为 RAM 中的二进制数据。 <code>readAsDataURL()</code> 方法使用 RFC 4648 算法将这些二进制字节转换为其 Base64 表示形式——原始数据的每 3 个字节表示为 Base64 字母表中的 4 个 ASCII 字符。结果包含自动检测到的正确 MIME 类型。',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'tip',
|
|
124
|
+
title: '仅对小图片使用 (10 KB 以下)',
|
|
125
|
+
html: 'Base64 会使文件大小增加约 33%: 10 KB 的图片变成约 13.3 KB 的文本。对于小图标和徽标, 此成本很小, 而消除 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 KB, Base64 会损害性能: 它会使 HTML/CSS 大小膨胀, 阻止浏览器独立缓存图片, 并在解析器处理巨型字符串时阻塞渲染。对于大图片, 请务必使用带有适当缓存头的 CDN 服务。',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'title',
|
|
139
|
+
text: '兼容性和私密性',
|
|
140
|
+
level: 3,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'paragraph',
|
|
144
|
+
html: 'Data URI 兼容 100% 的现代浏览器和大多数电子邮件客户端。我们的工具通过 FileReader API 在本地处理所有内容——您的图片绝不会离开您的设备。这使其适用于公司内部图片、私人截图或您需要转换为 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: 'zh', faq, howTo }),
|
|
168
|
+
};
|
|
@@ -30,6 +30,18 @@ export const imagenBase64: ConvertersToolEntry<ImageToBase64UI> = {
|
|
|
30
30
|
es: () => import('./i18n/es').then((m) => m.content),
|
|
31
31
|
en: () => import('./i18n/en').then((m) => m.content),
|
|
32
32
|
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
33
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
34
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
35
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
36
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
37
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
38
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
39
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
40
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
41
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
42
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
43
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
44
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
33
45
|
},
|
|
34
46
|
};
|
|
35
47
|
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { JpgAIcoLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'jpg-zu-ico-konverter';
|
|
6
|
+
const title = 'JPG zu ICO Konverter';
|
|
7
|
+
const description =
|
|
8
|
+
'Konvertieren Sie JPG-Fotos in ICO mit echten Microsoft-Binär-Headern. Automatischer quadratischer Zuschnitt. Keine Dateiuploads. Kostenlos und privat.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'JPG-Dateien hierher ziehen...',
|
|
12
|
+
convertText: 'Um sie sofort in ICO zu konvertieren',
|
|
13
|
+
selectFiles: 'Dateien auswählen',
|
|
14
|
+
processedFiles: 'Verarbeitete Dateien',
|
|
15
|
+
downloadAll: 'Alles herunterladen (.zip)',
|
|
16
|
+
pending: 'Ausstehend',
|
|
17
|
+
bibliographyTitle: 'Literaturhinweise',
|
|
18
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: JpgAIcoLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Ist die resultierende ICO-Datei nativ kompatibel, um Windows Ordner anzupassen?',
|
|
24
|
+
answer:
|
|
25
|
+
'Ja, wir erstellen eine zu 100 % authentische Datei im Microsoft-Icon-Format, indem wir einen standardisierten Binär-Header auf niedriger Ebene in die Bildmatrix einfügen.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Was passiert mit dem Seitenverhältnis, wenn mein Original-JPG ein Panoramafoto ist?',
|
|
29
|
+
answer:
|
|
30
|
+
'Der starre globale ICO-Standard erfordert zwingend ein perfekt quadratisches Bild. Unsere HTML5 JS Engine wird Ihr Foto zentrieren und den Überschuss abschneiden, um ein ausgewogenes Ergebnis zu garantieren.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Ist es gefährlich, Firmenlogos oder persönliche JPGs in den Konverter hochzuladen?',
|
|
34
|
+
answer:
|
|
35
|
+
'Die Canvas-Engine in JavaScript arbeitet in Ihrem eigenen Browser. Das Konvertieren von Hunderten von Fotos in ICO sendet kein einziges Megabyte an eine Cloud in fragwürdigen Ländern.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: JpgAIcoLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Original-JPG-Fotos sammeln',
|
|
42
|
+
text: 'Suchen und sammeln Sie die herkömmlichen Fotos und legen Sie sie durch Ablegen in unserem quadratischen Bereich ab.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Erleben Sie die hexadezimale Reinigung',
|
|
46
|
+
text: 'Die Neu-Kodierung fügt nativ und schnell Metadaten und Header asynchron ein und generiert ein striktes, reines Icon im Speicher.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Mehrere ZIP-Designs zusammenstellen',
|
|
50
|
+
text: 'Schließen Sie die Arbeit ab, indem Sie alles massenweise in einem kompakten Paket in nur wenigen Sekunden herunterladen.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: JpgAIcoLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'ICO Ikonografische Struktur und Systemnutzung',
|
|
57
|
+
url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'JPEG.org Standards',
|
|
61
|
+
url: 'https://jpeg.org/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: JpgAIcoLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'JPG zu ICO Konverter: Erstellen Sie Favicons und Windows Icons aus Ihren Fotos',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: 'Das <strong>ICO</strong>-Format ist der Microsoft-Standard für Symbole in Windows-Anwendungen und Favicons von Websites. Im Gegensatz zum einfachen Umbenennen eines JPG in .ico erfordert eine echte ICO-Datei eine spezifische binäre Struktur mit 22-Byte-Headern und einem eingebetteten Bildverzeichnis. <strong>JPG</strong> ist der am häufigsten gewählte Ausgangspunkt für die Erstellung dieser Icons – ein Firmenlogo, ein Profilfoto oder jedes Bild, das Sie zum visuellen Erkennungsmerkmal Ihrer Anwendung oder Website machen möchten.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'JPG oder ICO? Wann welches Format zu verwenden ist',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: '<strong>JPG</strong> ist ein Quellformat, kein Zielformat für Symbole. Es eignet sich hervorragend für Fotografien und Banner, ist jedoch inkompatibel mit Systemen, die Icons erfordern: Windows Explorer, die Lesezeichenleiste des Browsers, Desktop-Verknüpfungen oder PWA-Anwendungsmanifeste. Ein Betriebssystem oder Browser, der nach einem Icon sucht, erwartet das ICO-Format – und wenn es dieses nicht findet, wird ein generisches Symbol oder ein fehlerhaftes Quadrat angezeigt.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'Das <strong>ICO</strong>-Format wurde entwickelt, um mehrere Auflösungen in einer einzigen Datei zu speichern: <strong>16×16</strong> für die Lesezeichenleiste, <strong>32×32</strong> für Verknüpfungen, <strong>48×48</strong> für den Datei-Explorer und <strong>256×256</strong> für hochauflösende Displays. Browser und Betriebssysteme wählen automatisch die passende Auflösung basierend auf dem Anzeigekontext aus – der Benutzer muss nichts weiter tun.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Vergleich: Lokale vs Cloud Konvertierung',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Cloud Konverter',
|
|
98
|
+
description: 'Tools, die Ihre Dateien auf einen Remote-Server hochladen.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Netzwerklatenz beim Hoch- und Herunterladen',
|
|
103
|
+
'Ihre Firmenlogos werden auf Servern von Drittanbietern gespeichert',
|
|
104
|
+
'Dateigrößenlimits und tägliche Konvertierungsbeschränkungen',
|
|
105
|
+
'Aufdringliche Werbung und Drittanbieter-Tracker',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Unsere lokale Architektur',
|
|
110
|
+
description: 'Direkte Verarbeitung auf Ihrer Hardware mittels Vanilla JS-Technologie.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Sofortige Geschwindigkeit – keine Netzwerklatenz',
|
|
115
|
+
'Vollständige Privatsphäre – 0 Byte werden extern gesendet',
|
|
116
|
+
'Keine Megabyte-Limits oder Dateianzahlbeschränkungen',
|
|
117
|
+
'Saubere Benutzeroberfläche, keine Werbung oder Tracking',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Wie es technisch funktioniert',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'Das JPG wird dekodiert und auf ein im Speicher befindliches <strong>HTML5 Canvas</strong> gezeichnet. Da das ICO-Format ein quadratisches Bild erfordert, erkennt die Engine automatisch, ob das JPG rechteckig ist, und schneidet es zu, indem sie den relevantesten Teil zentriert. Anschließend wird der Standard-Microsoft-ICO-Header mit der korrekten Magic Number (<code>00 00 01 00</code>), dem Bildverzeichnis und den kodierten Pixeldaten erstellt. Das Ergebnis ist eine echte binäre .ico-Datei – kein umbenanntes PNG.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Da JPG kein Alpha-Kanal besitzt, wird das resultierende ICO ebenfalls keine Transparenz aufweisen – es wird einen soliden Hintergrund haben, der vom Originalfoto übernommen wurde. Wenn Sie ein Favicon mit transparentem Hintergrund benötigen (zum Beispiel zur Anpassung an dunkle oder helle Lesezeichenleisten), ist der empfohlene Arbeitsablauf: Hintergrund in einem Editor entfernen, als PNG speichern und den PNG zu ICO Konverter verwenden.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Tipp: Mehrere Auflösungen in einer einzigen ICO Datei',
|
|
138
|
+
html: 'ICO-Dateien können <strong>mehrere Auflösungen</strong> in einer einzigen Datei packen – der Browser oder das Betriebssystem wählt automatisch die passendste für den jeweiligen Kontext aus. Für das bestmögliche Ergebnis verwenden Sie ein quadratisches JPG mit mindestens <strong>256×256 Pixeln</strong> als Quelle: Dies gibt dem Konverter genügend Informationen, um scharfe 16×16, 32×32 und 48×48 Größen ohne Verpixelung zu generieren.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Anwendungsfälle und Kompatibilität',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Website-Favicon: Kompatibel mit allen Browsern, einschließlich Internet Explorer.',
|
|
150
|
+
'Anpassung von Ordnern und Desktop-Icons in Windows 10/11.',
|
|
151
|
+
'Verknüpfungssymbol für Desktop-Anwendungen oder Installer.',
|
|
152
|
+
'Anwendungssymbol für Electron-Projekte oder PWA-Anwendungen.',
|
|
153
|
+
'Icons für Dateiverwaltungssysteme und Firmen-Explorer.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Fazit',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'Die Konvertierung von JPG in ICO ist ein technisch wesentlicher Schritt für jedes Web- oder Desktop-Projekt, das eine erkennbare visuelle Identität benötigt. Dieses Tool generiert authentische ICOs mit der korrekten binären Struktur in Sekunden, ohne Ihr Logo auf einen externen Server hochzuladen. Das Ergebnis funktioniert in allen Browsern, im Windows Explorer und in jedem System, das den Microsoft ICO-Standard nutzt.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
export const content: JpgAIcoLocaleContent = {
|
|
168
|
+
slug,
|
|
169
|
+
title,
|
|
170
|
+
description,
|
|
171
|
+
ui,
|
|
172
|
+
seo,
|
|
173
|
+
faq,
|
|
174
|
+
bibliography,
|
|
175
|
+
howTo,
|
|
176
|
+
schemas: generateSchemas({
|
|
177
|
+
title,
|
|
178
|
+
description,
|
|
179
|
+
inLanguage: 'de',
|
|
180
|
+
faq,
|
|
181
|
+
howTo,
|
|
182
|
+
}),
|
|
183
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
1
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
3
|
import type { JpgAIcoLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'jpg-to-ico-converter';
|
|
@@ -164,17 +164,6 @@ const seo: JpgAIcoLocaleContent['seo'] = [
|
|
|
164
164
|
},
|
|
165
165
|
];
|
|
166
166
|
|
|
167
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
168
|
-
'@context': 'https://schema.org',
|
|
169
|
-
'@type': 'SoftwareApplication',
|
|
170
|
-
name: title,
|
|
171
|
-
description,
|
|
172
|
-
applicationCategory: 'UtilitiesApplication',
|
|
173
|
-
operatingSystem: 'Web',
|
|
174
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
-
inLanguage: 'en',
|
|
176
|
-
};
|
|
177
|
-
|
|
178
167
|
export const content: JpgAIcoLocaleContent = {
|
|
179
168
|
slug,
|
|
180
169
|
title,
|
|
@@ -184,5 +173,11 @@ export const content: JpgAIcoLocaleContent = {
|
|
|
184
173
|
faq,
|
|
185
174
|
bibliography,
|
|
186
175
|
howTo,
|
|
187
|
-
schemas:
|
|
176
|
+
schemas: generateSchemas({
|
|
177
|
+
title,
|
|
178
|
+
description,
|
|
179
|
+
inLanguage: 'en',
|
|
180
|
+
faq,
|
|
181
|
+
howTo,
|
|
182
|
+
}),
|
|
188
183
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
1
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
3
|
import type { JpgAIcoLocaleContent } from '../index';
|
|
4
4
|
|
|
5
5
|
const slug = 'convertidor-jpg-a-ico';
|
|
@@ -126,16 +126,16 @@ const seo: JpgAIcoLocaleContent['seo'] = [
|
|
|
126
126
|
},
|
|
127
127
|
{
|
|
128
128
|
type: 'paragraph',
|
|
129
|
-
html: 'El JPG se decodifica y se dibuja en un <strong>Canvas HTML5</strong> en memoria. Como el formato ICO exige imagen cuadrada, el motor detecta automáticamente si el JPG es rectangular
|
|
129
|
+
html: 'El JPG se decodifica y se dibuja en un <strong>Canvas HTML5</strong> en memoria. Como el formato ICO exige imagen cuadrada, el motor detecta automáticamente si el JPG es rectangular und lo recorta centrando la parte más relevante. A continuación, construye la cabecera ICO estándar de Microsoft con el número mágico correcto (<code>00 00 01 00</code>), el directorio de imágenes und los datos de píxeles codificados. El resultado es un archivo .ico binario genuino, no un PNG renombrado.',
|
|
130
130
|
},
|
|
131
131
|
{
|
|
132
132
|
type: 'paragraph',
|
|
133
|
-
html: 'Dado que el JPG carece de canal alfa, el ICO resultante tampoco tendrá transparencia — tendrá un fondo sólido heredado de la fotografía original. Si necesitas un favicon con fondo transparente (por ejemplo, para que se adapte a barras de favoritos oscuras o claras), el flujo recomendado es: elimina el fondo en un editor, guarda como PNG
|
|
133
|
+
html: 'Dado que el JPG carece de canal alfa, el ICO resultante tampoco tendrá transparencia — tendrá un fondo sólido heredado de la fotografía original. Si necesitas un favicon con fondo transparente (por ejemplo, para que se adapte a barras de favoritos oscuras o claras), el flujo recomendado es: elimina el fondo en un editor, guarda como PNG und usa el convertidor de PNG a ICO.',
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
136
|
type: 'tip',
|
|
137
137
|
title: 'Consejo: resoluciones múltiples en un solo ICO',
|
|
138
|
-
html: 'Los archivos ICO pueden empaquetar <strong>varias resoluciones</strong> en un único fichero — el navegador o el sistema operativo elige automáticamente la más adecuada según el contexto. Para el mejor resultado posible, usa como fuente un JPG cuadrado de al menos <strong>256×256 píxeles</strong>: así el convertidor tendrá suficiente información para generar con nitidez los tamaños 16×16, 32×32
|
|
138
|
+
html: 'Los archivos ICO pueden empaquetar <strong>varias resoluciones</strong> en un único fichero — el navegador o el sistema operativo elige automáticamente la más adecuada según el contexto. Para el mejor resultado posible, usa como fuente un JPG cuadrado de al menos <strong>256×256 píxeles</strong>: así el convertidor tendrá suficiente información para generar con nitidez los tamaños 16×16, 32×32 und 48×48 sin pixelado.',
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
141
|
type: 'title',
|
|
@@ -150,7 +150,7 @@ const seo: JpgAIcoLocaleContent['seo'] = [
|
|
|
150
150
|
'Personalización de carpetas e iconos de escritorio en Windows 10/11.',
|
|
151
151
|
'Icono de acceso directo para aplicaciones de escritorio o instaladores.',
|
|
152
152
|
'Icono de aplicación para proyectos Electron o aplicaciones PWA.',
|
|
153
|
-
'Iconos para sistemas de gestión de archivos
|
|
153
|
+
'Iconos para sistemas de gestión de archivos und exploradores corporativos.',
|
|
154
154
|
],
|
|
155
155
|
},
|
|
156
156
|
{
|
|
@@ -160,21 +160,10 @@ const seo: JpgAIcoLocaleContent['seo'] = [
|
|
|
160
160
|
},
|
|
161
161
|
{
|
|
162
162
|
type: 'paragraph',
|
|
163
|
-
html: 'Convertir un JPG a ICO es un paso técnico imprescindible para cualquier proyecto web o de escritorio que necesite una identidad visual reconocible. Esta herramienta genera ICO auténticos con la estructura binaria correcta, en segundos, sin subir tu logo a ningún servidor externo. El resultado funciona en todos los navegadores, en Windows Explorer
|
|
163
|
+
html: 'Convertir un JPG a ICO es un paso técnico imprescindible para cualquier proyecto web o de escritorio que necesite una identidad visual reconocible. Esta herramienta genera ICO auténticos con la estructura binaria correcta, en segundos, sin subir tu logo a ningún servidor externo. El resultado funciona en todos los navegadores, en Windows Explorer und en cualquier sistema que consuma el estándar ICO de Microsoft.',
|
|
164
164
|
},
|
|
165
165
|
];
|
|
166
166
|
|
|
167
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
168
|
-
'@context': 'https://schema.org',
|
|
169
|
-
'@type': 'SoftwareApplication',
|
|
170
|
-
name: title,
|
|
171
|
-
description,
|
|
172
|
-
applicationCategory: 'UtilitiesApplication',
|
|
173
|
-
operatingSystem: 'Web',
|
|
174
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
-
inLanguage: 'es',
|
|
176
|
-
};
|
|
177
|
-
|
|
178
167
|
export const content: JpgAIcoLocaleContent = {
|
|
179
168
|
slug,
|
|
180
169
|
title,
|
|
@@ -184,5 +173,11 @@ export const content: JpgAIcoLocaleContent = {
|
|
|
184
173
|
faq,
|
|
185
174
|
bibliography,
|
|
186
175
|
howTo,
|
|
187
|
-
schemas:
|
|
176
|
+
schemas: generateSchemas({
|
|
177
|
+
title,
|
|
178
|
+
description,
|
|
179
|
+
inLanguage: 'es',
|
|
180
|
+
faq,
|
|
181
|
+
howTo,
|
|
182
|
+
}),
|
|
188
183
|
};
|