@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,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { SvgAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'konvertera-svg-till-jpg';
|
|
6
|
+
const title = 'Konvertera SVG till JPG Online och Gratis';
|
|
7
|
+
const description =
|
|
8
|
+
'Konvertera SVG-vektorfiler till JPG i din webbläsare. 2x högupplöst rendering. Inga filuppladdningar. Gratis och 100 % privat.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'Dra SVG-filer hit...',
|
|
12
|
+
convertText: 'För att konvertera dem till JPG direkt',
|
|
13
|
+
selectFiles: 'Välj filer',
|
|
14
|
+
processedFiles: 'Bearbetade filer',
|
|
15
|
+
downloadAll: 'Ladda ner alla (.zip)',
|
|
16
|
+
pending: 'Väntande',
|
|
17
|
+
bibliographyTitle: 'Bibliografiska Referenser',
|
|
18
|
+
faqTitle: 'Vanliga Frågor',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: SvgAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Varför konvertera SVG till JPG?',
|
|
24
|
+
answer:
|
|
25
|
+
'JPG erbjuder maximal kompatibilitet på alla typer av enheter; att konvertera SVG till JPG är det bästa sättet att säkerställa att alla kan se din design utan renderingsproblem.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Vad händer med SVG-transparensen?',
|
|
29
|
+
answer:
|
|
30
|
+
'Vid konvertering till JPG (som inte stöder transparens) kommer en ogenomskinlig vit bakgrund automatiskt att läggas till i din vektorkomposition.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Vilken upplösning kommer den resulterande JPG-filen att ha?',
|
|
34
|
+
answer:
|
|
35
|
+
'Verktyget renderar SVG:n i dubbel skala (2x) för att garantera en hög upplösning som är lämplig för Retina-skärmar och professionell användning.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: SvgAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Lägg till dina vektorfiler',
|
|
42
|
+
text: 'Släpp dina SVG-filer i det övre området för att förbereda exportlistan.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Rastring till JPG',
|
|
46
|
+
text: 'Verktyget kommer att omvandla vektorerna till högupplösta pixlar och generera din JPG-fil direkt.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Ladda ner resultaten',
|
|
50
|
+
text: 'Hämta dina JPG-filer en och en eller som ett ZIP-paket.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: SvgAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'W3C SVG-specifikation',
|
|
57
|
+
url: 'https://www.w3.org/TR/SVG/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Översikt över JPEG-standarden',
|
|
61
|
+
url: 'https://jpeg.org/jpeg/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: SvgAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'SVG till JPG-konverterare: Ta dina vektorer till valfri plattform',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: '<strong>SVG</strong>-formatet är det moderna webbens modersmål: lättviktigt, skalbart, redigerbart. Men det finns hela plattformar som helt enkelt inte förstår vektorer. Sociala medier, e-postklienter, Word-dokument, utskriftsapplikationer och den stora majoriteten av programvara i den verkliga världen arbetar med rastrerade bilder. <strong>JPG</strong> är den universella gemensamma nämnaren: accepterad överallt, utan undantag, inga insticksprogram och inga ytterligare konverteringar behövs.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'SVG vs JPG: När vektorn behöver bli ett foto',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'SVG lagrar bilden som matematiska instruktioner. Denna vektornatur gör den perfekt för webben men osynlig för den analoga världen och äldre programvara. En SVG-fil som skickas via e-post kan visas som obegriplig XML-text i mottagarens klient. En SVG som bifogas till ett Word-dokument kanske inte renderas alls i äldre versioner av Office.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPG konverterar varje bild till en pixelmatris med färginformation som komprimerats av JPEG-algoritmen. Eftersom det inte stöder en alfakanal slår konverteraren automatiskt ihop bakgrunden med solid vit färg. I gengäld får du en fil som kan öppnas på <em>vilken enhet som helst på planeten</em>: gamla mobiltelefoner, skrivare, smart-TV-apparater, redigeringsappar från tjugo år sedan. Det är formatet med den minsta gemensamma nämnaren, och i många sammanhang det mest värdefulla.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Jämförelse: Lokal vs Molnkonvertering',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Molnkonverterare',
|
|
98
|
+
description: 'Verktyg som laddar upp dina filer till en fjärrserver.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'Din SVG-kod (med skyddad designdata) skickas till externa servrar',
|
|
103
|
+
'Inkonsekvent rendering av teckensnitt och övertoningar',
|
|
104
|
+
'Internetanslutning krävs för varje konvertering',
|
|
105
|
+
'JPG-utdatakvalitet är inte alltid konfigurerbar',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Vår Lokala Arkitektur',
|
|
110
|
+
description: 'Direkt bearbetning på din hårdvara med Vanilla JS-teknik.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'Noll byte av din SVG lämnar webbläsaren',
|
|
115
|
+
'Trogen rendering med den infödda webbläsarmotorn',
|
|
116
|
+
'2x högupplöst JPG för maximal skärpa',
|
|
117
|
+
'Vit bakgrund tillämpas automatiskt enligt JPG-standard',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Hur det fungerar tekniskt',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'SVG-filen laddas in i ett <strong>Image</strong>-element i webbläsaren, som använder sin egen vektorrenderingsmotor för att tolka XML-filen. Det visuella resultatet ritas på ett <strong>HTML5 Canvas</strong> med en föregående vit bakgrundsfyllning (krävs eftersom JPG inte stöder transparens) i dubbel skala för att maximera utdataupplösningen.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'Metoden <code>toDataURL(\'image/jpeg\', 0.92)</code> omvandlar canvaspixlarna till en JPG-fil av hög kvalitet. SVG-färger kan uppleva små variationer på grund av färgrymdskonvertering vid JPEG-komprimering. Det är därför lämpligt att förhandsgranska resultatet innan du använder det i professionella utskriftsjobb där kromatisk trohet är avgörande.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Tips för användning i tryck',
|
|
138
|
+
html: 'SVG-bakgrunder och övertoningar kan se något annorlunda ut i JPG på grund av färgprofilskillnader vid JPEG-komprimering. Förhandsgranska alltid resultatet innan du skickar till en skrivare eller använder det i tryckt marknadsföringsmaterial där exakt färgåtergivning för varumärket är viktigt.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Användningsområden och kompatibilitet',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'Dela SVG-logotyper och illustrationer på Facebook, Twitter eller LinkedIn.',
|
|
150
|
+
'Bifoga vektorgrafik i e-postmeddelanden via Outlook eller Gmail.',
|
|
151
|
+
'Infoga SVG-design i Word-dokument, Excel eller presentationer.',
|
|
152
|
+
'Publicera produktbilder i onlinebutiker som inte stöder SVG.',
|
|
153
|
+
'Förbereda filer för print-on-demand-tjänster.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Slutsats',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'Den verkliga världen talar fortfarande i pixlar. Detta verktyg översätter dina SVG-vektorer till det universella språket JPG på några sekunder, med högupplöst rendering och utan att din skyddade design någonsin lämnar din webbläsare.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: SvgAJpgLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'sv', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { SvgAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'svg-den-jpg-ye-donusturucu';
|
|
6
|
+
const title = 'SVG\'yi JPG\'ye Çevrimiçi ve Ücretsiz Dönüştürün';
|
|
7
|
+
const description =
|
|
8
|
+
'SVG vektör dosyalarını tarayıcınızda JPG\'ye dönüştürün. 2 kat yüksek çözünürlüklü işleme. Dosya yüklemesi yok. Ücretsiz ve %100 özel.';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: 'SVG dosyalarını sürükleyin...',
|
|
12
|
+
convertText: 'Onları anında JPG\'ye dönüştürmek için',
|
|
13
|
+
selectFiles: 'Dosyaları seçin',
|
|
14
|
+
processedFiles: 'İşlenmiş dosyalar',
|
|
15
|
+
downloadAll: 'Tümünü İndir (.zip)',
|
|
16
|
+
pending: 'Bekliyor',
|
|
17
|
+
bibliographyTitle: 'Bibliyografik Referanslar',
|
|
18
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: SvgAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: 'Neden SVG\'yi JPG\'ye dönüştürmeliyiz?',
|
|
24
|
+
answer:
|
|
25
|
+
'JPG, her tür cihazda maksimum uyumluluk sunar; SVG\'yi JPG\'ye dönüştürmek, herkesin tasarımınızı işleme sorunu yaşamadan görüntüleyebilmesini sağlamanın en iyi yoludur.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'SVG şeffaflığına ne olur?',
|
|
29
|
+
answer:
|
|
30
|
+
'JPG\'ye (şeffaflığı desteklemez) dönüştürürken, vektör kompozisyonunuza otomatik olarak opak beyaz bir arka plan eklenecektir.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Sonuçta elde edilen JPG hangi çözünürlüğe sahip olacak?',
|
|
34
|
+
answer:
|
|
35
|
+
'Araç, Retina ekranlar ve profesyonel kullanım için uygun yüksek çözünürlüğü garanti etmek amacıyla SVG\'yi çift ölçekte (2 kat) işler.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: SvgAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Vektör dosyalarınızı yerleştirin',
|
|
42
|
+
text: 'Dışa aktarma listesini hazırlamak için SVG dosyalarınızı üst alana bırakın.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'JPG\'ye Rasterleştirme',
|
|
46
|
+
text: 'Araç, vektörleri yüksek çözünürlüklü piksellere dönüştürecek ve JPG\'nizi anında oluşturacaktır.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Sonuçları indirin',
|
|
50
|
+
text: 'JPG dosyalarınızı tek tek veya ZIP paketi olarak alın.',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: SvgAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'W3C SVG Özellikleri',
|
|
57
|
+
url: 'https://www.w3.org/TR/SVG/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'JPEG Standardına Genel Bakış',
|
|
61
|
+
url: 'https://jpeg.org/jpeg/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: SvgAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'SVG\'den JPG\'ye Dönüştürücü: Vektörlerinizi Her Platforma Taşıyın',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: '<strong>SVG</strong> formatı modern web\'in ana dilidir: hafif, ölçeklenebilir, düzenlenebilir. Ancak vektörleri anlayamayan koca platformlar var. Sosyal medya, e-posta istemcileri, Word belgeleri, baskı uygulamaları ve gerçek dünyadaki yazılımların büyük çoğunluğu rasterleştirilmiş görüntülerle çalışır. <strong>JPG</strong> evrensel ortak paydadır: istisnasız her yerde kabul edilir, eklenti gerektirmez ve ek dönüştürmeye ihtiyaç duymaz.',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'SVG mi JPG mi? Vektörün Fotoğrafa Dönüşmesi Gerektiğinde',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'SVG, görüntüyü matematiksel talimatlar olarak saklar. Bu vektör yapısı onu web için mükemmel kılar ancak analog dünya ve eski yazılımlar için görünmez yapar. E-posta ile gönderilen bir SVG dosyası, alıcının istemcisinde anlaşılmaz XML metni olarak görünebilir. Bir Word belgesine eklenen SVG, Office\'in eski sürümlerinde hiç işlenmeyebilir.',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPG, her görüntüyü JPEG algoritmasıyla sıkıştırılmış renk bilgisine sahip bir piksel matrisine dönüştürür. Alfa kanalını desteklemediği için dönüştürücü, arka planı otomatik olarak düz beyazla birleştirir. Buna karşılık, <em>gezegendeki her cihazda</em> açılabilen bir dosya elde edersiniz: eski cep telefonları, yazıcılar, akıllı TV\'ler, yirmi yıl öncesinin düzenleme uygulamaları. Bu, en küçük ortak payda formatıdır ve birçok bağlamda en değerlisidir.',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: 'Karşılaştırma: Yerel ve Bulut Dönüştürme',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: 'Bulut Dönüştürücüler',
|
|
98
|
+
description: 'Dosyalarınızı uzak bir sunucuya yükleyen araçlar.',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'SVG kodunuz (tescilli tasarım verileriyle birlikte) harici sunuculara gider',
|
|
103
|
+
'Yazı tiplerinin ve degradelerin tutarsız işlenmesi',
|
|
104
|
+
'Her dönüştürme için internet bağlantısı gerekir',
|
|
105
|
+
'JPG çıktı kalitesi her zaman yapılandırılamaz',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: 'Yerel Mimarimiz',
|
|
110
|
+
description: 'Vanilla JS teknolojisini kullanarak doğrudan donanımınızda işleme.',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'SVG\'nizin sıfır baytı tarayıcıdan ayrılır',
|
|
115
|
+
'Yerel tarayıcı motorunu kullanarak aslına sadık işleme',
|
|
116
|
+
'Maksimum netlik için 2 kat çözünürlüklü JPG',
|
|
117
|
+
'JPG standardına göre beyaz arka plan otomatik olarak uygulanır',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: 'Teknik Olarak Nasıl Çalışır',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'SVG dosyası tarayıcının <strong>Image</strong> öğesine yüklenir ve bu öğe XML\'i yorumlamak için kendi vektör işleme motorunu kullanır. Görsel sonuç, çıktı çözünürlüğünü maksimize etmek için çift ölçekte, önceden beyaz arka plan dolgusuyla (JPG şeffaflığı desteklemediği için gereklidir) bir <strong>HTML5 Canvas</strong> üzerine çizilir.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: '<code>toDataURL(\'image/jpeg\', 0.92)</code> yöntemi, tuval piksellerini yüksek kaliteli bir JPG dosyasına dönüştürür. SVG renkleri, JPEG sıkıştırmasındaki renk alanı dönüşümü nedeniyle hafif farklılıklar gösterebilir. Bu nedenle, renk doğruluğunun kritik olduğu profesyonel baskı işlerinde kullanmadan önce sonucu önizlemek tavsiye edilir.',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: 'Baskı kullanımı için ipucu',
|
|
138
|
+
html: 'SVG arka planları ve degradeleri, JPEG sıkıştırmasındaki renk profili farkları nedeniyle JPG\'de biraz farklı görünebilir. Bir yazıcıya göndermeden veya tam marka renk doğruluğunun önemli olduğu basılı pazarlama materyallerinde kullanmadan önce sonucu her zaman önizleyin.',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: 'Kullanım Durumları ve Uyumluluk',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'SVG logolarını ve illüstrasyonlarını Facebook, Twitter veya LinkedIn\'de paylaşma.',
|
|
150
|
+
'Outlook veya Gmail aracılığıyla e-postalara vektör grafikleri ekleme.',
|
|
151
|
+
'SVG tasarımlarını Word belgelerine, Excel\'e veya sunumlara yerleştirme.',
|
|
152
|
+
'SVG desteği olmayan çevrimiçi mağazalarda ürün görselleri yayınlama.',
|
|
153
|
+
'İsteğe bağlı baskı hizmetleri için dosyalar hazırlama.',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: 'Sonuç',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: 'Gerçek dünya hala piksellerle konuşuyor. Bu araç, SVG vektörlerinizi saniyeler içinde yüksek çözünürlüklü işlemeyle ve tescilli tasarımlarınız tarayıcınızdan hiç ayrılmadan evrensel JPG diline çevirir.',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: SvgAJpgLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'tr', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
|
+
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
|
+
import type { SvgAJpgLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'svg-to-jpg-converter';
|
|
6
|
+
const title = '在线免费将 SVG 转换为 JPG';
|
|
7
|
+
const description =
|
|
8
|
+
'在浏览器中将 SVG 矢量文件转换为 JPG。支持 2 倍高清渲染。无需上传文件。免费且 100% 私密。';
|
|
9
|
+
|
|
10
|
+
const ui: ImageConverterUI = {
|
|
11
|
+
dragText: '拖拽 SVG 文件...',
|
|
12
|
+
convertText: '立即将它们转换为 JPG',
|
|
13
|
+
selectFiles: '选择文件',
|
|
14
|
+
processedFiles: '已处理文件',
|
|
15
|
+
downloadAll: '下载全部 (.zip)',
|
|
16
|
+
pending: '等待中',
|
|
17
|
+
bibliographyTitle: '参考文献',
|
|
18
|
+
faqTitle: '常见问题',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const faq: SvgAJpgLocaleContent['faq'] = [
|
|
22
|
+
{
|
|
23
|
+
question: '为什么要将 SVG 转换为 JPG?',
|
|
24
|
+
answer:
|
|
25
|
+
'JPG 在所有类型的设备上都具有最大的兼容性;将 SVG 转换为 JPG 是确保每个人都能无障碍查看您的设计(而不出现渲染问题)的最佳方式。',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '转换后 SVG 的透明度会怎样?',
|
|
29
|
+
answer:
|
|
30
|
+
'由于 JPG 不支持透明度, 在转换为 JPG 时, 您的矢量作品将自动添加不透明的白色背景。',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: '生成的 JPG 分辨率是多少?',
|
|
34
|
+
answer:
|
|
35
|
+
'该工具以双倍缩放 (2x) 渲染 SVG, 以确保生成适合 Retina 屏幕和专业用途的高分辨率图像。',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howTo: SvgAJpgLocaleContent['howTo'] = [
|
|
40
|
+
{
|
|
41
|
+
name: '放入您的矢量文件',
|
|
42
|
+
text: '将您的 SVG 文件拖入上方区域, 以准备导出列表。',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: '栅格化为 JPG',
|
|
46
|
+
text: '该工具将矢量转换为高清像素, 并立即生成您的 JPG 文件。',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: '下载结果',
|
|
50
|
+
text: '您可以单独下载 JPG 文件, 也可以将其打包为 ZIP 下载。',
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
|
|
54
|
+
const bibliography: SvgAJpgLocaleContent['bibliography'] = [
|
|
55
|
+
{
|
|
56
|
+
name: 'W3C SVG 规范',
|
|
57
|
+
url: 'https://www.w3.org/TR/SVG/',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'JPEG 标准概述',
|
|
61
|
+
url: 'https://jpeg.org/jpeg/',
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
|
|
65
|
+
const seo: SvgAJpgLocaleContent['seo'] = [
|
|
66
|
+
{
|
|
67
|
+
type: 'title',
|
|
68
|
+
text: 'SVG 转 JPG 转换器: 让您的矢量图适配任何平台',
|
|
69
|
+
level: 2,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
type: 'paragraph',
|
|
73
|
+
html: '<strong>SVG</strong> 格式是现代 Web 的原生语言: 轻量、可缩放、可编辑。但仍有很多平台完全无法识别矢量图。社交媒体、邮件客户端、Word 文档、打印应用程序以及绝大多数现实世界的软件都使用栅格化图像。<strong>JPG</strong> 是通用的最大公约数: 它无处不在、无一例外, 无需插件, 也无需额外的二次转换。',
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'title',
|
|
77
|
+
text: 'SVG vs JPG: 当矢量图需要变成照片时',
|
|
78
|
+
level: 3,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'paragraph',
|
|
82
|
+
html: 'SVG 以数学指令的形式存储图像。这种矢量特性使其非常适合 Web 展现, 但对于模拟世界和旧版软件来说则是不可见的。通过邮件发送的 SVG 文件在接收方的客户端中可能显示为无法理解的 XML 文本。附加到 Word 文档的 SVG 在旧版 Office 中可能完全无法渲染。',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: 'paragraph',
|
|
86
|
+
html: 'JPG 将图像转换为像素矩阵, 并通过 JPEG 算法压缩颜色信息。由于它不支持 Alpha 通道, 转换器会自动将背景合并为纯白色。作为回报, 您将获得一个可以在 <em>地球上任何设备</em> 上打开的文件: 旧手机、打印机、智能电视、甚至是二十年前的编辑软件。它是兼容性最强的格式, 在许多环境下也是最有价值的格式。',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'title',
|
|
90
|
+
text: '对比: 本地转换 vs 云端转换',
|
|
91
|
+
level: 3,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
type: 'comparative',
|
|
95
|
+
items: [
|
|
96
|
+
{
|
|
97
|
+
title: '云端转换器',
|
|
98
|
+
description: '将您的文件上传到远程服务器的工具。',
|
|
99
|
+
icon: 'mdi:cloud-upload',
|
|
100
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
101
|
+
points: [
|
|
102
|
+
'您的 SVG 代码 (包含私有的设计数据) 会传输到外部服务器',
|
|
103
|
+
'字体和渐变色的渲染效果不统一',
|
|
104
|
+
'每次转换都需要互联网连接',
|
|
105
|
+
'输出的 JPG 质量并不总是可调',
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
title: '我们的本地架构',
|
|
110
|
+
description: '使用 Vanilla JS 技术直接在您的硬件上进行处理。',
|
|
111
|
+
icon: 'mdi:laptop-mac',
|
|
112
|
+
highlight: true,
|
|
113
|
+
points: [
|
|
114
|
+
'没有任何一个字节的 SVG 会离开您的浏览器',
|
|
115
|
+
'使用浏览器原生引擎进行精准渲染',
|
|
116
|
+
'输出 2 倍高清 JPG 以获得极致清晰度',
|
|
117
|
+
'按照 JPG 标准自动应用白色背景',
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'title',
|
|
124
|
+
text: '技术原理',
|
|
125
|
+
level: 3,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'paragraph',
|
|
129
|
+
html: 'SVG 文件被加载到浏览器的 <strong>Image</strong> 元素中, 该元素使用其内置的矢量渲染引擎来解析 XML。视觉结果被绘制到 <strong>HTML5 Canvas</strong> 上, 并预先填充白色背景 (这是必须的, 因为 JPG 不支持透明度), 同时以双倍缩放绘制以最大化输出分辨率。',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: '<code>toDataURL(\'image/jpeg\', 0.92)</code> 方法将画布像素转换为高质量的 JPG 文件。由于 JPEG 压缩过程中的色彩空间转换, SVG 的颜色可能会出现细微偏差。因此, 在用于对颜色保真度要求极高的专业印刷工作之前, 建议先预览结果。',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'tip',
|
|
137
|
+
title: '印刷用途提示',
|
|
138
|
+
html: '由于 JPEG 压缩时的颜色配置文件差异, SVG 的背景和渐变在 JPG 中看起来可能略有不同。在发送给印刷厂或用于印刷营销材料之前, 请务必先预览结果, 尤其是当品牌颜色的准确性至关重要时。',
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'title',
|
|
142
|
+
text: '应用场景与兼容性',
|
|
143
|
+
level: 3,
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'list',
|
|
147
|
+
icon: 'mdi:check-circle',
|
|
148
|
+
items: [
|
|
149
|
+
'在 Facebook、Twitter 或 LinkedIn 上分享 SVG 徽标和插图。',
|
|
150
|
+
'通过 Outlook 或 Gmail 在邮件中添加矢量图形附件。',
|
|
151
|
+
'将 SVG 设计插入 Word 文档、Excel 或演示文稿。',
|
|
152
|
+
'在不支持 SVG 的在线商店中发布产品图片。',
|
|
153
|
+
'为按需打印服务准备文件。',
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'title',
|
|
158
|
+
text: '总结',
|
|
159
|
+
level: 3,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'paragraph',
|
|
163
|
+
html: '现实世界仍然以像素为交流语言。此工具能在几秒钟内将您的 SVG 矢量图转换为通用的 JPG 语言, 提供高清渲染, 且您的设计数据永远不会离开浏览器。',
|
|
164
|
+
},
|
|
165
|
+
];
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
export const content: SvgAJpgLocaleContent = {
|
|
169
|
+
slug,
|
|
170
|
+
title,
|
|
171
|
+
description,
|
|
172
|
+
ui,
|
|
173
|
+
seo,
|
|
174
|
+
faq,
|
|
175
|
+
bibliography,
|
|
176
|
+
howTo,
|
|
177
|
+
schemas: generateSchemas({ title, description, inLanguage: 'zh', faq, howTo }),
|
|
178
|
+
};
|
|
@@ -16,6 +16,18 @@ export const svgAJpg: ConvertersToolEntry<ImageConverterUI> = {
|
|
|
16
16
|
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
17
|
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
18
|
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
19
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
20
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
21
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
22
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
23
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
24
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
25
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
26
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
27
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
28
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
29
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
30
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
19
31
|
},
|
|
20
32
|
};
|
|
21
33
|
|