@jjlmoya/utils-converters 1.16.0 → 1.19.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 +5 -3
- package/src/category/i18n/de.ts +1 -1
- package/src/category/i18n/fr.ts +9 -9
- package/src/category/i18n/ru.ts +1 -1
- package/src/category/i18n/sv.ts +1 -1
- package/src/data.ts +0 -21
- package/src/layouts/PreviewLayout.astro +2 -1
- package/src/pages/[locale]/[slug].astro +28 -12
- package/src/tests/diacritics_density.test.ts +118 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/pagespeed_best_practices.test.ts +198 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/seo_parity.test.ts +60 -0
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tool/avifAJpg/bibliography.ts +12 -0
- package/src/tool/avifAJpg/entry.ts +2 -0
- package/src/tool/avifAJpg/i18n/de.ts +2 -12
- 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 +11 -21
- package/src/tool/avifAJpg/i18n/id.ts +2 -12
- package/src/tool/avifAJpg/i18n/it.ts +2 -12
- package/src/tool/avifAJpg/i18n/ja.ts +1 -11
- package/src/tool/avifAJpg/i18n/ko.ts +1 -11
- package/src/tool/avifAJpg/i18n/nl.ts +2 -12
- package/src/tool/avifAJpg/i18n/pl.ts +2 -12
- package/src/tool/avifAJpg/i18n/pt.ts +2 -12
- package/src/tool/avifAJpg/i18n/ru.ts +7 -17
- package/src/tool/avifAJpg/i18n/sv.ts +2 -12
- package/src/tool/avifAJpg/i18n/tr.ts +1 -11
- package/src/tool/avifAJpg/i18n/zh.ts +4 -14
- package/src/tool/avifAJpg/seo.astro +2 -1
- package/src/tool/avifAPng/bibliography.ts +12 -0
- package/src/tool/avifAPng/entry.ts +2 -0
- package/src/tool/avifAPng/i18n/de.ts +4 -14
- package/src/tool/avifAPng/i18n/en.ts +4 -14
- package/src/tool/avifAPng/i18n/es.ts +4 -14
- package/src/tool/avifAPng/i18n/fr.ts +10 -20
- package/src/tool/avifAPng/i18n/id.ts +4 -14
- package/src/tool/avifAPng/i18n/it.ts +1 -11
- package/src/tool/avifAPng/i18n/ja.ts +1 -11
- package/src/tool/avifAPng/i18n/ko.ts +1 -11
- package/src/tool/avifAPng/i18n/nl.ts +4 -14
- package/src/tool/avifAPng/i18n/pl.ts +4 -14
- package/src/tool/avifAPng/i18n/pt.ts +4 -14
- package/src/tool/avifAPng/i18n/ru.ts +5 -15
- package/src/tool/avifAPng/i18n/sv.ts +4 -14
- package/src/tool/avifAPng/i18n/tr.ts +1 -11
- package/src/tool/avifAPng/i18n/zh.ts +3 -13
- package/src/tool/avifAPng/seo.astro +2 -1
- package/src/tool/avifAWebp/bibliography.ts +12 -0
- package/src/tool/avifAWebp/entry.ts +2 -0
- package/src/tool/avifAWebp/i18n/de.ts +6 -16
- package/src/tool/avifAWebp/i18n/en.ts +6 -16
- package/src/tool/avifAWebp/i18n/es.ts +6 -16
- package/src/tool/avifAWebp/i18n/fr.ts +13 -23
- package/src/tool/avifAWebp/i18n/id.ts +6 -16
- package/src/tool/avifAWebp/i18n/it.ts +1 -11
- package/src/tool/avifAWebp/i18n/ja.ts +1 -11
- package/src/tool/avifAWebp/i18n/ko.ts +2 -12
- package/src/tool/avifAWebp/i18n/nl.ts +6 -16
- package/src/tool/avifAWebp/i18n/pl.ts +6 -16
- package/src/tool/avifAWebp/i18n/pt.ts +6 -16
- package/src/tool/avifAWebp/i18n/ru.ts +7 -17
- package/src/tool/avifAWebp/i18n/sv.ts +6 -16
- package/src/tool/avifAWebp/i18n/tr.ts +2 -12
- package/src/tool/avifAWebp/i18n/zh.ts +6 -16
- package/src/tool/avifAWebp/seo.astro +2 -1
- package/src/tool/bmpAJpg/bibliography.ts +12 -0
- package/src/tool/bmpAJpg/entry.ts +2 -0
- package/src/tool/bmpAJpg/i18n/de.ts +1 -11
- package/src/tool/bmpAJpg/i18n/en.ts +1 -11
- package/src/tool/bmpAJpg/i18n/es.ts +1 -11
- package/src/tool/bmpAJpg/i18n/fr.ts +9 -19
- package/src/tool/bmpAJpg/i18n/id.ts +1 -11
- package/src/tool/bmpAJpg/i18n/it.ts +1 -11
- package/src/tool/bmpAJpg/i18n/ja.ts +1 -11
- package/src/tool/bmpAJpg/i18n/ko.ts +1 -11
- package/src/tool/bmpAJpg/i18n/nl.ts +1 -11
- package/src/tool/bmpAJpg/i18n/pl.ts +1 -11
- package/src/tool/bmpAJpg/i18n/pt.ts +1 -11
- package/src/tool/bmpAJpg/i18n/ru.ts +5 -15
- package/src/tool/bmpAJpg/i18n/sv.ts +1 -11
- package/src/tool/bmpAJpg/i18n/tr.ts +1 -11
- package/src/tool/bmpAJpg/i18n/zh.ts +1 -11
- package/src/tool/bmpAJpg/seo.astro +2 -1
- package/src/tool/bmpAPng/bibliography.ts +12 -0
- package/src/tool/bmpAPng/entry.ts +2 -0
- package/src/tool/bmpAPng/i18n/de.ts +2 -12
- package/src/tool/bmpAPng/i18n/en.ts +3 -13
- package/src/tool/bmpAPng/i18n/es.ts +2 -12
- package/src/tool/bmpAPng/i18n/fr.ts +12 -22
- package/src/tool/bmpAPng/i18n/id.ts +2 -12
- package/src/tool/bmpAPng/i18n/it.ts +2 -12
- package/src/tool/bmpAPng/i18n/ja.ts +1 -11
- package/src/tool/bmpAPng/i18n/ko.ts +1 -11
- package/src/tool/bmpAPng/i18n/nl.ts +2 -12
- package/src/tool/bmpAPng/i18n/pl.ts +2 -12
- package/src/tool/bmpAPng/i18n/pt.ts +2 -12
- package/src/tool/bmpAPng/i18n/ru.ts +9 -19
- package/src/tool/bmpAPng/i18n/sv.ts +2 -12
- package/src/tool/bmpAPng/i18n/tr.ts +1 -11
- package/src/tool/bmpAPng/i18n/zh.ts +1 -11
- package/src/tool/bmpAPng/seo.astro +2 -1
- package/src/tool/bmpAWebp/bibliography.ts +12 -0
- package/src/tool/bmpAWebp/entry.ts +2 -0
- package/src/tool/bmpAWebp/i18n/de.ts +8 -18
- package/src/tool/bmpAWebp/i18n/en.ts +8 -18
- package/src/tool/bmpAWebp/i18n/es.ts +8 -18
- package/src/tool/bmpAWebp/i18n/fr.ts +13 -23
- package/src/tool/bmpAWebp/i18n/id.ts +8 -18
- package/src/tool/bmpAWebp/i18n/it.ts +8 -18
- package/src/tool/bmpAWebp/i18n/ja.ts +7 -17
- package/src/tool/bmpAWebp/i18n/ko.ts +7 -17
- package/src/tool/bmpAWebp/i18n/nl.ts +8 -18
- package/src/tool/bmpAWebp/i18n/pl.ts +8 -18
- package/src/tool/bmpAWebp/i18n/pt.ts +8 -18
- package/src/tool/bmpAWebp/i18n/ru.ts +10 -20
- package/src/tool/bmpAWebp/i18n/sv.ts +8 -18
- package/src/tool/bmpAWebp/i18n/tr.ts +8 -18
- package/src/tool/bmpAWebp/i18n/zh.ts +8 -18
- package/src/tool/bmpAWebp/seo.astro +2 -1
- package/src/tool/gifAJpg/bibliography.ts +12 -0
- package/src/tool/gifAJpg/entry.ts +2 -0
- package/src/tool/gifAJpg/i18n/de.ts +1 -11
- package/src/tool/gifAJpg/i18n/en.ts +1 -11
- package/src/tool/gifAJpg/i18n/es.ts +1 -11
- package/src/tool/gifAJpg/i18n/fr.ts +9 -19
- package/src/tool/gifAJpg/i18n/id.ts +1 -11
- package/src/tool/gifAJpg/i18n/it.ts +1 -11
- package/src/tool/gifAJpg/i18n/ja.ts +1 -11
- package/src/tool/gifAJpg/i18n/ko.ts +1 -11
- package/src/tool/gifAJpg/i18n/nl.ts +1 -11
- package/src/tool/gifAJpg/i18n/pl.ts +1 -11
- package/src/tool/gifAJpg/i18n/pt.ts +1 -11
- package/src/tool/gifAJpg/i18n/ru.ts +2 -12
- package/src/tool/gifAJpg/i18n/sv.ts +1 -11
- package/src/tool/gifAJpg/i18n/tr.ts +1 -11
- package/src/tool/gifAJpg/i18n/zh.ts +1 -11
- package/src/tool/gifAJpg/seo.astro +2 -1
- package/src/tool/gifAPng/bibliography.ts +12 -0
- package/src/tool/gifAPng/entry.ts +2 -0
- package/src/tool/gifAPng/i18n/de.ts +2 -12
- package/src/tool/gifAPng/i18n/en.ts +3 -13
- package/src/tool/gifAPng/i18n/es.ts +2 -12
- package/src/tool/gifAPng/i18n/fr.ts +11 -21
- package/src/tool/gifAPng/i18n/id.ts +2 -12
- package/src/tool/gifAPng/i18n/it.ts +2 -12
- package/src/tool/gifAPng/i18n/ja.ts +1 -11
- package/src/tool/gifAPng/i18n/ko.ts +1 -11
- package/src/tool/gifAPng/i18n/nl.ts +2 -12
- package/src/tool/gifAPng/i18n/pl.ts +3 -13
- package/src/tool/gifAPng/i18n/pt.ts +2 -12
- package/src/tool/gifAPng/i18n/ru.ts +3 -13
- package/src/tool/gifAPng/i18n/sv.ts +3 -13
- package/src/tool/gifAPng/i18n/tr.ts +1 -11
- package/src/tool/gifAPng/i18n/zh.ts +2 -12
- package/src/tool/gifAPng/seo.astro +2 -1
- package/src/tool/gifAWebp/bibliography.ts +12 -0
- package/src/tool/gifAWebp/entry.ts +2 -0
- package/src/tool/gifAWebp/i18n/de.ts +3 -13
- package/src/tool/gifAWebp/i18n/en.ts +3 -13
- package/src/tool/gifAWebp/i18n/es.ts +1 -11
- package/src/tool/gifAWebp/i18n/fr.ts +11 -21
- package/src/tool/gifAWebp/i18n/id.ts +3 -13
- package/src/tool/gifAWebp/i18n/it.ts +1 -11
- package/src/tool/gifAWebp/i18n/ja.ts +1 -11
- package/src/tool/gifAWebp/i18n/ko.ts +1 -11
- package/src/tool/gifAWebp/i18n/nl.ts +3 -13
- package/src/tool/gifAWebp/i18n/pl.ts +3 -13
- package/src/tool/gifAWebp/i18n/pt.ts +3 -13
- package/src/tool/gifAWebp/i18n/ru.ts +7 -17
- package/src/tool/gifAWebp/i18n/sv.ts +3 -13
- package/src/tool/gifAWebp/i18n/tr.ts +1 -11
- package/src/tool/gifAWebp/i18n/zh.ts +4 -14
- package/src/tool/gifAWebp/seo.astro +2 -1
- package/src/tool/imagenBase64/bibliography.ts +12 -0
- package/src/tool/imagenBase64/entry.ts +2 -0
- package/src/tool/imagenBase64/i18n/de.ts +7 -17
- package/src/tool/imagenBase64/i18n/en.ts +7 -17
- package/src/tool/imagenBase64/i18n/es.ts +7 -17
- package/src/tool/imagenBase64/i18n/fr.ts +17 -27
- package/src/tool/imagenBase64/i18n/id.ts +7 -17
- package/src/tool/imagenBase64/i18n/it.ts +6 -16
- package/src/tool/imagenBase64/i18n/ja.ts +1 -11
- package/src/tool/imagenBase64/i18n/ko.ts +1 -11
- package/src/tool/imagenBase64/i18n/nl.ts +7 -17
- package/src/tool/imagenBase64/i18n/pl.ts +7 -17
- package/src/tool/imagenBase64/i18n/pt.ts +7 -17
- package/src/tool/imagenBase64/i18n/ru.ts +9 -19
- package/src/tool/imagenBase64/i18n/sv.ts +7 -17
- package/src/tool/imagenBase64/i18n/tr.ts +2 -12
- package/src/tool/imagenBase64/i18n/zh.ts +7 -17
- package/src/tool/imagenBase64/seo.astro +2 -1
- package/src/tool/jpgAIco/bibliography.ts +12 -0
- package/src/tool/jpgAIco/entry.ts +2 -0
- package/src/tool/jpgAIco/i18n/de.ts +9 -19
- package/src/tool/jpgAIco/i18n/en.ts +9 -19
- package/src/tool/jpgAIco/i18n/es.ts +7 -17
- package/src/tool/jpgAIco/i18n/fr.ts +13 -23
- package/src/tool/jpgAIco/i18n/id.ts +9 -19
- package/src/tool/jpgAIco/i18n/it.ts +3 -13
- package/src/tool/jpgAIco/i18n/ja.ts +2 -12
- package/src/tool/jpgAIco/i18n/ko.ts +2 -12
- package/src/tool/jpgAIco/i18n/nl.ts +9 -19
- package/src/tool/jpgAIco/i18n/pl.ts +9 -19
- package/src/tool/jpgAIco/i18n/pt.ts +9 -19
- package/src/tool/jpgAIco/i18n/ru.ts +11 -21
- package/src/tool/jpgAIco/i18n/sv.ts +9 -19
- package/src/tool/jpgAIco/i18n/tr.ts +3 -13
- package/src/tool/jpgAIco/i18n/zh.ts +9 -19
- package/src/tool/jpgAIco/seo.astro +2 -1
- package/src/tool/jpgAPng/bibliography.ts +12 -0
- package/src/tool/jpgAPng/entry.ts +2 -0
- package/src/tool/jpgAPng/i18n/de.ts +7 -17
- package/src/tool/jpgAPng/i18n/en.ts +9 -19
- package/src/tool/jpgAPng/i18n/es.ts +7 -17
- package/src/tool/jpgAPng/i18n/fr.ts +13 -23
- package/src/tool/jpgAPng/i18n/id.ts +7 -17
- package/src/tool/jpgAPng/i18n/it.ts +5 -15
- package/src/tool/jpgAPng/i18n/ja.ts +3 -13
- package/src/tool/jpgAPng/i18n/ko.ts +3 -13
- package/src/tool/jpgAPng/i18n/nl.ts +7 -17
- package/src/tool/jpgAPng/i18n/pl.ts +7 -17
- package/src/tool/jpgAPng/i18n/pt.ts +7 -17
- package/src/tool/jpgAPng/i18n/ru.ts +10 -20
- package/src/tool/jpgAPng/i18n/sv.ts +7 -17
- package/src/tool/jpgAPng/i18n/tr.ts +6 -16
- package/src/tool/jpgAPng/i18n/zh.ts +8 -18
- package/src/tool/jpgAPng/seo.astro +2 -1
- package/src/tool/jpgAWebp/bibliography.ts +12 -0
- package/src/tool/jpgAWebp/entry.ts +2 -0
- package/src/tool/jpgAWebp/i18n/de.ts +10 -20
- package/src/tool/jpgAWebp/i18n/en.ts +10 -20
- package/src/tool/jpgAWebp/i18n/es.ts +4 -14
- package/src/tool/jpgAWebp/i18n/fr.ts +16 -26
- package/src/tool/jpgAWebp/i18n/id.ts +10 -20
- package/src/tool/jpgAWebp/i18n/it.ts +6 -16
- package/src/tool/jpgAWebp/i18n/ja.ts +2 -12
- package/src/tool/jpgAWebp/i18n/ko.ts +3 -13
- package/src/tool/jpgAWebp/i18n/nl.ts +10 -20
- package/src/tool/jpgAWebp/i18n/pl.ts +10 -20
- package/src/tool/jpgAWebp/i18n/pt.ts +10 -20
- package/src/tool/jpgAWebp/i18n/ru.ts +10 -20
- package/src/tool/jpgAWebp/i18n/sv.ts +10 -20
- package/src/tool/jpgAWebp/i18n/tr.ts +5 -15
- package/src/tool/jpgAWebp/i18n/zh.ts +9 -19
- package/src/tool/jpgAWebp/seo.astro +2 -1
- package/src/tool/pngAIco/bibliography.ts +12 -0
- package/src/tool/pngAIco/entry.ts +2 -0
- package/src/tool/pngAIco/i18n/de.ts +8 -18
- package/src/tool/pngAIco/i18n/en.ts +8 -18
- package/src/tool/pngAIco/i18n/es.ts +8 -18
- package/src/tool/pngAIco/i18n/fr.ts +14 -24
- package/src/tool/pngAIco/i18n/id.ts +8 -18
- package/src/tool/pngAIco/i18n/it.ts +4 -14
- package/src/tool/pngAIco/i18n/ja.ts +2 -12
- package/src/tool/pngAIco/i18n/ko.ts +2 -12
- package/src/tool/pngAIco/i18n/nl.ts +8 -18
- package/src/tool/pngAIco/i18n/pl.ts +8 -18
- package/src/tool/pngAIco/i18n/pt.ts +8 -18
- package/src/tool/pngAIco/i18n/ru.ts +11 -21
- package/src/tool/pngAIco/i18n/sv.ts +8 -18
- package/src/tool/pngAIco/i18n/tr.ts +7 -17
- package/src/tool/pngAIco/i18n/zh.ts +8 -18
- package/src/tool/pngAIco/seo.astro +2 -1
- package/src/tool/pngAJpg/bibliography.ts +12 -0
- package/src/tool/pngAJpg/entry.ts +2 -0
- package/src/tool/pngAJpg/i18n/de.ts +41 -51
- package/src/tool/pngAJpg/i18n/en.ts +98 -41
- package/src/tool/pngAJpg/i18n/es.ts +1 -11
- package/src/tool/pngAJpg/i18n/fr.ts +93 -30
- package/src/tool/pngAJpg/i18n/id.ts +41 -51
- package/src/tool/pngAJpg/i18n/it.ts +41 -51
- package/src/tool/pngAJpg/i18n/ja.ts +81 -95
- package/src/tool/pngAJpg/i18n/ko.ts +81 -95
- package/src/tool/pngAJpg/i18n/nl.ts +41 -51
- package/src/tool/pngAJpg/i18n/pl.ts +43 -53
- package/src/tool/pngAJpg/i18n/pt.ts +41 -51
- package/src/tool/pngAJpg/i18n/ru.ts +83 -97
- package/src/tool/pngAJpg/i18n/sv.ts +41 -51
- package/src/tool/pngAJpg/i18n/tr.ts +41 -51
- package/src/tool/pngAJpg/i18n/zh.ts +83 -97
- package/src/tool/pngAJpg/seo.astro +2 -1
- package/src/tool/pngAWebp/bibliography.ts +16 -0
- package/src/tool/pngAWebp/entry.ts +2 -0
- package/src/tool/pngAWebp/i18n/de.ts +7 -21
- package/src/tool/pngAWebp/i18n/en.ts +7 -21
- package/src/tool/pngAWebp/i18n/es.ts +6 -20
- package/src/tool/pngAWebp/i18n/fr.ts +13 -27
- package/src/tool/pngAWebp/i18n/id.ts +7 -21
- package/src/tool/pngAWebp/i18n/it.ts +3 -17
- package/src/tool/pngAWebp/i18n/ja.ts +2 -16
- package/src/tool/pngAWebp/i18n/ko.ts +2 -16
- package/src/tool/pngAWebp/i18n/nl.ts +7 -21
- package/src/tool/pngAWebp/i18n/pl.ts +7 -21
- package/src/tool/pngAWebp/i18n/pt.ts +6 -20
- package/src/tool/pngAWebp/i18n/ru.ts +8 -22
- package/src/tool/pngAWebp/i18n/sv.ts +7 -21
- package/src/tool/pngAWebp/i18n/tr.ts +6 -20
- package/src/tool/pngAWebp/i18n/zh.ts +6 -20
- package/src/tool/pngAWebp/seo.astro +2 -1
- package/src/tool/svgAJpg/bibliography.ts +12 -0
- package/src/tool/svgAJpg/entry.ts +2 -0
- package/src/tool/svgAJpg/i18n/de.ts +2 -12
- package/src/tool/svgAJpg/i18n/en.ts +1 -11
- package/src/tool/svgAJpg/i18n/es.ts +1 -11
- package/src/tool/svgAJpg/i18n/fr.ts +6 -16
- package/src/tool/svgAJpg/i18n/id.ts +1 -11
- package/src/tool/svgAJpg/i18n/it.ts +1 -11
- package/src/tool/svgAJpg/i18n/ja.ts +1 -11
- package/src/tool/svgAJpg/i18n/ko.ts +1 -11
- package/src/tool/svgAJpg/i18n/nl.ts +1 -11
- package/src/tool/svgAJpg/i18n/pl.ts +1 -11
- package/src/tool/svgAJpg/i18n/pt.ts +1 -11
- package/src/tool/svgAJpg/i18n/ru.ts +3 -13
- package/src/tool/svgAJpg/i18n/sv.ts +1 -11
- package/src/tool/svgAJpg/i18n/tr.ts +1 -11
- package/src/tool/svgAJpg/i18n/zh.ts +1 -11
- package/src/tool/svgAJpg/seo.astro +2 -1
- package/src/tool/svgAPng/bibliography.ts +12 -0
- package/src/tool/svgAPng/entry.ts +2 -0
- package/src/tool/svgAPng/i18n/de.ts +3 -13
- package/src/tool/svgAPng/i18n/en.ts +3 -13
- package/src/tool/svgAPng/i18n/es.ts +1 -11
- package/src/tool/svgAPng/i18n/fr.ts +9 -19
- package/src/tool/svgAPng/i18n/id.ts +3 -13
- package/src/tool/svgAPng/i18n/it.ts +3 -13
- package/src/tool/svgAPng/i18n/ja.ts +1 -11
- package/src/tool/svgAPng/i18n/ko.ts +1 -11
- package/src/tool/svgAPng/i18n/nl.ts +3 -13
- package/src/tool/svgAPng/i18n/pl.ts +3 -13
- package/src/tool/svgAPng/i18n/pt.ts +3 -13
- package/src/tool/svgAPng/i18n/ru.ts +5 -15
- package/src/tool/svgAPng/i18n/sv.ts +3 -13
- package/src/tool/svgAPng/i18n/tr.ts +3 -13
- package/src/tool/svgAPng/i18n/zh.ts +3 -13
- package/src/tool/svgAPng/seo.astro +2 -1
- package/src/tool/webpAIco/bibliography.ts +12 -0
- package/src/tool/webpAIco/entry.ts +2 -0
- package/src/tool/webpAIco/i18n/de.ts +1 -11
- package/src/tool/webpAIco/i18n/en.ts +1 -11
- package/src/tool/webpAIco/i18n/es.ts +1 -11
- package/src/tool/webpAIco/i18n/fr.ts +5 -15
- package/src/tool/webpAIco/i18n/id.ts +1 -11
- package/src/tool/webpAIco/i18n/it.ts +1 -11
- package/src/tool/webpAIco/i18n/ja.ts +1 -11
- package/src/tool/webpAIco/i18n/ko.ts +1 -11
- package/src/tool/webpAIco/i18n/nl.ts +1 -11
- package/src/tool/webpAIco/i18n/pl.ts +1 -11
- package/src/tool/webpAIco/i18n/pt.ts +1 -11
- package/src/tool/webpAIco/i18n/ru.ts +3 -13
- package/src/tool/webpAIco/i18n/sv.ts +1 -11
- package/src/tool/webpAIco/i18n/tr.ts +1 -11
- package/src/tool/webpAIco/i18n/zh.ts +1 -12
- package/src/tool/webpAIco/seo.astro +2 -1
- package/src/tool/webpAJpg/bibliography.ts +16 -0
- package/src/tool/webpAJpg/entry.ts +2 -0
- package/src/tool/webpAJpg/i18n/de.ts +3 -17
- package/src/tool/webpAJpg/i18n/en.ts +3 -17
- package/src/tool/webpAJpg/i18n/es.ts +1 -15
- package/src/tool/webpAJpg/i18n/fr.ts +10 -24
- package/src/tool/webpAJpg/i18n/id.ts +3 -17
- package/src/tool/webpAJpg/i18n/it.ts +2 -16
- package/src/tool/webpAJpg/i18n/ja.ts +1 -15
- package/src/tool/webpAJpg/i18n/ko.ts +1 -15
- package/src/tool/webpAJpg/i18n/nl.ts +2 -16
- package/src/tool/webpAJpg/i18n/pl.ts +3 -17
- package/src/tool/webpAJpg/i18n/pt.ts +3 -17
- package/src/tool/webpAJpg/i18n/ru.ts +7 -21
- package/src/tool/webpAJpg/i18n/sv.ts +3 -17
- package/src/tool/webpAJpg/i18n/tr.ts +2 -16
- package/src/tool/webpAJpg/i18n/zh.ts +2 -16
- package/src/tool/webpAJpg/seo.astro +2 -1
- package/src/tool/webpAPng/bibliography.ts +16 -0
- package/src/tool/webpAPng/entry.ts +2 -0
- package/src/tool/webpAPng/i18n/de.ts +3 -17
- package/src/tool/webpAPng/i18n/en.ts +3 -17
- package/src/tool/webpAPng/i18n/es.ts +1 -15
- package/src/tool/webpAPng/i18n/fr.ts +9 -23
- package/src/tool/webpAPng/i18n/id.ts +3 -17
- package/src/tool/webpAPng/i18n/it.ts +3 -17
- package/src/tool/webpAPng/i18n/ja.ts +1 -15
- package/src/tool/webpAPng/i18n/ko.ts +1 -15
- package/src/tool/webpAPng/i18n/nl.ts +3 -17
- package/src/tool/webpAPng/i18n/pl.ts +3 -17
- package/src/tool/webpAPng/i18n/pt.ts +3 -17
- package/src/tool/webpAPng/i18n/ru.ts +4 -18
- package/src/tool/webpAPng/i18n/sv.ts +3 -17
- package/src/tool/webpAPng/i18n/tr.ts +2 -17
- package/src/tool/webpAPng/i18n/zh.ts +3 -17
- package/src/tool/webpAPng/seo.astro +2 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
3
|
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
4
|
import type { PngAJpgLocaleContent } from '../index';
|
|
@@ -20,24 +21,24 @@ const ui: ImageConverterUI = {
|
|
|
20
21
|
|
|
21
22
|
const faq: PngAJpgLocaleContent['faq'] = [
|
|
22
23
|
{
|
|
23
|
-
question: '
|
|
24
|
+
question: '¿Por qué elegir nuestro convertidor local de PNG a JPG?',
|
|
24
25
|
answer:
|
|
25
|
-
'
|
|
26
|
+
'A diferencia de las herramientas convencionales, nuestra utilidad procesa los archivos íntegramente en tu navegador. Tus imágenes nunca tocan un disco duro ajeno, garantizando la total soberanía y privacidad de tus datos.',
|
|
26
27
|
},
|
|
27
28
|
{
|
|
28
|
-
question: 'JPG
|
|
29
|
+
question: '¿JPG o PNG? ¿Cuál es mejor para mi caso?',
|
|
29
30
|
answer:
|
|
30
|
-
'PNG
|
|
31
|
+
'El PNG es ideal para logotipos y elementos con transparencia. Sin embargo, el JPG es el estándar de oro para fotografías y banners web, ya que logra pesos mucho más reducidos, mejorando drásticamente la velocidad de carga de un sitio.',
|
|
31
32
|
},
|
|
32
33
|
{
|
|
33
|
-
question: '
|
|
34
|
+
question: '¿Cómo funciona la conversión técnica sin subir nada?',
|
|
34
35
|
answer:
|
|
35
|
-
'
|
|
36
|
+
'Utilizamos la potencia del Canvas de HTML5. El navegador recrea la imagen en un lienzo virtual invisible, rellena las transparencias con blanco y genera un flujo de bytes que descargas directamente al instante.',
|
|
36
37
|
},
|
|
37
38
|
{
|
|
38
|
-
question: '
|
|
39
|
+
question: '¿Es seguro para documentos confidenciales?',
|
|
39
40
|
answer:
|
|
40
|
-
'
|
|
41
|
+
'Sí, es la opción más segura para profesionales de la banca, salud o derecho. Al ser una "caja negra" que solo usa tu RAM, lo que pasa dentro muere al cerrar la pestaña, evitando filtraciones en nubes de terceros.',
|
|
41
42
|
},
|
|
42
43
|
];
|
|
43
44
|
|
|
@@ -56,124 +57,113 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
|
|
|
56
57
|
},
|
|
57
58
|
];
|
|
58
59
|
|
|
59
|
-
const bibliography: PngAJpgLocaleContent['bibliography'] = [
|
|
60
|
-
{
|
|
61
|
-
name: 'PNG Konsorsiyumu Özellikleri',
|
|
62
|
-
url: 'http://www.libpng.org/pub/png/',
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
name: 'JPEG Komitesi',
|
|
66
|
-
url: 'https://jpeg.org/',
|
|
67
|
-
},
|
|
68
|
-
];
|
|
69
|
-
|
|
70
60
|
const seo: PngAJpgLocaleContent['seo'] = [
|
|
71
61
|
{
|
|
72
62
|
type: 'title',
|
|
73
|
-
text: 'PNG
|
|
63
|
+
text: 'Convertidor de PNG a JPG: La Guía Definitiva para la Optimización de Imágenes',
|
|
74
64
|
level: 2,
|
|
75
65
|
},
|
|
76
66
|
{
|
|
77
67
|
type: 'paragraph',
|
|
78
|
-
html: '
|
|
68
|
+
html: 'En el mundo del diseño digital y el desarrollo web, la eficiencia lo es todo. El formato PNG (Portable Network Graphics) es amado por su capacidad de mantener transparencias y su compresión sin pérdida, pero tiene un gran enemigo: el peso del archivo. Cuando necesitas que tu sitio web vuele o que tus emails carguen instantáneamente, el paso de PNG a JPG es la decisión técnica más inteligente.',
|
|
79
69
|
},
|
|
80
70
|
{
|
|
81
71
|
type: 'title',
|
|
82
|
-
text: 'JPG
|
|
72
|
+
text: '¿JPG o PNG?',
|
|
83
73
|
level: 3,
|
|
84
74
|
},
|
|
85
75
|
{
|
|
86
76
|
type: 'paragraph',
|
|
87
|
-
html: '
|
|
77
|
+
html: 'No existe un formato mejor que otro, sino una herramienta para cada necesidad. El PNG es un formato sin pérdida, ideal para maquetas de interfaces, logotipos con texto pequeño y elementos visuales que requieren un fondo transparente. Sin embargo, esta fidelidad tiene un coste: archivos que pueden ser 5 o 10 veces más pesados que su equivalente comprimido.',
|
|
88
78
|
},
|
|
89
79
|
{
|
|
90
80
|
type: 'paragraph',
|
|
91
|
-
html: '
|
|
81
|
+
html: 'El JPG (Joint Photographic Experts Group), por otro lado, utiliza algoritmos de discretización para eliminar información que el ojo humano apenas percibe, logrando pesos pluma. Es el estándar de oro para fotografías, banners publicitarios y redes sociales. Al convertir tus PNG a JPG, estás traduciendo fidelidad geométrica por velocidad de red.',
|
|
92
82
|
},
|
|
93
83
|
{
|
|
94
84
|
type: 'title',
|
|
95
|
-
text: '
|
|
85
|
+
text: 'Comparativa de Arquitectura: Local vs Nube',
|
|
96
86
|
level: 3,
|
|
97
87
|
},
|
|
98
88
|
{
|
|
99
89
|
type: 'comparative',
|
|
100
90
|
items: [
|
|
101
91
|
{
|
|
102
|
-
title: '
|
|
103
|
-
description: '
|
|
92
|
+
title: 'Convertidores Cloud',
|
|
93
|
+
description: 'Herramientas tradicionales que suben tus fotos a un servidor remoto.',
|
|
104
94
|
icon: 'mdi:cloud-upload',
|
|
105
95
|
pointIcon: 'mdi:close-circle-outline',
|
|
106
96
|
points: [
|
|
107
|
-
'
|
|
108
|
-
'
|
|
109
|
-
'
|
|
110
|
-
'
|
|
97
|
+
'Latencia de red (Upload/Download)',
|
|
98
|
+
'Riesgo de filtración de datos privados',
|
|
99
|
+
'Límites de tamaño por archivo',
|
|
100
|
+
'Publicidad y rastreadores',
|
|
111
101
|
],
|
|
112
102
|
},
|
|
113
103
|
{
|
|
114
|
-
title: '
|
|
115
|
-
description: '
|
|
104
|
+
title: 'Nuestra Arquitectura Local',
|
|
105
|
+
description: 'Procesamiento directo en tu hardware mediante tecnología Vanilla JS.',
|
|
116
106
|
icon: 'mdi:laptop-mac',
|
|
117
107
|
highlight: true,
|
|
118
108
|
points: [
|
|
119
|
-
'
|
|
120
|
-
'
|
|
121
|
-
'
|
|
122
|
-
'
|
|
109
|
+
'Velocidad instantánea sin red',
|
|
110
|
+
'Privacidad garantizada (0 bytes enviados)',
|
|
111
|
+
'Sin límites de MB por archivo',
|
|
112
|
+
'Interfaz profesional y limpia',
|
|
123
113
|
],
|
|
124
114
|
},
|
|
125
115
|
],
|
|
126
116
|
},
|
|
127
117
|
{
|
|
128
118
|
type: 'title',
|
|
129
|
-
text: '
|
|
119
|
+
text: 'Cómo funciona la conversión técnica',
|
|
130
120
|
level: 3,
|
|
131
121
|
},
|
|
132
122
|
{
|
|
133
123
|
type: 'paragraph',
|
|
134
|
-
html: '
|
|
124
|
+
html: 'Probablemente te preguntes cómo es posible convertir una imagen sin enviarla a un servidor. La magia reside en la potencia de los navegadores modernos. Cuando seleccionas un archivo, generamos un Blob que solo existe en tu RAM. Ese Blob se dibuja en un elemento HTML5 Canvas invisible.',
|
|
135
125
|
},
|
|
136
126
|
{
|
|
137
127
|
type: 'paragraph',
|
|
138
|
-
html: 'JPG
|
|
128
|
+
html: 'Dado que el JPG no soporta transparencias, nuestro algoritmo rellena el fondo con un color blanco sólido antes de "pintar" el PNG encima. Una vez compuesta la imagen, ejecutamos el método de exportación nativo, generando un flujo de bytes que tu ordenador descarga directamente.',
|
|
139
129
|
},
|
|
140
130
|
{
|
|
141
131
|
type: 'tip',
|
|
142
|
-
title: 'SEO
|
|
143
|
-
html: 'Google
|
|
132
|
+
title: 'Consejo SEO: El Peso Ideal',
|
|
133
|
+
html: 'Google penaliza activamente los sitios web lentos. Si tu Largest Contentful Paint (LCP) es alto por culpa de un PNG de cabecera de 2MB, convertirlo a un JPG de 200KB puede mejorar tus métricas de PageSpeed instantáneamente sin diferencias visuales.',
|
|
144
134
|
},
|
|
145
135
|
{
|
|
146
136
|
type: 'title',
|
|
147
|
-
text: '
|
|
137
|
+
text: 'Seguridad para Empresas y Profesionales',
|
|
148
138
|
level: 3,
|
|
149
139
|
},
|
|
150
140
|
{
|
|
151
141
|
type: 'paragraph',
|
|
152
|
-
html: '
|
|
142
|
+
html: 'Si trabajas en sectores sensibles como la banca, la salud o el derecho, subir archivos a conversores online es una violación de seguridad. Nuestra herramienta funciona como una "caja negra": lo que pasa dentro se queda en tu RAM. Es la única forma segura de trabajar con documentos confidenciales.',
|
|
153
143
|
},
|
|
154
144
|
{
|
|
155
145
|
type: 'title',
|
|
156
|
-
text: '
|
|
146
|
+
text: 'Compatibilidad del Resultado',
|
|
157
147
|
level: 3,
|
|
158
148
|
},
|
|
159
149
|
{
|
|
160
150
|
type: 'list',
|
|
161
151
|
icon: 'mdi:check-circle',
|
|
162
152
|
items: [
|
|
163
|
-
'Windows, macOS
|
|
164
|
-
'
|
|
165
|
-
'
|
|
166
|
-
'
|
|
153
|
+
'Visores de Windows, macOS y dispositivos móviles.',
|
|
154
|
+
'Redes sociales (Instagram, LinkedIn, etc).',
|
|
155
|
+
'Herramientas de ofimática (Word, PowerPoint).',
|
|
156
|
+
'Gestores de contenido (WordPress, Shopify).',
|
|
167
157
|
],
|
|
168
158
|
},
|
|
169
159
|
{
|
|
170
160
|
type: 'title',
|
|
171
|
-
text: '
|
|
161
|
+
text: 'Conclusión: Optimiza como un Pro',
|
|
172
162
|
level: 3,
|
|
173
163
|
},
|
|
174
164
|
{
|
|
175
165
|
type: 'paragraph',
|
|
176
|
-
html: '
|
|
166
|
+
html: 'Este convertidor no es solo una página más; es una pieza de ingeniería diseñada para facilitarte la vida. Ya seas un desarrollador o un usuario doméstico, aquí tienes la solución definitiva para ahorrar megabytes y mantener tus datos a salvo.',
|
|
177
167
|
},
|
|
178
168
|
];
|
|
179
169
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
3
|
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
4
|
import type { PngAJpgLocaleContent } from '../index';
|
|
@@ -20,25 +21,21 @@ const ui: ImageConverterUI = {
|
|
|
20
21
|
|
|
21
22
|
const faq: PngAJpgLocaleContent['faq'] = [
|
|
22
23
|
{
|
|
23
|
-
question:
|
|
24
|
-
answer:
|
|
25
|
-
'与传统工具不同,我们的实用程序完全在您的浏览器中处理文件。您的图像永远不会触及他人的硬盘,保证了您数据的完全主权和隐私。',
|
|
24
|
+
"question": "为什么选择我们的本地 PNG 转 JPG 转换器?",
|
|
25
|
+
"answer": "与普通的在线转换工具不同,我们的程序完全在您的浏览器内部处理图片。您的文件绝不会上传到第三方服务器,保证绝对的数据隐私。"
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
question:
|
|
29
|
-
answer:
|
|
30
|
-
'PNG 是具有透明度要求的徽标和元素的理想选择。然而,JPG 是摄影和网页横幅的黄金标准,因为它能达到更小的文件体积,从而显著提高网站的加载速度。',
|
|
28
|
+
"question": "JPG 与 PNG:哪种格式更适合您?",
|
|
29
|
+
"answer": "PNG 非常适合包含透明背景的标志和图标。JPG 具有更高的压缩率,文件体积更小,非常适合网页照片和广告横幅。"
|
|
31
30
|
},
|
|
32
31
|
{
|
|
33
|
-
question:
|
|
34
|
-
answer:
|
|
35
|
-
'我们利用 HTML5 Canvas 的强大功能。浏览器在一个不可见的虚拟画布上重建图像,用白色填充透明部分,并生成可以直接立即下载的字节流。',
|
|
32
|
+
"question": "无需上传的本地转换是如何实现的?",
|
|
33
|
+
"answer": "我们使用了 HTML5 Canvas 技术。浏览器在后台的虚拟画布上绘制 PNG 图片,将透明区域填充为纯白背景,并直接生成 JPG 字节流。"
|
|
36
34
|
},
|
|
37
35
|
{
|
|
38
|
-
question:
|
|
39
|
-
answer:
|
|
40
|
-
|
|
41
|
-
},
|
|
36
|
+
"question": "处理商业机密或敏感文件安全吗?",
|
|
37
|
+
"answer": "非常安全。所有数据仅储存在您的浏览器内存中,关闭标签页后临时数据将立刻完全销毁。"
|
|
38
|
+
}
|
|
42
39
|
];
|
|
43
40
|
|
|
44
41
|
const howTo: PngAJpgLocaleContent['howTo'] = [
|
|
@@ -48,133 +45,122 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
|
|
|
48
45
|
},
|
|
49
46
|
{
|
|
50
47
|
name: '即时处理',
|
|
51
|
-
text: '
|
|
48
|
+
text: '在浏览器本地优化大小的同时,确认每个文件的状态变为\"就绪\"。',
|
|
52
49
|
},
|
|
53
50
|
{
|
|
54
51
|
name: '优化下载',
|
|
55
|
-
text: '逐个保存您的新 JPG
|
|
56
|
-
},
|
|
57
|
-
];
|
|
58
|
-
|
|
59
|
-
const bibliography: PngAJpgLocaleContent['bibliography'] = [
|
|
60
|
-
{
|
|
61
|
-
name: 'PNG 联盟规范',
|
|
62
|
-
url: 'http://www.libpng.org/pub/png/',
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
name: 'JPEG 委员会',
|
|
66
|
-
url: 'https://jpeg.org/',
|
|
52
|
+
text: '逐个保存您的新 JPG,或使用\"下载全部\"按钮获取包含所有图像的压缩 ZIP 文件。',
|
|
67
53
|
},
|
|
68
54
|
];
|
|
69
55
|
|
|
70
56
|
const seo: PngAJpgLocaleContent['seo'] = [
|
|
71
57
|
{
|
|
72
|
-
type:
|
|
73
|
-
text:
|
|
74
|
-
level: 2
|
|
58
|
+
"type": "title",
|
|
59
|
+
"text": "PNG转JPG在线转换器:图像优化指南",
|
|
60
|
+
"level": 2
|
|
75
61
|
},
|
|
76
62
|
{
|
|
77
|
-
type:
|
|
78
|
-
html:
|
|
63
|
+
"type": "paragraph",
|
|
64
|
+
"html": "在浏览器中直接将PNG图片转换为JPG格式,无需上传服务器,保护隐私并提高网站加载速度。"
|
|
79
65
|
},
|
|
80
66
|
{
|
|
81
|
-
type:
|
|
82
|
-
text:
|
|
83
|
-
level: 3
|
|
67
|
+
"type": "title",
|
|
68
|
+
"text": "JPG 与 PNG 对比",
|
|
69
|
+
"level": 3
|
|
84
70
|
},
|
|
85
71
|
{
|
|
86
|
-
type:
|
|
87
|
-
html:
|
|
72
|
+
"type": "paragraph",
|
|
73
|
+
"html": "PNG支持透明背景但体积较大;JPG压缩率高且体积小,非常适合网页图片和照片。"
|
|
88
74
|
},
|
|
89
75
|
{
|
|
90
|
-
type:
|
|
91
|
-
html:
|
|
76
|
+
"type": "paragraph",
|
|
77
|
+
"html": "转换为JPG可以在保持良好视觉质量的同时大幅减少文件大小。"
|
|
92
78
|
},
|
|
93
79
|
{
|
|
94
|
-
type:
|
|
95
|
-
text:
|
|
96
|
-
level: 3
|
|
80
|
+
"type": "title",
|
|
81
|
+
"text": "本地处理与云端转换对比",
|
|
82
|
+
"level": 3
|
|
97
83
|
},
|
|
98
84
|
{
|
|
99
|
-
type:
|
|
100
|
-
items: [
|
|
85
|
+
"type": "comparative",
|
|
86
|
+
"items": [
|
|
101
87
|
{
|
|
102
|
-
title:
|
|
103
|
-
description:
|
|
104
|
-
icon:
|
|
105
|
-
pointIcon:
|
|
106
|
-
points: [
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
]
|
|
88
|
+
"title": "云端转换工具",
|
|
89
|
+
"description": "需要将图片上传到远程服务器。",
|
|
90
|
+
"icon": "mdi:cloud-upload",
|
|
91
|
+
"pointIcon": "mdi:close-circle-outline",
|
|
92
|
+
"points": [
|
|
93
|
+
"网络传输延迟",
|
|
94
|
+
"隐私泄露风险",
|
|
95
|
+
"文件大小限制",
|
|
96
|
+
"广告弹窗"
|
|
97
|
+
]
|
|
112
98
|
},
|
|
113
99
|
{
|
|
114
|
-
title:
|
|
115
|
-
description:
|
|
116
|
-
icon:
|
|
117
|
-
highlight: true,
|
|
118
|
-
points: [
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
]
|
|
124
|
-
}
|
|
125
|
-
]
|
|
100
|
+
"title": "本地转换架构",
|
|
101
|
+
"description": "基于HTML5 Canvas技术的本地直接处理。",
|
|
102
|
+
"icon": "mdi:laptop-mac",
|
|
103
|
+
"highlight": true,
|
|
104
|
+
"points": [
|
|
105
|
+
"秒级极速转换",
|
|
106
|
+
"绝对隐私安全(0字节上传)",
|
|
107
|
+
"无文件大小限制",
|
|
108
|
+
"界面简洁"
|
|
109
|
+
]
|
|
110
|
+
}
|
|
111
|
+
]
|
|
126
112
|
},
|
|
127
113
|
{
|
|
128
|
-
type:
|
|
129
|
-
text:
|
|
130
|
-
level: 3
|
|
114
|
+
"type": "title",
|
|
115
|
+
"text": "本地转换技术原理",
|
|
116
|
+
"level": 3
|
|
131
117
|
},
|
|
132
118
|
{
|
|
133
|
-
type:
|
|
134
|
-
html:
|
|
119
|
+
"type": "paragraph",
|
|
120
|
+
"html": "利用浏览器原生的Canvas API,在内存中渲染图像并自动充填白色背景后导出JPG字节流。"
|
|
135
121
|
},
|
|
136
122
|
{
|
|
137
|
-
type:
|
|
138
|
-
html:
|
|
123
|
+
"type": "paragraph",
|
|
124
|
+
"html": "透明区域将自动替换为纯白背景,完美适配JPG标准。"
|
|
139
125
|
},
|
|
140
126
|
{
|
|
141
|
-
type:
|
|
142
|
-
title:
|
|
143
|
-
html:
|
|
127
|
+
"type": "tip",
|
|
128
|
+
"title": "SEO 优化建议",
|
|
129
|
+
"html": "压缩网页图片体积可显著改善 PageSpeed 指标和用户体验。"
|
|
144
130
|
},
|
|
145
131
|
{
|
|
146
|
-
type:
|
|
147
|
-
text:
|
|
148
|
-
level: 3
|
|
132
|
+
"type": "title",
|
|
133
|
+
"text": "企业级数据安全",
|
|
134
|
+
"level": 3
|
|
149
135
|
},
|
|
150
136
|
{
|
|
151
|
-
type:
|
|
152
|
-
html:
|
|
137
|
+
"type": "paragraph",
|
|
138
|
+
"html": "处理敏感文件更安全,关闭标签页后所有临时内存数据即刻销毁。"
|
|
153
139
|
},
|
|
154
140
|
{
|
|
155
|
-
type:
|
|
156
|
-
text:
|
|
157
|
-
level: 3
|
|
141
|
+
"type": "title",
|
|
142
|
+
"text": "兼容性说明",
|
|
143
|
+
"level": 3
|
|
158
144
|
},
|
|
159
145
|
{
|
|
160
|
-
type:
|
|
161
|
-
icon:
|
|
162
|
-
items: [
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
]
|
|
146
|
+
"type": "list",
|
|
147
|
+
"icon": "mdi:check-circle",
|
|
148
|
+
"items": [
|
|
149
|
+
"主流操作系统与移动设备",
|
|
150
|
+
"社交媒体平台",
|
|
151
|
+
"办公软件",
|
|
152
|
+
"CMS建站系统"
|
|
153
|
+
]
|
|
168
154
|
},
|
|
169
155
|
{
|
|
170
|
-
type:
|
|
171
|
-
text:
|
|
172
|
-
level: 3
|
|
156
|
+
"type": "title",
|
|
157
|
+
"text": "总结",
|
|
158
|
+
"level": 3
|
|
173
159
|
},
|
|
174
160
|
{
|
|
175
|
-
type:
|
|
176
|
-
html:
|
|
177
|
-
}
|
|
161
|
+
"type": "paragraph",
|
|
162
|
+
"html": "兼具高速与安全的专业图像处理工具。"
|
|
163
|
+
}
|
|
178
164
|
];
|
|
179
165
|
|
|
180
166
|
|
|
@@ -9,6 +9,7 @@ interface Props {
|
|
|
9
9
|
|
|
10
10
|
const { locale = 'es' } = Astro.props;
|
|
11
11
|
const content = await pngAJpg.i18n[locale]?.();
|
|
12
|
+
if (!content) return null;
|
|
12
13
|
---
|
|
13
14
|
|
|
14
|
-
{content && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{
|
|
5
|
+
name: 'Google: WebP Implementierungsdetails',
|
|
6
|
+
url: 'https://developers.google.com/speed/webp/',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'W3C: Leitfaden zu Core Web Vitals',
|
|
10
|
+
url: 'https://web.dev/vitals/',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'Mozilla Docs: Bildformate',
|
|
14
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
|
|
15
|
+
},
|
|
16
|
+
];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
|
|
2
3
|
import { generateSchemas } from '../../../shared/logic/schemas';
|
|
3
4
|
import type { PngAWebpLocaleContent } from '../index';
|
|
@@ -51,21 +52,6 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: PngAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'Google: WebP Implementierungsdetails',
|
|
57
|
-
url: 'https://developers.google.com/speed/webp/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'W3C: Leitfaden zu Core Web Vitals',
|
|
61
|
-
url: 'https://web.dev/vitals/',
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
name: 'Mozilla Docs: Bildformate',
|
|
65
|
-
url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
|
|
66
|
-
},
|
|
67
|
-
];
|
|
68
|
-
|
|
69
55
|
const seo: PngAWebpLocaleContent['seo'] = [
|
|
70
56
|
{
|
|
71
57
|
type: 'title',
|
|
@@ -74,7 +60,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
|
|
|
74
60
|
},
|
|
75
61
|
{
|
|
76
62
|
type: 'paragraph',
|
|
77
|
-
html: '<strong>PNG</strong> war jahrzehntelang das Referenzformat für Webbilder mit Transparenz
|
|
63
|
+
html: '<strong>PNG</strong> war jahrzehntelang das Referenzformat für Webbilder mit Transparenz - Logos, Icons, UI-Elemente, Produktbilder auf freigestelltem Hintergrund. Das Problem ist die Dateigröße: Die verlustfreie Kompression, die Qualität garantiert, erzeugt auch spürbar große Dateien. Googles <strong>WebP</strong> löst diesen Widerspruch: Es unterstützt den Alpha-Kanal (Transparenz) <em>und</em> komprimiert weitaus besser als PNG, was den Wechsel von PNG zu WebP auf Ihrer Website zu einer perfekten Optimierung macht, bei der Sie auf nichts verzichten müssen.',
|
|
78
64
|
},
|
|
79
65
|
{
|
|
80
66
|
type: 'title',
|
|
@@ -83,7 +69,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
|
|
|
83
69
|
},
|
|
84
70
|
{
|
|
85
71
|
type: 'paragraph',
|
|
86
|
-
html: '<strong>PNG</strong> bleibt das richtige Format, wenn Kompatibilität entscheidend ist: Design-Tools wie Photoshop oder Figma, Druck-Workflows, ältere Desktop-Anwendungen oder jeder Kontext, in dem WebP-Unterstützung nicht garantiert ist. Es ist auch das ideale Format für das Speichern von Arbeitsebenen in Bearbeitungspipelines, da seine verlustfreie Kompression jeden Pixel bewahrt. Der Preis: Dateien, die 3
|
|
72
|
+
html: '<strong>PNG</strong> bleibt das richtige Format, wenn Kompatibilität entscheidend ist: Design-Tools wie Photoshop oder Figma, Druck-Workflows, ältere Desktop-Anwendungen oder jeder Kontext, in dem WebP-Unterstützung nicht garantiert ist. Es ist auch das ideale Format für das Speichern von Arbeitsebenen in Bearbeitungspipelines, da seine verlustfreie Kompression jeden Pixel bewahrt. Der Preis: Dateien, die 3-8 Mal mehr wiegen können als ihr WebP-Äquivalent.',
|
|
87
73
|
},
|
|
88
74
|
{
|
|
89
75
|
type: 'paragraph',
|
|
@@ -115,8 +101,8 @@ const seo: PngAWebpLocaleContent['seo'] = [
|
|
|
115
101
|
icon: 'mdi:laptop-mac',
|
|
116
102
|
highlight: true,
|
|
117
103
|
points: [
|
|
118
|
-
'Sofortige Geschwindigkeit
|
|
119
|
-
'Vollständige Privatsphäre
|
|
104
|
+
'Sofortige Geschwindigkeit - keine Netzwerklatenz',
|
|
105
|
+
'Vollständige Privatsphäre - 0 Byte werden extern gesendet',
|
|
120
106
|
'Keine Megabyte-Limits oder Dateianzahlbeschränkungen',
|
|
121
107
|
'Saubere Benutzeroberfläche, keine Werbung oder Tracking',
|
|
122
108
|
],
|
|
@@ -130,7 +116,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
|
|
|
130
116
|
},
|
|
131
117
|
{
|
|
132
118
|
type: 'paragraph',
|
|
133
|
-
html: 'Die PNG wird lokal geladen und in einem im Speicher befindlichen <strong>HTML5 Canvas</strong> dekodiert. Die Canvas-API bewahrt den Alpha-Kanal der ursprünglichen PNG
|
|
119
|
+
html: 'Die PNG wird lokal geladen und in einem im Speicher befindlichen <strong>HTML5 Canvas</strong> dekodiert. Die Canvas-API bewahrt den Alpha-Kanal der ursprünglichen PNG - alle transparenten und halbtransparenten Pixel bleiben im RGBA-Pixelbuffer intakt. Das Canvas wird dann durch Aufruf von <code>toDataURL(\'image/webp\')</code> exportiert, wodurch der WebP-Codec des Browsers (basierend auf Googles libwebp) angewendet wird, um eine kompaktere Datei zu erzeugen, ohne die Transparenzdaten zu verändern.',
|
|
134
120
|
},
|
|
135
121
|
{
|
|
136
122
|
type: 'paragraph',
|
|
@@ -164,7 +150,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
|
|
|
164
150
|
},
|
|
165
151
|
{
|
|
166
152
|
type: 'paragraph',
|
|
167
|
-
html: 'Der Wechsel von PNG zu WebP ist die umfassendste Webbild-Optimierung, die verfügbar ist: Sie erhalten leichtere Dateien, bewahren die Transparenz und verbessern die Core Web Vitals-Metriken, ohne etwas an Ihrem visuellen Design zu ändern. Dieses Tool erledigt das sofort, kostenlos und völlig privat
|
|
153
|
+
html: 'Der Wechsel von PNG zu WebP ist die umfassendste Webbild-Optimierung, die verfügbar ist: Sie erhalten leichtere Dateien, bewahren die Transparenz und verbessern die Core Web Vitals-Metriken, ohne etwas an Ihrem visuellen Design zu ändern. Dieses Tool erledigt das sofort, kostenlos und völlig privat - Ihre Bilder werden in Ihrem Browser verarbeitet und verlassen niemals Ihr Gerät.',
|
|
168
154
|
},
|
|
169
155
|
];
|
|
170
156
|
|