@jjlmoya/utils-converters 1.16.0 → 1.18.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 +4 -2
- 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/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 +1 -11
- package/src/tool/pngAJpg/i18n/en.ts +1 -11
- package/src/tool/pngAJpg/i18n/es.ts +1 -11
- package/src/tool/pngAJpg/i18n/fr.ts +3 -13
- package/src/tool/pngAJpg/i18n/id.ts +1 -11
- package/src/tool/pngAJpg/i18n/it.ts +1 -11
- package/src/tool/pngAJpg/i18n/ja.ts +1 -11
- package/src/tool/pngAJpg/i18n/ko.ts +1 -11
- package/src/tool/pngAJpg/i18n/nl.ts +1 -11
- package/src/tool/pngAJpg/i18n/pl.ts +7 -17
- package/src/tool/pngAJpg/i18n/pt.ts +1 -11
- package/src/tool/pngAJpg/i18n/ru.ts +9 -19
- package/src/tool/pngAJpg/i18n/sv.ts +1 -11
- package/src/tool/pngAJpg/i18n/tr.ts +1 -11
- package/src/tool/pngAJpg/i18n/zh.ts +6 -16
- 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 { GifAJpgLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAJpgLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAJpgLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'Joint Photographic Experts Group Teknik Özellikleri',
|
|
57
|
-
url: 'https://en.wikipedia.org/wiki/JPEG',
|
|
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: GifAJpgLocaleContent['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 { GifAJpgLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: GifAJpgLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAJpgLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'Joint Photographic Experts Group 技术规范',
|
|
57
|
-
url: 'https://en.wikipedia.org/wiki/JPEG',
|
|
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: GifAJpgLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -9,6 +9,7 @@ interface Props {
|
|
|
9
9
|
|
|
10
10
|
const { locale = 'es' } = Astro.props;
|
|
11
11
|
const content = await gifAJpg.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: 'World Wide Web Consortium: PNG format',
|
|
6
|
+
url: 'https://www.w3.org/TR/png/',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'CompuServe GIF Information',
|
|
10
|
+
url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
|
|
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 { 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: 'Binäre Transparenz von GIF vs. Alphakanal von PNG',
|
|
138
|
-
html: 'GIF unterstützt nur binäre Transparenz (opak oder transparent). Bei der Konvertierung in PNG bleiben die halbtransparenten Pixel des GIFs so erhalten, wie der Browser sie interpretiert. Wenn Ihr GIF gezackte Kanten hat, behält das PNG diese bei
|
|
128
|
+
html: 'GIF unterstützt nur binäre Transparenz (opak oder transparent). Bei der Konvertierung in PNG bleiben die halbtransparenten Pixel des GIFs so erhalten, wie der Browser sie interpretiert. Wenn Ihr GIF gezackte Kanten hat, behält das PNG diese bei - aber Sie können sie mit Kantenglättung in jedem Editor bearbeiten, was mit dem ursprünglichen GIF unmöglich ist.',
|
|
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: 'Beyond superior transparency, PNG removes GIF\'s 256-color limit. Screenshots, illustrations with gradients, logos with shadows
|
|
76
|
+
html: 'Beyond superior transparency, PNG removes GIF\'s 256-color limit. Screenshots, illustrations with gradients, logos with shadows - all look significantly better in PNG. And because it uses lossless compression, every pixel retains its exact original value, without the artifacts a JPG conversion would introduce.',
|
|
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: 'GIF binary transparency vs PNG full alpha channel',
|
|
138
|
-
html: 'GIF only supports binary transparency (opaque or transparent). When converting to PNG, the semi-transparent GIF pixels are preserved as the browser interprets them. If your GIF has jagged edges, the PNG will keep them
|
|
128
|
+
html: 'GIF only supports binary transparency (opaque or transparent). When converting to PNG, the semi-transparent GIF pixels are preserved as the browser interprets them. If your GIF has jagged edges, the PNG will keep them - but you can then smooth them with edge anti-aliasing in any editor, something impossible with the original 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',
|
|
@@ -135,7 +125,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Transparencia binaria del GIF vs canal alfa del PNG',
|
|
138
|
-
html: 'El GIF solo soporta transparencia binaria (opaco o transparente). Al convertir a PNG, los píxeles semi-transparentes del GIF se mantienen tal como el navegador los interpreta. Si tu GIF tiene bordes dentados, el PNG los conservará
|
|
128
|
+
html: 'El GIF solo soporta transparencia binaria (opaco o transparente). Al convertir a PNG, los píxeles semi-transparentes del GIF se mantienen tal como el navegador los interpreta. Si tu GIF tiene bordes dentados, el PNG los conservará - pero podrás editarlos con suavizado de bordes en cualquier editor, algo imposible con el 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,43 +52,32 @@ const howTo: GifAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: GifAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'World Wide Web Consortium: Format PNG',
|
|
57
|
-
url: 'https://www.w3.org/TR/png/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Information GIF CompuServe',
|
|
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',
|
|
68
|
-
text: 'Convertisseur GIF vers PNG
|
|
58
|
+
text: 'Convertisseur GIF vers PNG: Dépassez les Limites de Couleurs et de Transparence du GIF',
|
|
69
59
|
level: 2,
|
|
70
60
|
},
|
|
71
61
|
{
|
|
72
62
|
type: 'paragraph',
|
|
73
|
-
html: 'Le GIF a été conçu à une époque où les moniteurs pouvaient à peine afficher 256 couleurs. Des décennies plus tard, cette limitation reste sa plus grande faiblesse. Le PNG a été créé précisément pour remplacer le GIF dans tous les cas d\'usage où la qualité et la transparence importent
|
|
63
|
+
html: 'Le GIF a été conçu à une époque où les moniteurs pouvaient à peine afficher 256 couleurs. Des décennies plus tard, cette limitation reste sa plus grande faiblesse. Le PNG a été créé précisément pour remplacer le GIF dans tous les cas d\'usage où la qualité et la transparence importent: logos, icônes, graphiques d\'interface et toute image à fond transparent devant s\'afficher parfaitement sur n\'importe quelle couleur de fond.',
|
|
74
64
|
},
|
|
75
65
|
{
|
|
76
66
|
type: 'title',
|
|
77
|
-
text: 'GIF vs PNG
|
|
67
|
+
text: 'GIF vs PNG: la révolution des 16 millions de couleurs',
|
|
78
68
|
level: 3,
|
|
79
69
|
},
|
|
80
70
|
{
|
|
81
71
|
type: 'paragraph',
|
|
82
|
-
html: 'La différence la plus critique entre GIF et PNG n\'est pas seulement le nombre de couleurs. Le GIF supporte une transparence binaire
|
|
72
|
+
html: 'La différence la plus critique entre GIF et PNG n\'est pas seulement le nombre de couleurs. Le GIF supporte une transparence binaire: chaque pixel est soit opaque soit totalement transparent, sans gradation. Le PNG, en revanche, supporte un canal alpha complet avec 256 niveaux d\'opacité par pixel. Cela signifie que les bords d\'un logo en PNG peuvent être parfaitement lissés, tandis que ceux du GIF affichent un crénelage caractéristique sur les fonds colorés.',
|
|
83
73
|
},
|
|
84
74
|
{
|
|
85
75
|
type: 'paragraph',
|
|
86
|
-
html: 'En plus d\'une transparence supérieure, le PNG supprime la limite de 256 couleurs du GIF. Captures d\'écran, illustrations avec dégradés, logos avec ombres
|
|
76
|
+
html: 'En plus d\'une transparence supérieure, le PNG supprime la limite de 256 couleurs du GIF. Captures d\'écran, illustrations avec dégradés, logos avec ombres - tout s\'affiche bien mieux en PNG. Et comme il utilise une compression sans perte, chaque pixel conserve sa valeur exacte d\'origine, sans les artefacts qu\'une conversion JPG introduirait.',
|
|
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
|
{
|
|
@@ -114,7 +104,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
114
104
|
'Le GIF ne quitte jamais votre appareil',
|
|
115
105
|
'Conversion instantanée sans réseau',
|
|
116
106
|
'Aucune limite de fichiers ni de taille',
|
|
117
|
-
'Confidentialité absolue
|
|
107
|
+
'Confidentialité absolue: 0 octet envoyé',
|
|
118
108
|
],
|
|
119
109
|
},
|
|
120
110
|
],
|
|
@@ -135,7 +125,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Transparence binaire du GIF vs canal alpha complet du PNG',
|
|
138
|
-
html: 'Le GIF ne supporte que la transparence binaire (opaque ou transparent). Lors de la conversion en PNG, les pixels semi-transparents du GIF sont préservés tels que le navigateur les interprète. Si votre GIF a des bords crénelés, le PNG les conservera
|
|
128
|
+
html: 'Le GIF ne supporte que la transparence binaire (opaque ou transparent). Lors de la conversion en PNG, les pixels semi-transparents du GIF sont préservés tels que le navigateur les interprète. Si votre GIF a des bords crénelés, le PNG les conservera - mais vous pourrez ensuite les lisser avec un anti-aliasing dans n\'importe quel éditeur, chose impossible avec le GIF original.',
|
|
139
129
|
},
|
|
140
130
|
{
|
|
141
131
|
type: 'title',
|
|
@@ -155,12 +145,12 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
155
145
|
},
|
|
156
146
|
{
|
|
157
147
|
type: 'title',
|
|
158
|
-
text: 'Conclusion
|
|
148
|
+
text: 'Conclusion: le PNG est ce que le GIF a toujours voulu être',
|
|
159
149
|
level: 3,
|
|
160
150
|
},
|
|
161
151
|
{
|
|
162
152
|
type: 'paragraph',
|
|
163
|
-
html: 'Convertir un GIF en PNG n\'est pas seulement changer de format
|
|
153
|
+
html: 'Convertir un GIF en PNG n\'est pas seulement changer de format: c\'est mettre à jour une image vers le standard moderne que le GIF n\'a jamais pu atteindre. Plus de couleurs, meilleure transparence, moins de poids. Notre outil effectue cette conversion en quelques millisecondes, directement dans votre navigateur, sans envoyer aucune donnée à l\'extérieur.',
|
|
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',
|
|
@@ -135,7 +125,7 @@ const seo: GifAPngLocaleContent['seo'] = [
|
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Transparansi biner GIF vs saluran alfa PNG',
|
|
138
|
-
html: 'GIF hanya mendukung transparansi biner (buram atau transparan). Saat dikonversi ke PNG, piksel semi-transparan dari GIF tetap dipertahankan seperti yang diinterpretasikan oleh browser. Jika GIF Anda memiliki tepi yang bergerigi, PNG akan tetap menjaganya
|
|
128
|
+
html: 'GIF hanya mendukung transparansi biner (buram atau transparan). Saat dikonversi ke PNG, piksel semi-transparan dari GIF tetap dipertahankan seperti yang diinterpretasikan oleh browser. Jika GIF Anda memiliki tepi yang bergerigi, PNG akan tetap menjaganya - tetapi Anda dapat mengeditnya dengan penghalusan tepi di editor mana pun, sesuatu yang tidak mungkin dilakukan dengan GIF asli.',
|
|
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: 'Trasparenza binaria della GIF vs canale alfa del PNG',
|
|
138
|
-
html: 'Il GIF supporta solo la trasparenza binaria (opaco o trasparente). Convertendo in PNG, i pixel semitrasparenti della GIF si mantengono così come interpretati dal browser. Se la tua GIF ha bordi seghettati, il PNG li conserverà
|
|
128
|
+
html: 'Il GIF supporta solo la trasparenza binaria (opaco o trasparente). Convertendo in PNG, i pixel semitrasparenti della GIF si mantengono così come interpretati dal browser. Se la tua GIF ha bordi seghettati, il PNG li conserverà - ma potrai editarli con ammorbidimento dei bordi in qualsiasi editor, cosa impossibile con la GIF originale.',
|
|
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',
|
|
@@ -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
|
+
];
|