@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 { GifAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: PNG format',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'CompuServe GIF Information',
|
|
61
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -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 { GifAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: PNG format',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'CompuServe GIF Information',
|
|
61
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -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 { GifAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: PNG format',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'CompuServe GIF Information',
|
|
61
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -135,7 +125,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Binaire transparantie van GIF vs alfakanaal van PNG',
|
|
138
|
-
html: 'GIF ondersteunt alleen binaire transparantie (ondoorzichtig of transparant). Bij het converteren naar PNG blijven de half-transparante pixels van de GIF behouden zoals de browser ze interpreteert. Als je GIF kartelige randen heeft, zal de PNG deze behouden
|
|
128
|
+
html: 'GIF ondersteunt alleen binaire transparantie (ondoorzichtig of transparant). Bij het converteren naar PNG blijven de half-transparante pixels van de GIF behouden zoals de browser ze interpreteert. Als je GIF kartelige randen heeft, zal de PNG deze behouden - maar je kunt ze bewerken met randverzachting in elke editor, iets wat onmogelijk is met de originele GIF.',
|
|
139
129
|
},
|
|
140
130
|
{
|
|
141
131
|
type: 'title',
|
|
@@ -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 { GifAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: PNG format',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'CompuServe GIF Information',
|
|
61
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -83,7 +73,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
83
73
|
},
|
|
84
74
|
{
|
|
85
75
|
type: 'paragraph',
|
|
86
|
-
html: 'Oprócz doskonałej przezroczystości, PNG eliminuje limit 256 kolorów GIF. Zrzuty ekranu, ilustracje z gradientami, logo z cieniami
|
|
76
|
+
html: 'Oprócz doskonałej przezroczystości, PNG eliminuje limit 256 kolorów GIF. Zrzuty ekranu, ilustracje z gradientami, logo z cieniami - wszystkie wyglądają znacznie lepiej w formacie PNG. A ponieważ jest to kompresja bezstratna, każdy piksel zachowuje dokładnie oryginalną wartość, bez artefaktów, które wprowadziłaby konwersja do JPG.',
|
|
87
77
|
},
|
|
88
78
|
{
|
|
89
79
|
type: 'title',
|
|
@@ -135,7 +125,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Przezroczystość binarna GIF vs kanał alfa PNG',
|
|
138
|
-
html: 'GIF obsługuje tylko przezroczystość binarną (nieprzezroczysty lub przezroczysty). Przy konwersji do PNG, półprzezroczyste piksele GIF są zachowywane tak, jak interpretuje je przeglądarka. Jeśli Twój GIF ma ząbkowane krawędzie, plik PNG je zachowa
|
|
128
|
+
html: 'GIF obsługuje tylko przezroczystość binarną (nieprzezroczysty lub przezroczysty). Przy konwersji do PNG, półprzezroczyste piksele GIF są zachowywane tak, jak interpretuje je przeglądarka. Jeśli Twój GIF ma ząbkowane krawędzie, plik PNG je zachowa - ale będziesz mógł je edytować z wygładzaniem krawędzi w dowolnym edytorze, co jest niemożliwe w przypadku oryginalnego GIF-a.',
|
|
139
129
|
},
|
|
140
130
|
{
|
|
141
131
|
type: 'title',
|
|
@@ -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 { GifAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: PNG format',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'CompuServe GIF Information',
|
|
61
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -135,7 +125,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Transparência binária do GIF vs canal alfa do PNG',
|
|
138
|
-
html: 'O GIF apenas suporta transparência binária (opaco ou transparente). Ao converter para PNG, os píxeis semitransparentes do GIF mantêm-se como o navegador os interpreta. Se o seu GIF tem bordas serrilhadas, o PNG conservá-las-á
|
|
128
|
+
html: 'O GIF apenas suporta transparência binária (opaco ou transparente). Ao converter para PNG, os píxeis semitransparentes do GIF mantêm-se como o navegador os interpreta. Se o seu GIF tem bordas serrilhadas, o PNG conservá-las-á - mas poderá editá-las com suavização de bordas em qualquer editor, algo impossível com o GIF original.',
|
|
139
129
|
},
|
|
140
130
|
{
|
|
141
131
|
type: 'title',
|
|
@@ -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 { GifAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: PNG format',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'CompuServe GIF Information',
|
|
61
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -155,12 +145,12 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
155
145
|
},
|
|
156
146
|
{
|
|
157
147
|
type: 'title',
|
|
158
|
-
text: 'Заключение: PNG
|
|
148
|
+
text: 'Заключение: PNG - это то, чем GIF всегда хотел быть',
|
|
159
149
|
level: 3,
|
|
160
150
|
},
|
|
161
151
|
{
|
|
162
152
|
type: 'paragraph',
|
|
163
|
-
html: 'Конвертация из GIF в PNG
|
|
153
|
+
html: 'Конвертация из GIF в PNG - это не просто смена формата: это обновление изображения до современного стандарта, которого GIF никогда не смог достичь. Больше цветов, лучше прозрачность, меньше вес. Наш инструмент выполняет эту конвертацию за миллисекунды прямо в вашем браузере, не отправляя никаких данных вовне.',
|
|
164
154
|
},
|
|
165
155
|
];
|
|
166
156
|
|
|
@@ -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 { GifAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: PNG format',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'CompuServe GIF Information',
|
|
61
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -83,7 +73,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
83
73
|
},
|
|
84
74
|
{
|
|
85
75
|
type: 'paragraph',
|
|
86
|
-
html: 'Förutom överlägsen transparens tar PNG bort gränsen på 256 färger för GIF. Skärmdumpar, illustrationer med toningar, logotyper med skuggor
|
|
76
|
+
html: 'Förutom överlägsen transparens tar PNG bort gränsen på 256 färger för GIF. Skärmdumpar, illustrationer med toningar, logotyper med skuggor - alla ser betydligt bättre ut i PNG. Och eftersom det är en förlustfri komprimering behåller varje pixel exakt sitt ursprungliga värde, utan de artefakter som en konvertering till JPG skulle introducera.',
|
|
87
77
|
},
|
|
88
78
|
{
|
|
89
79
|
type: 'title',
|
|
@@ -135,7 +125,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Binär transparens för GIF vs alfakanal för PNG',
|
|
138
|
-
html: 'GIF stöder endast binär transparens (opak eller transparent). Vid konvertering till PNG bibehålls de halvtransparenta pixlarna i GIF-filen så som webbläsaren tolkar dem. Om din GIF har tandade kanter kommer PNG-filen att behålla dem
|
|
128
|
+
html: 'GIF stöder endast binär transparens (opak eller transparent). Vid konvertering till PNG bibehålls de halvtransparenta pixlarna i GIF-filen så som webbläsaren tolkar dem. Om din GIF har tandade kanter kommer PNG-filen att behålla dem - men du kan redigera dem med kantutjämning i valfri redigerare, något som är omöjligt med den ursprungliga GIF-filen.',
|
|
139
129
|
},
|
|
140
130
|
{
|
|
141
131
|
type: 'title',
|
|
@@ -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 { GifAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: PNG format',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'CompuServe GIF Information',
|
|
61
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -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 { GifAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: PNG format',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'CompuServe GIF Information',
|
|
61
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -135,7 +125,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'GIF 的二进制透明 vs PNG 的 Alpha 通道',
|
|
138
|
-
html: 'GIF 仅支持二进制透明(全透明或不透明)。转换为 PNG 时,GIF 的半透明像素将保持浏览器解释的样子。如果您的 GIF 有锯齿状边缘,PNG
|
|
128
|
+
html: 'GIF 仅支持二进制透明(全透明或不透明)。转换为 PNG 时,GIF 的半透明像素将保持浏览器解释的样子。如果您的 GIF 有锯齿状边缘,PNG 会保留它们-但您可以在任何编辑器中通过平滑边缘来修复它们,这在原 GIF 中是不可能实现的。',
|
|
139
129
|
},
|
|
140
130
|
{
|
|
141
131
|
type: 'title',
|
|
@@ -9,6 +9,7 @@ interface Props {
|
|
|
9
9
|
|
|
10
10
|
const { locale = 'es' } = Astro.props;
|
|
11
11
|
const content = await gifAPng.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,12 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{
|
|
5
|
+
name: 'GIF89a Spezifikation',
|
|
6
|
+
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'Google WebP Dokumentation',
|
|
10
|
+
url: 'https://developers.google.com/speed/webp',
|
|
11
|
+
},
|
|
12
|
+
];
|
|
@@ -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 { GifAWebpLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'GIF89a Spezifikation',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Google WebP Dokumentation',
|
|
61
|
-
url: 'https://developers.google.com/speed/webp',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAWebpLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -79,11 +69,11 @@ const seo: GifAWebpLocaleContent['seo'] = [
|
|
|
79
69
|
},
|
|
80
70
|
{
|
|
81
71
|
type: 'paragraph',
|
|
82
|
-
html: 'GIF ist ein Format von 1987, das ursprünglich nicht für Animationen konzipiert wurde
|
|
72
|
+
html: 'GIF ist ein Format von 1987, das ursprünglich nicht für Animationen konzipiert wurde - diese Funktion kam erst als späterer Hack hinzu. Seine 256-Farben-Palette, die ineffiziente Kompression und die Unfähigkeit, Audio zu verarbeiten, machen es zu einem veralteten Format. WebP, 2010 von Google entwickelt, bietet überlegene verlustbehaftete und verlustfreie Kompression, native Animationsunterstützung und vollen Alpha-Kanal.',
|
|
83
73
|
},
|
|
84
74
|
{
|
|
85
75
|
type: 'paragraph',
|
|
86
|
-
html: 'Für einen Webentwickler kann der Ersatz von GIFs durch WebP auf Seiten eine Verbesserung des Google PageSpeed Scores um 10 bis 30 Punkte bedeuten. Weniger Seitengewicht bedeutet bessere Core Web Vitals, bessere SEO-Rankings und niedrigere Bandbreitenkosten auf den Servern. Es ist nicht nur eine ästhetische Verbesserung
|
|
76
|
+
html: 'Für einen Webentwickler kann der Ersatz von GIFs durch WebP auf Seiten eine Verbesserung des Google PageSpeed Scores um 10 bis 30 Punkte bedeuten. Weniger Seitengewicht bedeutet bessere Core Web Vitals, bessere SEO-Rankings und niedrigere Bandbreitenkosten auf den Servern. Es ist nicht nur eine ästhetische Verbesserung - es ist eine Entscheidung für die technische Architektur.',
|
|
87
77
|
},
|
|
88
78
|
{
|
|
89
79
|
type: 'title',
|
|
@@ -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 { GifAWebpLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'GIF89a Specification',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Google WebP Documentation',
|
|
61
|
-
url: 'https://developers.google.com/speed/webp',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAWebpLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -79,11 +69,11 @@ const seo: GifAWebpLocaleContent['seo'] = [
|
|
|
79
69
|
},
|
|
80
70
|
{
|
|
81
71
|
type: 'paragraph',
|
|
82
|
-
html: 'GIF is a 1987 format not originally designed for animations
|
|
72
|
+
html: 'GIF is a 1987 format not originally designed for animations - that feature arrived as a later hack. Its 256-color palette, inefficient compression, and inability to handle audio make it an obsolete format. WebP, developed by Google in 2010, offers superior compression both lossy and lossless, native animation support, and full alpha channel.',
|
|
83
73
|
},
|
|
84
74
|
{
|
|
85
75
|
type: 'paragraph',
|
|
86
|
-
html: 'For a web developer, replacing GIFs with WebP on pages can mean a 10-30 point improvement in Google PageSpeed score. Less page weight means better Core Web Vitals, better SEO rankings, and lower bandwidth costs on servers. It is not just an aesthetic improvement
|
|
76
|
+
html: 'For a web developer, replacing GIFs with WebP on pages can mean a 10-30 point improvement in Google PageSpeed score. Less page weight means better Core Web Vitals, better SEO rankings, and lower bandwidth costs on servers. It is not just an aesthetic improvement - it is a technical architecture decision.',
|
|
87
77
|
},
|
|
88
78
|
{
|
|
89
79
|
type: 'title',
|
|
@@ -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 { GifAWebpLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'GIF89a Specification',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Google WebP Documentation',
|
|
61
|
-
url: 'https://developers.google.com/speed/webp',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAWebpLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -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 { GifAWebpLocaleContent } from '../index';
|
|
@@ -51,43 +52,32 @@ const howTo: GifAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'Spécification GIF89a',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Documentation Google WebP',
|
|
61
|
-
url: 'https://developers.google.com/speed/webp',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAWebpLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
68
|
-
text: 'Convertisseur GIF vers WebP
|
|
58
|
+
text: 'Convertisseur GIF vers WebP: Le Remplacement Moderne des Animations Lourdes',
|
|
69
59
|
level: 2,
|
|
70
60
|
},
|
|
71
61
|
{
|
|
72
62
|
type: 'paragraph',
|
|
73
|
-
html: 'Les GIF animés sont les dinosaures du contenu web moderne
|
|
63
|
+
html: 'Les GIF animés sont les dinosaures du contenu web moderne: ils consomment une bande passante disproportionnée, dégradent le PageSpeed de toute page et sont responsables d\'un pourcentage significatif du poids total sur des milliers de sites web. Un GIF animé typique de 5 Mo peut devenir une animation WebP de moins de 1 Mo avec la même qualité visuelle. WebP est le successeur moderne que Google a spécifiquement conçu pour remplacer le GIF sur le web.',
|
|
74
64
|
},
|
|
75
65
|
{
|
|
76
66
|
type: 'title',
|
|
77
|
-
text: 'GIF vs WebP
|
|
67
|
+
text: 'GIF vs WebP: l\'écart entre le passé et le présent du web',
|
|
78
68
|
level: 3,
|
|
79
69
|
},
|
|
80
70
|
{
|
|
81
71
|
type: 'paragraph',
|
|
82
|
-
html: 'Le GIF est un format de 1987 qui n\'a pas été conçu à l\'origine pour les animations
|
|
72
|
+
html: 'Le GIF est un format de 1987 qui n\'a pas été conçu à l\'origine pour les animations - cette fonctionnalité est arrivée comme un hack ultérieur. Sa palette de 256 couleurs, sa compression inefficace et son incapacité à gérer l\'audio en font un format obsolète. WebP, développé par Google en 2010, offre une compression supérieure avec et sans perte, un support d\'animation natif et un canal alpha complet.',
|
|
83
73
|
},
|
|
84
74
|
{
|
|
85
75
|
type: 'paragraph',
|
|
86
|
-
html: 'Pour un développeur web, remplacer les GIF par des WebP sur les pages peut représenter une amélioration de 10 à 30 points dans le score PageSpeed de Google. Moins de poids de page signifie de meilleurs Core Web Vitals, un meilleur référencement SEO et des coûts de bande passante réduits sur les serveurs. Ce n\'est pas seulement une amélioration esthétique
|
|
76
|
+
html: 'Pour un développeur web, remplacer les GIF par des WebP sur les pages peut représenter une amélioration de 10 à 30 points dans le score PageSpeed de Google. Moins de poids de page signifie de meilleurs Core Web Vitals, un meilleur référencement SEO et des coûts de bande passante réduits sur les serveurs. Ce n\'est pas seulement une amélioration esthétique - c\'est une décision d\'architecture technique.',
|
|
87
77
|
},
|
|
88
78
|
{
|
|
89
79
|
type: 'title',
|
|
90
|
-
text: 'Comparaison d\'Architecture
|
|
80
|
+
text: 'Comparaison d\'Architecture: Local vs Cloud',
|
|
91
81
|
level: 3,
|
|
92
82
|
},
|
|
93
83
|
{
|
|
@@ -113,8 +103,8 @@ const seo: GifAWebpLocaleContent['seo'] = [
|
|
|
113
103
|
points: [
|
|
114
104
|
'Le GIF ne quitte jamais votre appareil',
|
|
115
105
|
'Conversion instantanée sans attente réseau',
|
|
116
|
-
'Aucune limite de taille
|
|
117
|
-
'Confidentialité totale
|
|
106
|
+
'Aucune limite de taille: traitez des GIF de tout poids',
|
|
107
|
+
'Confidentialité totale: 0 octet envoyé à l\'extérieur',
|
|
118
108
|
],
|
|
119
109
|
},
|
|
120
110
|
],
|
|
@@ -155,12 +145,12 @@ const seo: GifAWebpLocaleContent['seo'] = [
|
|
|
155
145
|
},
|
|
156
146
|
{
|
|
157
147
|
type: 'title',
|
|
158
|
-
text: 'Conclusion
|
|
148
|
+
text: 'Conclusion: migrez vos GIF vers le XXIe siècle',
|
|
159
149
|
level: 3,
|
|
160
150
|
},
|
|
161
151
|
{
|
|
162
152
|
type: 'paragraph',
|
|
163
|
-
html: 'Chaque GIF sur votre site web est une opportunité d\'optimisation manquée. Notre outil convertit les GIF en WebP instantanément, en toute confidentialité et sans limites, directement dans votre navigateur. Le résultat
|
|
153
|
+
html: 'Chaque GIF sur votre site web est une opportunité d\'optimisation manquée. Notre outil convertit les GIF en WebP instantanément, en toute confidentialité et sans limites, directement dans votre navigateur. Le résultat: des fichiers jusqu\'à 5 fois plus petits, une transparence parfaite et une compatibilité avec tous les navigateurs modernes.',
|
|
164
154
|
},
|
|
165
155
|
];
|
|
166
156
|
|
|
@@ -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 { GifAWebpLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'Spesifikasi GIF89a',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Dokumentasi Google WebP',
|
|
61
|
-
url: 'https://developers.google.com/speed/webp',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAWebpLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -79,11 +69,11 @@ const seo: GifAWebpLocaleContent['seo'] = [
|
|
|
79
69
|
},
|
|
80
70
|
{
|
|
81
71
|
type: 'paragraph',
|
|
82
|
-
html: 'GIF adalah format dari tahun 1987 yang awalnya tidak dirancang untuk animasi
|
|
72
|
+
html: 'GIF adalah format dari tahun 1987 yang awalnya tidak dirancang untuk animasi - fitur tersebut datang sebagai "hack" kemudian. Palet 256 warnanya, kompresi yang tidak efisien, dan ketidakmampuan untuk menangani audio menjadikannya format yang usang. WebP, yang dikembangkan oleh Google pada tahun 2010, menawarkan kompresi superior baik lossy maupun lossless, dukungan animasi asli, dan saluran alpha penuh.',
|
|
83
73
|
},
|
|
84
74
|
{
|
|
85
75
|
type: 'paragraph',
|
|
86
|
-
html: 'Bagi pengembang web, mengganti GIF dengan WebP pada halaman dapat berarti peningkatan skor Google PageSpeed sebesar 10 hingga 30 poin. Berat halaman yang lebih sedikit berarti Core Web Vitals yang lebih baik, peringkat SEO yang lebih baik, dan biaya bandwidth yang lebih rendah di server. Ini bukan sekadar peningkatan estetika
|
|
76
|
+
html: 'Bagi pengembang web, mengganti GIF dengan WebP pada halaman dapat berarti peningkatan skor Google PageSpeed sebesar 10 hingga 30 poin. Berat halaman yang lebih sedikit berarti Core Web Vitals yang lebih baik, peringkat SEO yang lebih baik, dan biaya bandwidth yang lebih rendah di server. Ini bukan sekadar peningkatan estetika - ini adalah keputusan arsitektur teknis.',
|
|
87
77
|
},
|
|
88
78
|
{
|
|
89
79
|
type: 'title',
|
|
@@ -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 { GifAWebpLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'Specifica GIF89a',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Documentazione Google WebP',
|
|
61
|
-
url: 'https://developers.google.com/speed/webp',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAWebpLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -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 { GifAWebpLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'GIF89a 仕様',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Google WebP ドキュメント',
|
|
61
|
-
url: 'https://developers.google.com/speed/webp',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAWebpLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -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 { GifAWebpLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'GIF89a 사양',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: '구글 WebP 문서',
|
|
61
|
-
url: 'https://developers.google.com/speed/webp',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAWebpLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -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 { GifAWebpLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAWebpLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAWebpLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'GIF89a Specificatie',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Google WebP Documentatie',
|
|
61
|
-
url: 'https://developers.google.com/speed/webp',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: GifAWebpLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -79,11 +69,11 @@ const seo: GifAWebpLocaleContent['seo'] = [
|
|
|
79
69
|
},
|
|
80
70
|
{
|
|
81
71
|
type: 'paragraph',
|
|
82
|
-
html: 'GIF is een formaat uit 1987 dat oorspronkelijk niet bedoeld was voor animaties
|
|
72
|
+
html: 'GIF is een formaat uit 1987 dat oorspronkelijk niet bedoeld was voor animaties - die functie kwam later als een hack. Het palet van 256 kleuren, de inefficiënte compressie en het onvermogen om audio te verwerken maken het een verouderd formaat. WebP, ontwikkeld door Google in 2010, biedt superieure compressie (zowel met als zonder verlies), systeemeigen ondersteuning voor animaties en een volledig alfakanaal.',
|
|
83
73
|
},
|
|
84
74
|
{
|
|
85
75
|
type: 'paragraph',
|
|
86
|
-
html: 'Voor een webontwikkelaar kan het vervangen van GIF\'s door WebP op pagina\'s een verbetering van 10 tot 30 punten in de Google PageSpeed score betekenen. Minder paginagewicht betekent betere Core Web Vitals, betere SEO-rankings en lagere bandbreedtekosten op servers. Het is niet alleen een esthetische verbetering
|
|
76
|
+
html: 'Voor een webontwikkelaar kan het vervangen van GIF\'s door WebP op pagina\'s een verbetering van 10 tot 30 punten in de Google PageSpeed score betekenen. Minder paginagewicht betekent betere Core Web Vitals, betere SEO-rankings en lagere bandbreedtekosten op servers. Het is niet alleen een esthetische verbetering - het is een technische architectuurbeslissing.',
|
|
87
77
|
},
|
|
88
78
|
{
|
|
89
79
|
type: 'title',
|