@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 { JpgAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: JpgAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: JpgAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'The W3C PNG Graphics',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/PNG/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Understanding Digital Image Compression',
|
|
61
|
-
url: 'https://en.wikipedia.org/wiki/Image_compression',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: JpgAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -70,7 +60,7 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
70
60
|
},
|
|
71
61
|
{
|
|
72
62
|
type: 'paragraph',
|
|
73
|
-
html: 'El <strong>JPG</strong> es insuperable para fotografías de cámara, pero tiene un talón de Aquiles: cada vez que guardas el archivo aplica de nuevo su compresión con pérdida, degradando progresivamente los bordes y los degradados. El <strong>PNG</strong> usa compresión sin pérdida
|
|
63
|
+
html: 'El <strong>JPG</strong> es insuperable para fotografías de cámara, pero tiene un talón de Aquiles: cada vez que guardas el archivo aplica de nuevo su compresión con pérdida, degradando progresivamente los bordes y los degradados. El <strong>PNG</strong> usa compresión sin pérdida - una vez guardado, los píxeles son inmutables. Convertir un JPG a PNG es la operación clave cuando necesitas preparar una imagen para edición intensiva, añadir un fondo transparente o integrarla en un flujo de diseño que requiere múltiples guardados.',
|
|
74
64
|
},
|
|
75
65
|
{
|
|
76
66
|
type: 'title',
|
|
@@ -111,8 +101,8 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
111
101
|
icon: 'mdi:laptop-mac',
|
|
112
102
|
highlight: true,
|
|
113
103
|
points: [
|
|
114
|
-
'Velocidad instantánea
|
|
115
|
-
'Privacidad total
|
|
104
|
+
'Velocidad instantánea - cero latencia de red',
|
|
105
|
+
'Privacidad total - 0 bytes enviados al exterior',
|
|
116
106
|
'Sin límites de MB ni de número de archivos',
|
|
117
107
|
'Interfaz limpia, sin anuncios ni rastreos',
|
|
118
108
|
],
|
|
@@ -126,16 +116,16 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
126
116
|
},
|
|
127
117
|
{
|
|
128
118
|
type: 'paragraph',
|
|
129
|
-
html: 'El proceso es puramente local: el navegador crea un <strong>Blob</strong> con el JPG seleccionado y lo dibuja sobre un <strong>Canvas HTML5</strong> en memoria. Una vez renderizado, se llama a <code>toDataURL(\'image/png\')</code>
|
|
119
|
+
html: 'El proceso es puramente local: el navegador crea un <strong>Blob</strong> con el JPG seleccionado y lo dibuja sobre un <strong>Canvas HTML5</strong> en memoria. Una vez renderizado, se llama a <code>toDataURL(\'image/png\')</code> - el codec PNG integrado en el navegador recodifica cada píxel sin aplicar ninguna nueva compresión con pérdida. El resultado es un PNG que preserva fielmente el estado actual del JPG: ni mejor ni peor, simplemente congelado.',
|
|
130
120
|
},
|
|
131
121
|
{
|
|
132
122
|
type: 'paragraph',
|
|
133
|
-
html: 'El PNG resultante utilizará compresión DEFLATE sin pérdida, la misma que emplean herramientas profesionales como Photoshop o GIMP. Su tamaño será mayor que el JPG original
|
|
123
|
+
html: 'El PNG resultante utilizará compresión DEFLATE sin pérdida, la misma que emplean herramientas profesionales como Photoshop o GIMP. Su tamaño será mayor que el JPG original - normalmente entre 2 y 5 veces - porque almacena todos los píxeles sin descartar información. Es el precio que se paga por la fidelidad y la editabilidad infinita.',
|
|
134
124
|
},
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Importante: el PNG no recupera la calidad JPEG',
|
|
138
|
-
html: 'Convertir un JPG a PNG <strong>no recupera la calidad perdida</strong> durante la compresión JPEG original. Si tu JPG ya tenía artefactos de bloque o ruido de color, el PNG los conservará intactos
|
|
128
|
+
html: 'Convertir un JPG a PNG <strong>no recupera la calidad perdida</strong> durante la compresión JPEG original. Si tu JPG ya tenía artefactos de bloque o ruido de color, el PNG los conservará intactos - simplemente evita que se añadan más. Piensa en la conversión como "congelar" el estado actual de la imagen para que ediciones futuras no la degraden más.',
|
|
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 { JpgAPngLocaleContent } from '../index';
|
|
@@ -51,26 +52,15 @@ const howTo: JpgAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: JpgAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'W3C PNG Graphics',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/PNG/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Comprendre la compression d\'image numérique',
|
|
61
|
-
url: 'https://en.wikipedia.org/wiki/Image_compression',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: JpgAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
68
|
-
text: 'Convertisseur JPG vers PNG
|
|
58
|
+
text: 'Convertisseur JPG vers PNG: Éditez sans perte de qualité et ajoutez de la transparence',
|
|
69
59
|
level: 2,
|
|
70
60
|
},
|
|
71
61
|
{
|
|
72
62
|
type: 'paragraph',
|
|
73
|
-
html: 'Le <strong>JPG</strong> est imbattable pour les photos de caméra, mais il a un talon d\'Achille
|
|
63
|
+
html: 'Le <strong>JPG</strong> est imbattable pour les photos de caméra, mais il a un talon d\'Achille: chaque fois que vous sauvegardez le fichier, il applique à nouveau sa compression avec perte, dégradant progressivement les bords et les dégradés. Le <strong>PNG</strong> utilise une compression sans perte - une fois sauvegardé, les pixels sont immuables. Convertir un JPG en PNG est l\'étape essentielle lorsque vous devez préparer une image pour une édition intensive, ajouter un fond transparent ou l\'intégrer dans un flux de travail de design nécessitant plusieurs sauvegardes.',
|
|
74
64
|
},
|
|
75
65
|
{
|
|
76
66
|
type: 'title',
|
|
@@ -79,15 +69,15 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
79
69
|
},
|
|
80
70
|
{
|
|
81
71
|
type: 'paragraph',
|
|
82
|
-
html: 'Le <strong>JPG</strong> est le roi de la photographie
|
|
72
|
+
html: 'Le <strong>JPG</strong> est le roi de la photographie: fichiers légers, compatibles avec tout. Mais ses artefacts de compression s\'accumulent à chaque édition et re-sauvegarde. Si vous devez recadrer, retoucher ou ajouter du texte à une image à plusieurs reprises, partir d\'un JPG signifie introduire de la dégradation à chaque cycle. Le JPG est également dépourvu de canal alpha: il ne peut pas avoir de fonds transparents, ce qui l\'exclut pour les logos, icônes et éléments d\'interface.',
|
|
83
73
|
},
|
|
84
74
|
{
|
|
85
75
|
type: 'paragraph',
|
|
86
|
-
html: 'Le <strong>PNG</strong> est le bon choix pour les logos d\'entreprise, les captures d\'écran avec du texte net, les éléments d\'interface, les images de produits sur fond blanc à découper, ou tout actif graphique qui sera édité plus d\'une fois. La compression sans perte garantit que les bords du texte restent parfaitement définis et que les couleurs unies demeurent pures
|
|
76
|
+
html: 'Le <strong>PNG</strong> est le bon choix pour les logos d\'entreprise, les captures d\'écran avec du texte net, les éléments d\'interface, les images de produits sur fond blanc à découper, ou tout actif graphique qui sera édité plus d\'une fois. La compression sans perte garantit que les bords du texte restent parfaitement définis et que les couleurs unies demeurent pures - sans bruit JPEG.',
|
|
87
77
|
},
|
|
88
78
|
{
|
|
89
79
|
type: 'title',
|
|
90
|
-
text: 'Comparatif
|
|
80
|
+
text: 'Comparatif: Conversion locale vs Cloud',
|
|
91
81
|
level: 3,
|
|
92
82
|
},
|
|
93
83
|
{
|
|
@@ -111,8 +101,8 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
111
101
|
icon: 'mdi:laptop-mac',
|
|
112
102
|
highlight: true,
|
|
113
103
|
points: [
|
|
114
|
-
'Vitesse instantanée
|
|
115
|
-
'Confidentialité totale
|
|
104
|
+
'Vitesse instantanée - zéro latence réseau',
|
|
105
|
+
'Confidentialité totale - 0 octet envoyé à l\'extérieur',
|
|
116
106
|
'Aucune limite de taille ni de nombre de fichiers',
|
|
117
107
|
'Interface épurée, sans publicités ni traçage',
|
|
118
108
|
],
|
|
@@ -126,16 +116,16 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
126
116
|
},
|
|
127
117
|
{
|
|
128
118
|
type: 'paragraph',
|
|
129
|
-
html: 'Le processus est entièrement local
|
|
119
|
+
html: 'Le processus est entièrement local: le navigateur crée un <strong>Blob</strong> à partir du JPG sélectionné et le dessine sur un <strong>Canvas HTML5</strong> en mémoire. Une fois rendu, il appelle <code>toDataURL(\'image/png\')</code> - le codec PNG intégré au navigateur ré-encode chaque pixel sans appliquer aucune nouvelle compression avec perte. Le résultat est un PNG qui préserve fidèlement l\'état actuel du JPG: ni meilleur ni moins bon, simplement figé.',
|
|
130
120
|
},
|
|
131
121
|
{
|
|
132
122
|
type: 'paragraph',
|
|
133
|
-
html: 'Le PNG résultant utilise la compression sans perte DEFLATE, la même qu\'emploient des outils professionnels comme Photoshop ou GIMP. Sa taille sera plus grande que le JPG original
|
|
123
|
+
html: 'Le PNG résultant utilise la compression sans perte DEFLATE, la même qu\'emploient des outils professionnels comme Photoshop ou GIMP. Sa taille sera plus grande que le JPG original - généralement 2 à 5 fois - car il stocke tous les pixels sans en éliminer. C\'est le prix à payer pour la fidélité et l\'éditabilité infinie.',
|
|
134
124
|
},
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
|
-
title: 'Important
|
|
138
|
-
html: 'Convertir un JPG en PNG <strong>ne récupère pas la qualité perdue</strong> lors de la compression JPEG originale. Si votre JPG présentait déjà des artefacts de blocs ou du bruit de couleur, le PNG les conservera intacts
|
|
127
|
+
title: 'Important: le PNG ne récupère pas la qualité JPEG',
|
|
128
|
+
html: 'Convertir un JPG en PNG <strong>ne récupère pas la qualité perdue</strong> lors de la compression JPEG originale. Si votre JPG présentait déjà des artefacts de blocs ou du bruit de couleur, le PNG les conservera intacts - il empêche simplement d\'en ajouter davantage. Considérez la conversion comme le fait de "figer" l\'état actuel de l\'image pour que les éditions futures ne la dégradent pas davantage.',
|
|
139
129
|
},
|
|
140
130
|
{
|
|
141
131
|
type: 'title',
|
|
@@ -160,7 +150,7 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
160
150
|
},
|
|
161
151
|
{
|
|
162
152
|
type: 'paragraph',
|
|
163
|
-
html: 'La conversion de JPG en PNG est la première étape de tout flux de travail de design sérieux. Elle ne transforme pas la qualité originale, mais protège chaque pixel des éditions futures. Avec cet outil, le processus se déroule instantanément et de manière totalement privée
|
|
153
|
+
html: 'La conversion de JPG en PNG est la première étape de tout flux de travail de design sérieux. Elle ne transforme pas la qualité originale, mais protège chaque pixel des éditions futures. Avec cet outil, le processus se déroule instantanément et de manière totalement privée - vos images professionnelles ou personnelles ne quittent à aucun moment votre appareil.',
|
|
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 { JpgAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: JpgAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: JpgAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'The W3C PNG Graphics',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/PNG/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Understanding Digital Image Compression',
|
|
61
|
-
url: 'https://en.wikipedia.org/wiki/Image_compression',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: JpgAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -70,7 +60,7 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
70
60
|
},
|
|
71
61
|
{
|
|
72
62
|
type: 'paragraph',
|
|
73
|
-
html: '<strong>JPG</strong> tidak tertandingi untuk foto kamera, tetapi memiliki kelemahan: setiap kali Anda menyimpan file, kompresi dengan hilangnya kualitas (lossy) diterapkan kembali, yang secara bertahap merusak tepi dan gradien. <strong>PNG</strong> menggunakan kompresi tanpa kehilangan (lossless)
|
|
63
|
+
html: '<strong>JPG</strong> tidak tertandingi untuk foto kamera, tetapi memiliki kelemahan: setiap kali Anda menyimpan file, kompresi dengan hilangnya kualitas (lossy) diterapkan kembali, yang secara bertahap merusak tepi dan gradien. <strong>PNG</strong> menggunakan kompresi tanpa kehilangan (lossless) - sekali disimpan, piksel tidak berubah. Mengubah JPG ke PNG adalah operasi kunci saat Anda perlu menyiapkan gambar untuk pengeditan intensif, menambahkan latar belakang transparan, atau mengintegrasikannya ke dalam alur desain yang memerlukan penyimpanan berulang kali.',
|
|
74
64
|
},
|
|
75
65
|
{
|
|
76
66
|
type: 'title',
|
|
@@ -111,8 +101,8 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
111
101
|
icon: 'mdi:laptop-mac',
|
|
112
102
|
highlight: true,
|
|
113
103
|
points: [
|
|
114
|
-
'Kecepatan instan
|
|
115
|
-
'Privasi total
|
|
104
|
+
'Kecepatan instan - nol latensi jaringan',
|
|
105
|
+
'Privasi total - 0 byte dikirim ke luar',
|
|
116
106
|
'Tanpa batasan MB atau jumlah file',
|
|
117
107
|
'Antarmuka bersih, tanpa iklan atau pelacakan',
|
|
118
108
|
],
|
|
@@ -126,16 +116,16 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
126
116
|
},
|
|
127
117
|
{
|
|
128
118
|
type: 'paragraph',
|
|
129
|
-
html: 'Prosesnya murni lokal: browser membuat <strong>Blob</strong> dengan JPG yang dipilih dan menggambarnya di atas <strong>Canvas HTML5</strong> di memori. Setelah dirender, <code>toDataURL(\'image/png\')</code> dipanggil
|
|
119
|
+
html: 'Prosesnya murni lokal: browser membuat <strong>Blob</strong> dengan JPG yang dipilih dan menggambarnya di atas <strong>Canvas HTML5</strong> di memori. Setelah dirender, <code>toDataURL(\'image/png\')</code> dipanggil - codec PNG yang terintegrasi dalam browser mengode ulang setiap piksel tanpa menerapkan kompresi baru yang merusak kualitas. Hasilnya adalah PNG yang secara setia menjaga kondisi JPG saat ini: tidak lebih baik atau lebih buruk, hanya dibekukan.',
|
|
130
120
|
},
|
|
131
121
|
{
|
|
132
122
|
type: 'paragraph',
|
|
133
|
-
html: 'PNG yang dihasilkan akan menggunakan kompresi DEFLATE tanpa kehilangan, sama seperti yang digunakan oleh alat profesional seperti Photoshop atau GIMP. Ukurannya akan lebih besar dari JPG asli
|
|
123
|
+
html: 'PNG yang dihasilkan akan menggunakan kompresi DEFLATE tanpa kehilangan, sama seperti yang digunakan oleh alat profesional seperti Photoshop atau GIMP. Ukurannya akan lebih besar dari JPG asli - biasanya antara 2 hingga 5 kali - karena menyimpan semua piksel tanpa membuang informasi. Ini adalah harga yang harus dibayar untuk kesetiaan dan kemampuan pengeditan yang tak terbatas.',
|
|
134
124
|
},
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Penting: PNG tidak memulihkan kualitas JPEG',
|
|
138
|
-
html: 'Mengubah JPG ke PNG <strong>tidak memulihkan kualitas yang hilang</strong> selama kompresi JPEG asli. Jika JPG Anda sudah memiliki artefak blok atau noise warna, PNG akan menyimpannya secara utuh
|
|
128
|
+
html: 'Mengubah JPG ke PNG <strong>tidak memulihkan kualitas yang hilang</strong> selama kompresi JPEG asli. Jika JPG Anda sudah memiliki artefak blok atau noise warna, PNG akan menyimpannya secara utuh - ia hanya mencegah penambahan artefak lainnya. Anggaplah konversi sebagai cara untuk "membekukan" kondisi gambar saat ini agar pengeditan di masa mendatang tidak semakin merusak kualitasnya.',
|
|
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 { JpgAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: JpgAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: JpgAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'The W3C PNG Graphics',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/PNG/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Understanding Digital Image Compression',
|
|
61
|
-
url: 'https://en.wikipedia.org/wiki/Image_compression',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: JpgAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -111,8 +101,8 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
111
101
|
icon: 'mdi:laptop-mac',
|
|
112
102
|
highlight: true,
|
|
113
103
|
points: [
|
|
114
|
-
'Velocità istantanea
|
|
115
|
-
'Privacy totale
|
|
104
|
+
'Velocità istantanea - zero latenza di rete',
|
|
105
|
+
'Privacy totale - 0 byte inviati all\'esterno',
|
|
116
106
|
'Nessun limite di MB né di numero di file',
|
|
117
107
|
'Interfaccia pulita, senza annunci o tracciamenti',
|
|
118
108
|
],
|
|
@@ -126,11 +116,11 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
126
116
|
},
|
|
127
117
|
{
|
|
128
118
|
type: 'paragraph',
|
|
129
|
-
html: 'Il processo è puramente locale: il browser crea un <strong>Blob</strong> con il JPG selezionato e lo disegna su un <strong>Canvas HTML5</strong> in memoria. Una volta renderizzato, viene chiamato <code>toDataURL(\'image/png\')</code>
|
|
119
|
+
html: 'Il processo è puramente locale: il browser crea un <strong>Blob</strong> con il JPG selezionato e lo disegna su un <strong>Canvas HTML5</strong> in memoria. Una volta renderizzato, viene chiamato <code>toDataURL(\'image/png\')</code> - il codec PNG integrato nel browser ricodifica ogni pixel senza applicare alcuna nuova compressione con perdita. Il risultato è un PNG che preserva fedelmente lo stato attuale del JPG: né meglio né peggio, semplicemente congelato.',
|
|
130
120
|
},
|
|
131
121
|
{
|
|
132
122
|
type: 'paragraph',
|
|
133
|
-
html: 'Il PNG risultante utilizzerà la compressione DEFLATE senza perdita, la stessa impiegata da strumenti professionali come Photoshop o GIMP. La sua dimensione sarà maggiore rispetto al JPG originale
|
|
123
|
+
html: 'Il PNG risultante utilizzerà la compressione DEFLATE senza perdita, la stessa impiegata da strumenti professionali come Photoshop o GIMP. La sua dimensione sarà maggiore rispetto al JPG originale - normalmente tra 2 e 5 volte - perché memorizza tutti i pixel senza scartare informazioni. È il prezzo da pagare per la fedeltà e l\'editabilità infinita.',
|
|
134
124
|
},
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
@@ -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 { JpgAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: JpgAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: JpgAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'The W3C PNG Graphics',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/PNG/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Understanding Digital Image Compression',
|
|
61
|
-
url: 'https://en.wikipedia.org/wiki/Image_compression',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: JpgAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -111,8 +101,8 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
111
101
|
icon: 'mdi:laptop-mac',
|
|
112
102
|
highlight: true,
|
|
113
103
|
points: [
|
|
114
|
-
'瞬時の速度
|
|
115
|
-
'完全なプライバシー
|
|
104
|
+
'瞬時の速度 - ネットワーク遅延ゼロ',
|
|
105
|
+
'完全なプライバシー - 0バイトが外部に送信される',
|
|
116
106
|
'ファイルサイズやファイル数の制限なし',
|
|
117
107
|
'広告やトラッキングのないクリーンなインターフェース',
|
|
118
108
|
],
|
|
@@ -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 { JpgAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: JpgAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: JpgAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'The W3C PNG Graphics',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/PNG/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Understanding Digital Image Compression',
|
|
61
|
-
url: 'https://en.wikipedia.org/wiki/Image_compression',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: JpgAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -111,8 +101,8 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
111
101
|
icon: 'mdi:laptop-mac',
|
|
112
102
|
highlight: true,
|
|
113
103
|
points: [
|
|
114
|
-
'실시간 속도
|
|
115
|
-
'철저한 프라이버시
|
|
104
|
+
'실시간 속도 - 네트워크 지연 제로',
|
|
105
|
+
'철저한 프라이버시 - 외부로 0바이트 전송',
|
|
116
106
|
'용량 및 파일 개수 제한 없음',
|
|
117
107
|
'광고나 추적이 없는 깨끗한 인터페이스',
|
|
118
108
|
],
|
|
@@ -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 { JpgAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: JpgAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: JpgAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'The W3C PNG Graphics',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/PNG/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Understanding Digital Image Compression',
|
|
61
|
-
url: 'https://en.wikipedia.org/wiki/Image_compression',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: JpgAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -70,7 +60,7 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
70
60
|
},
|
|
71
61
|
{
|
|
72
62
|
type: 'paragraph',
|
|
73
|
-
html: '<strong>JPG</strong> is onverslaanbaar voor camerafoto\'s, maar heeft een zwakke plek: elke keer dat je het bestand opslaat, wordt de compressie met verlies opnieuw toegepast, waardoor randen en gradiënten progressief verslechteren. <strong>PNG</strong> gebruikt verliesvrije compressie
|
|
63
|
+
html: '<strong>JPG</strong> is onverslaanbaar voor camerafoto\'s, maar heeft een zwakke plek: elke keer dat je het bestand opslaat, wordt de compressie met verlies opnieuw toegepast, waardoor randen en gradiënten progressief verslechteren. <strong>PNG</strong> gebruikt verliesvrije compressie - eenmaal opgeslagen, zijn de pixels onveranderlijk. JPG naar PNG converteren is de sleuteloperatie wanneer je een afbeelding moet voorbereiden voor intensieve bewerking, een transparante achtergrond wilt toevoegen of deze wilt integreren in een ontwerpproces dat meerdere keren opslaan vereist.',
|
|
74
64
|
},
|
|
75
65
|
{
|
|
76
66
|
type: 'title',
|
|
@@ -111,8 +101,8 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
111
101
|
icon: 'mdi:laptop-mac',
|
|
112
102
|
highlight: true,
|
|
113
103
|
points: [
|
|
114
|
-
'Directe snelheid
|
|
115
|
-
'Volledige privacy
|
|
104
|
+
'Directe snelheid - nul netwerklatentie',
|
|
105
|
+
'Volledige privacy - 0 bytes naar buiten verzonden',
|
|
116
106
|
'Geen MB-limieten of beperkingen op aantal bestanden',
|
|
117
107
|
'Schone interface, zonder advertenties of tracking',
|
|
118
108
|
],
|
|
@@ -126,16 +116,16 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
126
116
|
},
|
|
127
117
|
{
|
|
128
118
|
type: 'paragraph',
|
|
129
|
-
html: 'Het proces is puur lokaal: de browser maakt een <strong>Blob</strong> met de geselecteerde JPG en tekent deze op een <strong>HTML5 Canvas</strong> in het geheugen. Eenmaal gerenderd, wordt <code>toDataURL(\'image/png\')</code> aangeroepen
|
|
119
|
+
html: 'Het proces is puur lokaal: de browser maakt een <strong>Blob</strong> met de geselecteerde JPG en tekent deze op een <strong>HTML5 Canvas</strong> in het geheugen. Eenmaal gerenderd, wordt <code>toDataURL(\'image/png\')</code> aangeroepen - de in de browser geïntegreerde PNG-codec hercodeert elke pixel zonder nieuwe compressie met verlies toe te passen. Het resultaat is een PNG die de huidige staat van de JPG natuurgetrouw bewaart: niet beter en niet slechter, gewoon bevroren.',
|
|
130
120
|
},
|
|
131
121
|
{
|
|
132
122
|
type: 'paragraph',
|
|
133
|
-
html: 'De resulterende PNG gebruikt verliesvrije DEFLATE-compressie, dezelfde die professionele tools zoals Photoshop of GIMP gebruiken. De grootte zal groter zijn dan de originele JPG
|
|
123
|
+
html: 'De resulterende PNG gebruikt verliesvrije DEFLATE-compressie, dezelfde die professionele tools zoals Photoshop of GIMP gebruiken. De grootte zal groter zijn dan de originele JPG - meestal tussen 2 en 5 keer - omdat het alle pixels opslaat zonder informatie weg te gooien. Dat is de prijs voor trouw en oneindige bewerkbaarheid.',
|
|
134
124
|
},
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Belangrijk: PNG herstelt de JPEG kwaliteit niet',
|
|
138
|
-
html: 'Een JPG naar PNG converteren <strong>herstelt de verloren kwaliteit niet</strong> die tijdens de originele JPEG-compressie is verloren gegaan. Als je JPG al blok-artefacten of kleurruis had, zal de PNG deze intact houden
|
|
128
|
+
html: 'Een JPG naar PNG converteren <strong>herstelt de verloren kwaliteit niet</strong> die tijdens de originele JPEG-compressie is verloren gegaan. Als je JPG al blok-artefacten of kleurruis had, zal de PNG deze intact houden - het voorkomt simpelweg dat er meer wordt toegevoegd. Zie de conversie als het "bevriezen" van de huidige staat van de afbeelding zodat toekomstige bewerkingen deze niet verder verslechteren.',
|
|
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 { JpgAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: JpgAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: JpgAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'The W3C PNG Graphics',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/PNG/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Understanding Digital Image Compression',
|
|
61
|
-
url: 'https://en.wikipedia.org/wiki/Image_compression',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: JpgAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -70,7 +60,7 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
70
60
|
},
|
|
71
61
|
{
|
|
72
62
|
type: 'paragraph',
|
|
73
|
-
html: 'Format <strong>JPG</strong> jest bezkonkurencyjny w przypadku zdjęć z aparatu, ale ma słaby punkt: za każdym razem, gdy zapisujesz plik, ponownie stosowana jest kompresja stratna, co stopniowo pogarsza krawędzie i gradienty. <strong>PNG</strong> wykorzystuje kompresję bezstratną
|
|
63
|
+
html: 'Format <strong>JPG</strong> jest bezkonkurencyjny w przypadku zdjęć z aparatu, ale ma słaby punkt: za każdym razem, gdy zapisujesz plik, ponownie stosowana jest kompresja stratna, co stopniowo pogarsza krawędzie i gradienty. <strong>PNG</strong> wykorzystuje kompresję bezstratną - raz zapisane piksele są niezmienne. Konwersja JPG na PNG to kluczowa operacja, gdy musisz przygotować obraz do intensywnej edycji, dodać przezroczyste tło lub zintegrować go z procesem projektowania wymagającym wielokrotnego zapisywania.',
|
|
74
64
|
},
|
|
75
65
|
{
|
|
76
66
|
type: 'title',
|
|
@@ -111,8 +101,8 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
111
101
|
icon: 'mdi:laptop-mac',
|
|
112
102
|
highlight: true,
|
|
113
103
|
points: [
|
|
114
|
-
'Natychmiastowa prędkość
|
|
115
|
-
'Całkowita prywatność
|
|
104
|
+
'Natychmiastowa prędkość - zero opóźnień sieciowych',
|
|
105
|
+
'Całkowita prywatność - 0 bajtów wysłanych na zewnątrz',
|
|
116
106
|
'Brak limitów MB i liczby plików',
|
|
117
107
|
'Czysty interfejs, bez reklam i śledzenia',
|
|
118
108
|
],
|
|
@@ -126,16 +116,16 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
126
116
|
},
|
|
127
117
|
{
|
|
128
118
|
type: 'paragraph',
|
|
129
|
-
html: 'Proces jest czysto lokalny: przeglądarka tworzy <strong>Blob</strong> z wybranym JPG i rysuje go na <strong>HTML5 Canvas</strong> w pamięci. Po wyrenderowaniu wywoływana jest funkcja <code>toDataURL(\'image/png\')</code>
|
|
119
|
+
html: 'Proces jest czysto lokalny: przeglądarka tworzy <strong>Blob</strong> z wybranym JPG i rysuje go na <strong>HTML5 Canvas</strong> w pamięci. Po wyrenderowaniu wywoływana jest funkcja <code>toDataURL(\'image/png\')</code> - zintegrowany z przeglądarką kodek PNG ponownie koduje każdy piksel bez stosowania żadnej nowej kompresji stratnej. Wynikiem jest plik PNG, który wiernie zachowuje obecny stan JPG: ani lepszy, ani gorszy, po prostu zamrożony.',
|
|
130
120
|
},
|
|
131
121
|
{
|
|
132
122
|
type: 'paragraph',
|
|
133
|
-
html: 'Wynikowy plik PNG będzie wykorzystywał bezstratną kompresję DEFLATE, taką samą jak w profesjonalnych narzędziach takich jak Photoshop czy GIMP. Jego rozmiar będzie większy niż oryginalnego JPG
|
|
123
|
+
html: 'Wynikowy plik PNG będzie wykorzystywał bezstratną kompresję DEFLATE, taką samą jak w profesjonalnych narzędziach takich jak Photoshop czy GIMP. Jego rozmiar będzie większy niż oryginalnego JPG - zazwyczaj od 2 do 5 razy - ponieważ przechowuje wszystkie piksele bez odrzucania informacji. To cena za wierność i nieskończone możliwości edycji.',
|
|
134
124
|
},
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Ważne: PNG nie przywraca jakości JPEG',
|
|
138
|
-
html: 'Konwersja z JPG na PNG <strong>nie przywraca jakości utraconej</strong> podczas oryginalnej kompresji JPEG. Jeśli Twój JPG posiadał już artefakty blokowe lub szum kolorów, PNG zachowa je w stanie nienaruszonym
|
|
128
|
+
html: 'Konwersja z JPG na PNG <strong>nie przywraca jakości utraconej</strong> podczas oryginalnej kompresji JPEG. Jeśli Twój JPG posiadał już artefakty blokowe lub szum kolorów, PNG zachowa je w stanie nienaruszonym - po prostu zapobiega dodawaniu kolejnych. Myśl o konwersji jako o "zamrożeniu" obecnego stanu obrazu, tak aby przyszłe edycje nie degradowały go bardziej.',
|
|
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 { JpgAPngLocaleContent } from '../index';
|
|
@@ -51,17 +52,6 @@ const howTo: JpgAPngLocaleContent['howTo'] = [
|
|
|
51
52
|
},
|
|
52
53
|
];
|
|
53
54
|
|
|
54
|
-
const bibliography: JpgAPngLocaleContent['bibliography'] = [
|
|
55
|
-
{
|
|
56
|
-
name: 'The W3C PNG Graphics',
|
|
57
|
-
url: 'https://www.w3.org/Graphics/PNG/',
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'Understanding Digital Image Compression',
|
|
61
|
-
url: 'https://en.wikipedia.org/wiki/Image_compression',
|
|
62
|
-
},
|
|
63
|
-
];
|
|
64
|
-
|
|
65
55
|
const seo: JpgAPngLocaleContent['seo'] = [
|
|
66
56
|
{
|
|
67
57
|
type: 'title',
|
|
@@ -70,7 +60,7 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
70
60
|
},
|
|
71
61
|
{
|
|
72
62
|
type: 'paragraph',
|
|
73
|
-
html: 'O <strong>JPG</strong> é insuperável para fotografias de câmara, mas tem um calcanhar de Aquiles: cada vez que guarda o ficheiro, aplica de novo a sua compressão com perda, degradando progressivamente os bordos e os gradientes. O <strong>PNG</strong> usa compressão sem perda
|
|
63
|
+
html: 'O <strong>JPG</strong> é insuperável para fotografias de câmara, mas tem um calcanhar de Aquiles: cada vez que guarda o ficheiro, aplica de novo a sua compressão com perda, degradando progressivamente os bordos e os gradientes. O <strong>PNG</strong> usa compressão sem perda - uma vez guardado, os píxeis são imutáveis. Converter um JPG para PNG é a operação chave quando precisa de preparar uma imagem para edição intensiva, adicionar um fundo transparente ou integrá-la num fluxo de design que requer vários salvamentos.',
|
|
74
64
|
},
|
|
75
65
|
{
|
|
76
66
|
type: 'title',
|
|
@@ -111,8 +101,8 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
111
101
|
icon: 'mdi:laptop-mac',
|
|
112
102
|
highlight: true,
|
|
113
103
|
points: [
|
|
114
|
-
'Velocidade instantânea
|
|
115
|
-
'Privacidade total
|
|
104
|
+
'Velocidade instantânea - zero latência de rede',
|
|
105
|
+
'Privacidade total - 0 bytes enviados para o exterior',
|
|
116
106
|
'Sem limites de MB nem de número de ficheiros',
|
|
117
107
|
'Interface limpa, sem anúncios nem rastreios',
|
|
118
108
|
],
|
|
@@ -126,16 +116,16 @@ const seo: JpgAPngLocaleContent['seo'] = [
|
|
|
126
116
|
},
|
|
127
117
|
{
|
|
128
118
|
type: 'paragraph',
|
|
129
|
-
html: 'O processo é puramente local: o navegador cria um <strong>Blob</strong> com o JPG selecionado e desenha-o sobre um <strong>Canvas HTML5</strong> em memória. Uma vez renderizado, é chamado <code>toDataURL(\'image/png\')</code>
|
|
119
|
+
html: 'O processo é puramente local: o navegador cria um <strong>Blob</strong> com o JPG selecionado e desenha-o sobre um <strong>Canvas HTML5</strong> em memória. Uma vez renderizado, é chamado <code>toDataURL(\'image/png\')</code> - o codec PNG integrado no navegador recodifica cada píxel sem aplicar nenhuma nova compressão com perda. O resultado é um PNG que preserva fielmente o estado atual do JPG: nem melhor nem pior, simplesmente congelado.',
|
|
130
120
|
},
|
|
131
121
|
{
|
|
132
122
|
type: 'paragraph',
|
|
133
|
-
html: 'O PNG resultante utilizará compressão DEFLATE sem perda, a mesma que empregam ferramentas profissionais como o Photoshop ou o GIMP. O seu tamanho será maior do que o JPG original
|
|
123
|
+
html: 'O PNG resultante utilizará compressão DEFLATE sem perda, a mesma que empregam ferramentas profissionais como o Photoshop ou o GIMP. O seu tamanho será maior do que o JPG original - normalmente entre 2 e 5 vezes - porque armazena todos os píxeis sem descartar informação. É o preço que se paga pela fidelidade e pela editabilidade infinita.',
|
|
134
124
|
},
|
|
135
125
|
{
|
|
136
126
|
type: 'tip',
|
|
137
127
|
title: 'Importante: o PNG não recupera a qualidade JPEG',
|
|
138
|
-
html: 'Converter um JPG para PNG <strong>não recupera a qualidade perdida</strong> durante a compressão JPEG original. Se o seu JPG já tinha artefactos de bloco ou ruído de cor, o PNG conservá-los-á intactos
|
|
128
|
+
html: 'Converter um JPG para PNG <strong>não recupera a qualidade perdida</strong> durante a compressão JPEG original. Se o seu JPG já tinha artefactos de bloco ou ruído de cor, o PNG conservá-los-á intactos - simplesmente evita que se adicionem mais. Pense na conversão como "congelar" o estado atual da imagem para que edições futuras não a degradem mais.',
|
|
139
129
|
},
|
|
140
130
|
{
|
|
141
131
|
type: 'title',
|