@jjlmoya/utils-converters 1.25.0 → 1.26.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 +2 -2
- package/src/category/i18n/de.ts +1 -1
- package/src/category/i18n/en.ts +1 -1
- package/src/category/i18n/fr.ts +1 -1
- package/src/category/i18n/id.ts +1 -1
- package/src/category/i18n/it.ts +1 -1
- package/src/category/i18n/nl.ts +1 -1
- package/src/category/i18n/pl.ts +1 -1
- package/src/category/i18n/pt.ts +1 -1
- package/src/category/i18n/sv.ts +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +15 -15
- package/src/tool/avifAJpg/i18n/en.ts +164 -164
- package/src/tool/avifAJpg/i18n/es.ts +164 -164
- package/src/tool/avifAJpg/i18n/fr.ts +164 -164
- package/src/tool/avifAJpg/i18n/ja.ts +166 -166
- package/src/tool/avifAJpg/i18n/ko.ts +166 -166
- package/src/tool/avifAJpg/i18n/zh.ts +166 -166
- package/src/tool/avifAJpg/seo.astro +15 -15
- package/src/tool/avifAPng/i18n/en.ts +164 -164
- package/src/tool/avifAPng/i18n/es.ts +164 -164
- package/src/tool/avifAPng/i18n/fr.ts +164 -164
- package/src/tool/avifAPng/i18n/ja.ts +166 -166
- package/src/tool/avifAPng/i18n/ko.ts +166 -166
- package/src/tool/avifAPng/i18n/zh.ts +166 -166
- package/src/tool/avifAPng/seo.astro +15 -15
- package/src/tool/avifAWebp/i18n/en.ts +164 -164
- package/src/tool/avifAWebp/i18n/es.ts +164 -164
- package/src/tool/avifAWebp/i18n/fr.ts +164 -164
- package/src/tool/avifAWebp/i18n/ja.ts +166 -166
- package/src/tool/avifAWebp/i18n/ko.ts +166 -166
- package/src/tool/avifAWebp/i18n/zh.ts +166 -166
- package/src/tool/avifAWebp/seo.astro +15 -15
- package/src/tool/bmpAJpg/i18n/en.ts +164 -164
- package/src/tool/bmpAJpg/i18n/es.ts +164 -164
- package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
- package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
- package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
- package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
- package/src/tool/bmpAJpg/seo.astro +15 -15
- package/src/tool/bmpAPng/i18n/en.ts +164 -164
- package/src/tool/bmpAPng/i18n/es.ts +164 -164
- package/src/tool/bmpAPng/i18n/fr.ts +164 -164
- package/src/tool/bmpAPng/i18n/ja.ts +165 -165
- package/src/tool/bmpAPng/i18n/ko.ts +165 -165
- package/src/tool/bmpAPng/i18n/zh.ts +165 -165
- package/src/tool/bmpAPng/seo.astro +15 -15
- package/src/tool/bmpAWebp/i18n/en.ts +164 -164
- package/src/tool/bmpAWebp/i18n/es.ts +164 -164
- package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
- package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
- package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
- package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
- package/src/tool/bmpAWebp/seo.astro +15 -15
- package/src/tool/gifAJpg/i18n/en.ts +164 -164
- package/src/tool/gifAJpg/i18n/es.ts +164 -164
- package/src/tool/gifAJpg/i18n/fr.ts +164 -164
- package/src/tool/gifAJpg/i18n/ja.ts +166 -166
- package/src/tool/gifAJpg/i18n/ko.ts +166 -166
- package/src/tool/gifAJpg/i18n/zh.ts +166 -166
- package/src/tool/gifAJpg/seo.astro +15 -15
- package/src/tool/gifAPng/i18n/en.ts +164 -164
- package/src/tool/gifAPng/i18n/es.ts +164 -164
- package/src/tool/gifAPng/i18n/fr.ts +164 -164
- package/src/tool/gifAPng/i18n/ja.ts +166 -166
- package/src/tool/gifAPng/i18n/ko.ts +166 -166
- package/src/tool/gifAPng/i18n/zh.ts +166 -166
- package/src/tool/gifAPng/seo.astro +15 -15
- package/src/tool/gifAWebp/i18n/en.ts +164 -164
- package/src/tool/gifAWebp/i18n/es.ts +164 -164
- package/src/tool/gifAWebp/i18n/fr.ts +164 -164
- package/src/tool/gifAWebp/i18n/ja.ts +166 -166
- package/src/tool/gifAWebp/i18n/ko.ts +166 -166
- package/src/tool/gifAWebp/i18n/zh.ts +166 -166
- package/src/tool/gifAWebp/seo.astro +15 -15
- package/src/tool/imagenBase64/i18n/en.ts +154 -154
- package/src/tool/imagenBase64/i18n/es.ts +154 -154
- package/src/tool/imagenBase64/i18n/fr.ts +154 -154
- package/src/tool/imagenBase64/seo.astro +15 -15
- package/src/tool/jpgAIco/seo.astro +15 -15
- package/src/tool/jpgAPng/i18n/en.ts +164 -164
- package/src/tool/jpgAPng/i18n/es.ts +164 -164
- package/src/tool/jpgAPng/i18n/fr.ts +164 -164
- package/src/tool/jpgAPng/i18n/ja.ts +166 -166
- package/src/tool/jpgAPng/i18n/ko.ts +166 -166
- package/src/tool/jpgAPng/i18n/zh.ts +166 -166
- package/src/tool/jpgAPng/seo.astro +15 -15
- package/src/tool/jpgAWebp/i18n/en.ts +164 -164
- package/src/tool/jpgAWebp/i18n/es.ts +164 -164
- package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
- package/src/tool/jpgAWebp/seo.astro +15 -15
- package/src/tool/pngAIco/seo.astro +15 -15
- package/src/tool/pngAJpg/i18n/de.ts +21 -21
- package/src/tool/pngAJpg/i18n/es.ts +177 -177
- package/src/tool/pngAJpg/i18n/fr.ts +137 -137
- package/src/tool/pngAJpg/i18n/id.ts +89 -89
- package/src/tool/pngAJpg/i18n/it.ts +89 -89
- package/src/tool/pngAJpg/i18n/ko.ts +177 -177
- package/src/tool/pngAJpg/i18n/nl.ts +20 -20
- package/src/tool/pngAJpg/i18n/pl.ts +89 -89
- package/src/tool/pngAJpg/i18n/pt.ts +89 -89
- package/src/tool/pngAJpg/i18n/ru.ts +177 -177
- package/src/tool/pngAJpg/i18n/sv.ts +89 -89
- package/src/tool/pngAJpg/i18n/tr.ts +89 -89
- package/src/tool/pngAJpg/seo.astro +15 -15
- package/src/tool/pngAWebp/i18n/en.ts +164 -164
- package/src/tool/pngAWebp/i18n/es.ts +164 -164
- package/src/tool/pngAWebp/i18n/fr.ts +164 -164
- package/src/tool/pngAWebp/seo.astro +15 -15
- package/src/tool/svgAJpg/i18n/fr.ts +164 -164
- package/src/tool/svgAJpg/seo.astro +15 -15
- package/src/tool/svgAPng/i18n/fr.ts +164 -164
- package/src/tool/svgAPng/seo.astro +15 -15
- package/src/tool/webpAIco/seo.astro +15 -15
- package/src/tool/webpAJpg/seo.astro +15 -15
- package/src/tool/webpAPng/bibliography.ts +13 -13
- package/src/tool/webpAPng/i18n/de.ts +166 -166
- package/src/tool/webpAPng/i18n/es.ts +171 -171
- package/src/tool/webpAPng/i18n/fr.ts +166 -166
- package/src/tool/webpAPng/i18n/id.ts +166 -166
- package/src/tool/webpAPng/i18n/it.ts +166 -166
- package/src/tool/webpAPng/i18n/nl.ts +166 -166
- package/src/tool/webpAPng/i18n/pl.ts +166 -166
- package/src/tool/webpAPng/i18n/pt.ts +166 -166
- package/src/tool/webpAPng/i18n/ru.ts +166 -166
- package/src/tool/webpAPng/i18n/sv.ts +166 -166
- package/src/tool/webpAPng/i18n/tr.ts +167 -167
- package/src/tool/webpAPng/seo.astro +15 -15
|
@@ -19,27 +19,27 @@ const ui: ImageConverterUI = {
|
|
|
19
19
|
faqTitle: 'Często zadawane pytania',
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const faq: PngAJpgLocaleContent['faq'] = [
|
|
23
|
-
{
|
|
22
|
+
const faq: PngAJpgLocaleContent['faq'] = [
|
|
23
|
+
{
|
|
24
24
|
question: 'Dlaczego wybrać nasz lokalny konwerter PNG na JPG?',
|
|
25
|
-
answer:
|
|
25
|
+
answer:
|
|
26
26
|
'W przeciwieństwie do zwykłych usług narzędzie przetwarza pliki w całości w przeglądarce. Obrazy nie trafiają na zdalny dysk, więc zachowujesz kontrolę i prywatność danych.',
|
|
27
|
-
},
|
|
28
|
-
{
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
29
|
question: 'JPG czy PNG: który format wybrać?',
|
|
30
|
-
answer:
|
|
30
|
+
answer:
|
|
31
31
|
'PNG sprawdza się przy logotypach i przezroczystości. JPG lepiej nadaje się do zdjęć i banerów, ponieważ tworzy mniejsze pliki i przyspiesza ładowanie strony.',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
34
|
question: 'Jak działa konwersja bez wysyłania pliku?',
|
|
35
|
-
answer:
|
|
35
|
+
answer:
|
|
36
36
|
'Wykorzystujemy Canvas HTML5. Przeglądarka odtwarza obraz na niewidocznym płótnie, wypełnia przezroczystość bielą i bezpośrednio tworzy dane JPEG do pobrania.',
|
|
37
|
-
},
|
|
38
|
-
{
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
39
|
question: 'Czy narzędzie jest bezpieczne dla poufnych dokumentów?',
|
|
40
|
-
answer:
|
|
40
|
+
answer:
|
|
41
41
|
'Tak. W bankowości, medycynie i prawie bezpieczniej nie wysyłać obrazów do zewnętrznej usługi. Dane pozostają w pamięci urządzenia i znikają po zamknięciu karty.',
|
|
42
|
-
},
|
|
42
|
+
},
|
|
43
43
|
];
|
|
44
44
|
|
|
45
45
|
const howTo: PngAJpgLocaleContent['howTo'] = [
|
|
@@ -57,114 +57,114 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
|
|
|
57
57
|
},
|
|
58
58
|
];
|
|
59
59
|
|
|
60
|
-
const seo: PngAJpgLocaleContent['seo'] = [
|
|
61
|
-
{
|
|
62
|
-
type: 'title',
|
|
60
|
+
const seo: PngAJpgLocaleContent['seo'] = [
|
|
61
|
+
{
|
|
62
|
+
type: 'title',
|
|
63
63
|
text: 'Konwerter PNG na JPG: praktyczny przewodnik optymalizacji obrazów',
|
|
64
|
-
level: 2,
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
type: 'paragraph',
|
|
64
|
+
level: 2,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'paragraph',
|
|
68
68
|
html: 'W projektowaniu cyfrowym i tworzeniu stron liczy się szybkość. PNG zachowuje przezroczystość i jakość bez strat, ale może tworzyć duże pliki. JPG pomaga przyspieszyć strony i zmniejszyć rozmiar załączników.',
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
type: 'title',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
72
|
text: 'JPG czy PNG: co wybrać?',
|
|
73
|
-
level: 3,
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
type: 'paragraph',
|
|
73
|
+
level: 3,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
77
|
html: 'Nie ma jednego najlepszego formatu. PNG sprawdza się przy interfejsach, logotypach i przezroczystości, ale kompresja bez strat może znacznie zwiększyć rozmiar pliku.',
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
type: 'paragraph',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'paragraph',
|
|
81
81
|
html: 'JPG usuwa szczegóły trudne do zauważenia i tworzy lekkie obrazy. Pasuje do zdjęć, banerów i mediów społecznościowych, gdy ważne jest szybkie pobieranie.',
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
type: 'title',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: 'title',
|
|
85
85
|
text: 'Porównanie techniczne: lokalnie czy w chmurze',
|
|
86
|
-
level: 3,
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
type: 'comparative',
|
|
90
|
-
items: [
|
|
91
|
-
{
|
|
86
|
+
level: 3,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'comparative',
|
|
90
|
+
items: [
|
|
91
|
+
{
|
|
92
92
|
title: 'Konwertery w chmurze',
|
|
93
93
|
description: 'Zwykłe usługi wysyłające zdjęcia na zdalny serwer.',
|
|
94
|
-
icon: 'mdi:cloud-upload',
|
|
95
|
-
pointIcon: 'mdi:close-circle-outline',
|
|
96
|
-
points: [
|
|
94
|
+
icon: 'mdi:cloud-upload',
|
|
95
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
96
|
+
points: [
|
|
97
97
|
'Opóźnienia sieci (wysyłanie/pobieranie)',
|
|
98
98
|
'Ryzyko wycieku prywatnych danych',
|
|
99
99
|
'Limity rozmiaru pliku',
|
|
100
100
|
'Reklamy i moduły śledzące',
|
|
101
|
-
],
|
|
102
|
-
},
|
|
103
|
-
{
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
104
|
title: 'Nasza architektura lokalna',
|
|
105
105
|
description: 'Bezpośrednie przetwarzanie na urządzeniu w natywnym JavaScripcie.',
|
|
106
|
-
icon: 'mdi:laptop-mac',
|
|
107
|
-
highlight: true,
|
|
108
|
-
points: [
|
|
106
|
+
icon: 'mdi:laptop-mac',
|
|
107
|
+
highlight: true,
|
|
108
|
+
points: [
|
|
109
109
|
'Natychmiastowa praca bez sieci',
|
|
110
110
|
'Gwarantowana prywatność (zero wysłanych bajtów)',
|
|
111
111
|
'Brak limitu MB na plik',
|
|
112
112
|
'Czysty, profesjonalny interfejs',
|
|
113
|
-
],
|
|
114
|
-
},
|
|
115
|
-
],
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
type: 'title',
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
119
|
text: 'Jak działa konwersja techniczna',
|
|
120
|
-
level: 3,
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
type: 'paragraph',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
124
|
html: 'Konwersja bez serwera korzysta z nowoczesnych API przeglądarki. Po wybraniu pliku powstaje tymczasowy Blob w pamięci RAM, który trafia na niewidoczny Canvas HTML5.',
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
type: 'paragraph',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'paragraph',
|
|
128
128
|
html: 'JPG nie obsługuje przezroczystości, więc przezroczyste obszary wypełniamy bielą przed renderowaniem. Canvas tworzy następnie dane JPEG zapisywane bezpośrednio na urządzeniu.',
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
type: 'tip',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'tip',
|
|
132
132
|
title: 'Wskazówka SEO: właściwy rozmiar',
|
|
133
133
|
html: 'Lżejszy obraz może poprawić LCP i wyniki PageSpeed. Zamiana dużego PNG na mniejszy JPG jest przydatna w nagłówkach oraz na stronach z wieloma grafikami.',
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
type: 'title',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'title',
|
|
137
137
|
text: 'Bezpieczeństwo dla firm i profesjonalistów',
|
|
138
|
-
level: 3,
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
type: 'paragraph',
|
|
138
|
+
level: 3,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'paragraph',
|
|
142
142
|
html: 'W bankowości, medycynie i prawie wysyłanie plików do zewnętrznych usług może być ryzykowne. Tutaj przetwarzanie odbywa się w pamięci przeglądarki bez przesyłania do chmury.',
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
type: 'title',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
146
|
text: 'Zgodność wyniku',
|
|
147
|
-
level: 3,
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
type: 'list',
|
|
151
|
-
icon: 'mdi:check-circle',
|
|
152
|
-
items: [
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
153
|
'Przeglądarki obrazów w Windows, macOS i telefonach.',
|
|
154
154
|
'Media społecznościowe (Instagram, LinkedIn i inne).',
|
|
155
155
|
'Programy biurowe (Word, PowerPoint).',
|
|
156
156
|
'Systemy zarządzania treścią (WordPress, Shopify).',
|
|
157
|
-
],
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
type: 'title',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'title',
|
|
161
161
|
text: 'Wniosek: optymalizuj świadomie',
|
|
162
|
-
level: 3,
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
type: 'paragraph',
|
|
162
|
+
level: 3,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'paragraph',
|
|
166
166
|
html: 'Ten konwerter łączy szybkość z prywatnością. Niezależnie od tego, czy tworzysz strony, czy używasz ich w domu, zmniejszysz obrazy bez przekazywania plików firmom zewnętrznym.',
|
|
167
|
-
},
|
|
167
|
+
},
|
|
168
168
|
];
|
|
169
169
|
|
|
170
170
|
|
|
@@ -19,27 +19,27 @@ const ui: ImageConverterUI = {
|
|
|
19
19
|
faqTitle: 'Perguntas Frequentes',
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const faq: PngAJpgLocaleContent['faq'] = [
|
|
23
|
-
{
|
|
22
|
+
const faq: PngAJpgLocaleContent['faq'] = [
|
|
23
|
+
{
|
|
24
24
|
question: 'Por que escolher o nosso conversor local de PNG para JPG?',
|
|
25
|
-
answer:
|
|
25
|
+
answer:
|
|
26
26
|
'Ao contrário dos serviços convencionais, esta ferramenta processa os ficheiros inteiramente no navegador. As imagens nunca chegam a um disco remoto, mantendo o controlo e a privacidade dos seus dados.',
|
|
27
|
-
},
|
|
28
|
-
{
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
29
|
question: 'JPG ou PNG: qual é o melhor para o meu caso?',
|
|
30
|
-
answer:
|
|
30
|
+
answer:
|
|
31
31
|
'O PNG é ideal para logótipos e elementos transparentes. O JPG é mais indicado para fotografias e banners, pois cria ficheiros muito mais pequenos e acelera o carregamento das páginas.',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
34
|
question: 'Como funciona a conversão sem enviar os ficheiros?',
|
|
35
|
-
answer:
|
|
35
|
+
answer:
|
|
36
36
|
'Utilizamos o Canvas HTML5. O navegador recria a imagem numa área virtual invisível, preenche a transparência com branco e gera diretamente os bytes JPEG para descarregar.',
|
|
37
|
-
},
|
|
38
|
-
{
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
39
|
question: 'É seguro para documentos confidenciais?',
|
|
40
|
-
answer:
|
|
40
|
+
answer:
|
|
41
41
|
'Sim. Para banca, saúde e direito, é mais seguro não enviar imagens para serviços externos: o processamento fica na RAM do dispositivo e termina quando fecha o separador.',
|
|
42
|
-
},
|
|
42
|
+
},
|
|
43
43
|
];
|
|
44
44
|
|
|
45
45
|
const howTo: PngAJpgLocaleContent['howTo'] = [
|
|
@@ -57,114 +57,114 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
|
|
|
57
57
|
},
|
|
58
58
|
];
|
|
59
59
|
|
|
60
|
-
const seo: PngAJpgLocaleContent['seo'] = [
|
|
61
|
-
{
|
|
62
|
-
type: 'title',
|
|
60
|
+
const seo: PngAJpgLocaleContent['seo'] = [
|
|
61
|
+
{
|
|
62
|
+
type: 'title',
|
|
63
63
|
text: 'Conversor de PNG para JPG: guia prática para otimizar imagens',
|
|
64
|
-
level: 2,
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
type: 'paragraph',
|
|
64
|
+
level: 2,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: 'paragraph',
|
|
68
68
|
html: 'No design digital e no desenvolvimento web, a velocidade é importante. O PNG preserva transparência e qualidade sem perdas, mas pode criar ficheiros pesados. Para páginas rápidas e anexos leves, converter para JPG é uma escolha prática.',
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
type: 'title',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'title',
|
|
72
72
|
text: 'JPG ou PNG: qual escolher?',
|
|
73
|
-
level: 3,
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
type: 'paragraph',
|
|
73
|
+
level: 3,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'paragraph',
|
|
77
77
|
html: 'Não existe um formato melhor em todas as situações. O PNG é adequado para interfaces, logótipos e transparência, mas a compressão sem perdas pode gerar ficheiros muito maiores.',
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
type: 'paragraph',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: 'paragraph',
|
|
81
81
|
html: 'O JPG remove detalhes pouco percetíveis e cria imagens leves. É uma boa opção para fotografias, banners e redes sociais, trocando uma pequena perda por carregamentos mais rápidos.',
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
type: 'title',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
type: 'title',
|
|
85
85
|
text: 'Comparação técnica: processamento local e cloud',
|
|
86
|
-
level: 3,
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
type: 'comparative',
|
|
90
|
-
items: [
|
|
91
|
-
{
|
|
86
|
+
level: 3,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
type: 'comparative',
|
|
90
|
+
items: [
|
|
91
|
+
{
|
|
92
92
|
title: 'Conversores na cloud',
|
|
93
93
|
description: 'Serviços tradicionais que enviam as fotografias para um servidor remoto.',
|
|
94
|
-
icon: 'mdi:cloud-upload',
|
|
95
|
-
pointIcon: 'mdi:close-circle-outline',
|
|
96
|
-
points: [
|
|
94
|
+
icon: 'mdi:cloud-upload',
|
|
95
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
96
|
+
points: [
|
|
97
97
|
'Latência de rede (carregamento/descarregamento)',
|
|
98
98
|
'Risco de fuga de dados privados',
|
|
99
99
|
'Limites de tamanho por ficheiro',
|
|
100
100
|
'Publicidade e rastreadores',
|
|
101
|
-
],
|
|
102
|
-
},
|
|
103
|
-
{
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
104
|
title: 'A nossa arquitetura local',
|
|
105
105
|
description: 'Processamento direto no seu dispositivo com JavaScript nativo.',
|
|
106
|
-
icon: 'mdi:laptop-mac',
|
|
107
|
-
highlight: true,
|
|
108
|
-
points: [
|
|
106
|
+
icon: 'mdi:laptop-mac',
|
|
107
|
+
highlight: true,
|
|
108
|
+
points: [
|
|
109
109
|
'Velocidade imediata sem rede',
|
|
110
110
|
'Privacidade garantida (zero bytes enviados)',
|
|
111
111
|
'Sem limite de MB por ficheiro',
|
|
112
112
|
'Interface profissional e limpa',
|
|
113
|
-
],
|
|
114
|
-
},
|
|
115
|
-
],
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
type: 'title',
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
119
|
text: 'Como funciona a conversão técnica',
|
|
120
|
-
level: 3,
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
type: 'paragraph',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
124
|
html: 'A conversão sem servidor usa as APIs modernas do navegador. Ao escolher um ficheiro, é criado um Blob temporário na RAM e desenhado num Canvas HTML5 invisível.',
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
type: 'paragraph',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'paragraph',
|
|
128
128
|
html: 'Como o JPG não suporta transparência, as áreas transparentes são preenchidas a branco antes da composição. O Canvas gera então o fluxo JPEG que o dispositivo guarda diretamente.',
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
type: 'tip',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'tip',
|
|
132
132
|
title: 'Dica de SEO: o tamanho ideal',
|
|
133
133
|
html: 'Uma imagem mais leve pode melhorar o LCP e as métricas do PageSpeed. Reduzir um PNG grande para um JPG menor é útil em cabeçalhos, artigos e páginas com muitas imagens.',
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
type: 'title',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'title',
|
|
137
137
|
text: 'Segurança para empresas e profissionais',
|
|
138
|
-
level: 3,
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
type: 'paragraph',
|
|
138
|
+
level: 3,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
type: 'paragraph',
|
|
142
142
|
html: 'Para banca, saúde e direito, enviar ficheiros para serviços externos pode criar riscos. Aqui o processamento fica na RAM do navegador e não exige carregamento para a cloud.',
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
type: 'title',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'title',
|
|
146
146
|
text: 'Compatibilidade do resultado',
|
|
147
|
-
level: 3,
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
type: 'list',
|
|
151
|
-
icon: 'mdi:check-circle',
|
|
152
|
-
items: [
|
|
147
|
+
level: 3,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'list',
|
|
151
|
+
icon: 'mdi:check-circle',
|
|
152
|
+
items: [
|
|
153
153
|
'Visualizadores do Windows, macOS e dispositivos móveis.',
|
|
154
154
|
'Redes sociais (Instagram, LinkedIn e outras).',
|
|
155
155
|
'Ferramentas de escritório (Word, PowerPoint).',
|
|
156
156
|
'Gestores de conteúdos (WordPress, Shopify).',
|
|
157
|
-
],
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
type: 'title',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'title',
|
|
161
161
|
text: 'Conclusão: otimize com critério',
|
|
162
|
-
level: 3,
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
type: 'paragraph',
|
|
162
|
+
level: 3,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'paragraph',
|
|
166
166
|
html: 'Este conversor combina rapidez e privacidade. Quer seja programador ou utilizador doméstico, pode reduzir o tamanho das imagens sem entregar os ficheiros a um serviço externo.',
|
|
167
|
-
},
|
|
167
|
+
},
|
|
168
168
|
];
|
|
169
169
|
|
|
170
170
|
|