@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.
Files changed (133) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/en.ts +1 -1
  4. package/src/category/i18n/fr.ts +1 -1
  5. package/src/category/i18n/id.ts +1 -1
  6. package/src/category/i18n/it.ts +1 -1
  7. package/src/category/i18n/nl.ts +1 -1
  8. package/src/category/i18n/pl.ts +1 -1
  9. package/src/category/i18n/pt.ts +1 -1
  10. package/src/category/i18n/sv.ts +1 -1
  11. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  12. package/src/tests/category_seo_quality.test.ts +74 -0
  13. package/src/tests/faq_count.test.ts +1 -1
  14. package/src/tests/no_h1_in_components.test.ts +1 -1
  15. package/src/tests/seo_parity.test.ts +2 -2
  16. package/src/tests/seo_wellformed_export.test.ts +65 -0
  17. package/src/tests/tool_validation.test.ts +15 -15
  18. package/src/tool/avifAJpg/i18n/en.ts +164 -164
  19. package/src/tool/avifAJpg/i18n/es.ts +164 -164
  20. package/src/tool/avifAJpg/i18n/fr.ts +164 -164
  21. package/src/tool/avifAJpg/i18n/ja.ts +166 -166
  22. package/src/tool/avifAJpg/i18n/ko.ts +166 -166
  23. package/src/tool/avifAJpg/i18n/zh.ts +166 -166
  24. package/src/tool/avifAJpg/seo.astro +15 -15
  25. package/src/tool/avifAPng/i18n/en.ts +164 -164
  26. package/src/tool/avifAPng/i18n/es.ts +164 -164
  27. package/src/tool/avifAPng/i18n/fr.ts +164 -164
  28. package/src/tool/avifAPng/i18n/ja.ts +166 -166
  29. package/src/tool/avifAPng/i18n/ko.ts +166 -166
  30. package/src/tool/avifAPng/i18n/zh.ts +166 -166
  31. package/src/tool/avifAPng/seo.astro +15 -15
  32. package/src/tool/avifAWebp/i18n/en.ts +164 -164
  33. package/src/tool/avifAWebp/i18n/es.ts +164 -164
  34. package/src/tool/avifAWebp/i18n/fr.ts +164 -164
  35. package/src/tool/avifAWebp/i18n/ja.ts +166 -166
  36. package/src/tool/avifAWebp/i18n/ko.ts +166 -166
  37. package/src/tool/avifAWebp/i18n/zh.ts +166 -166
  38. package/src/tool/avifAWebp/seo.astro +15 -15
  39. package/src/tool/bmpAJpg/i18n/en.ts +164 -164
  40. package/src/tool/bmpAJpg/i18n/es.ts +164 -164
  41. package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
  42. package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
  43. package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
  44. package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
  45. package/src/tool/bmpAJpg/seo.astro +15 -15
  46. package/src/tool/bmpAPng/i18n/en.ts +164 -164
  47. package/src/tool/bmpAPng/i18n/es.ts +164 -164
  48. package/src/tool/bmpAPng/i18n/fr.ts +164 -164
  49. package/src/tool/bmpAPng/i18n/ja.ts +165 -165
  50. package/src/tool/bmpAPng/i18n/ko.ts +165 -165
  51. package/src/tool/bmpAPng/i18n/zh.ts +165 -165
  52. package/src/tool/bmpAPng/seo.astro +15 -15
  53. package/src/tool/bmpAWebp/i18n/en.ts +164 -164
  54. package/src/tool/bmpAWebp/i18n/es.ts +164 -164
  55. package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
  56. package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
  57. package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
  58. package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
  59. package/src/tool/bmpAWebp/seo.astro +15 -15
  60. package/src/tool/gifAJpg/i18n/en.ts +164 -164
  61. package/src/tool/gifAJpg/i18n/es.ts +164 -164
  62. package/src/tool/gifAJpg/i18n/fr.ts +164 -164
  63. package/src/tool/gifAJpg/i18n/ja.ts +166 -166
  64. package/src/tool/gifAJpg/i18n/ko.ts +166 -166
  65. package/src/tool/gifAJpg/i18n/zh.ts +166 -166
  66. package/src/tool/gifAJpg/seo.astro +15 -15
  67. package/src/tool/gifAPng/i18n/en.ts +164 -164
  68. package/src/tool/gifAPng/i18n/es.ts +164 -164
  69. package/src/tool/gifAPng/i18n/fr.ts +164 -164
  70. package/src/tool/gifAPng/i18n/ja.ts +166 -166
  71. package/src/tool/gifAPng/i18n/ko.ts +166 -166
  72. package/src/tool/gifAPng/i18n/zh.ts +166 -166
  73. package/src/tool/gifAPng/seo.astro +15 -15
  74. package/src/tool/gifAWebp/i18n/en.ts +164 -164
  75. package/src/tool/gifAWebp/i18n/es.ts +164 -164
  76. package/src/tool/gifAWebp/i18n/fr.ts +164 -164
  77. package/src/tool/gifAWebp/i18n/ja.ts +166 -166
  78. package/src/tool/gifAWebp/i18n/ko.ts +166 -166
  79. package/src/tool/gifAWebp/i18n/zh.ts +166 -166
  80. package/src/tool/gifAWebp/seo.astro +15 -15
  81. package/src/tool/imagenBase64/i18n/en.ts +154 -154
  82. package/src/tool/imagenBase64/i18n/es.ts +154 -154
  83. package/src/tool/imagenBase64/i18n/fr.ts +154 -154
  84. package/src/tool/imagenBase64/seo.astro +15 -15
  85. package/src/tool/jpgAIco/seo.astro +15 -15
  86. package/src/tool/jpgAPng/i18n/en.ts +164 -164
  87. package/src/tool/jpgAPng/i18n/es.ts +164 -164
  88. package/src/tool/jpgAPng/i18n/fr.ts +164 -164
  89. package/src/tool/jpgAPng/i18n/ja.ts +166 -166
  90. package/src/tool/jpgAPng/i18n/ko.ts +166 -166
  91. package/src/tool/jpgAPng/i18n/zh.ts +166 -166
  92. package/src/tool/jpgAPng/seo.astro +15 -15
  93. package/src/tool/jpgAWebp/i18n/en.ts +164 -164
  94. package/src/tool/jpgAWebp/i18n/es.ts +164 -164
  95. package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
  96. package/src/tool/jpgAWebp/seo.astro +15 -15
  97. package/src/tool/pngAIco/seo.astro +15 -15
  98. package/src/tool/pngAJpg/i18n/de.ts +21 -21
  99. package/src/tool/pngAJpg/i18n/es.ts +177 -177
  100. package/src/tool/pngAJpg/i18n/fr.ts +137 -137
  101. package/src/tool/pngAJpg/i18n/id.ts +89 -89
  102. package/src/tool/pngAJpg/i18n/it.ts +89 -89
  103. package/src/tool/pngAJpg/i18n/ko.ts +177 -177
  104. package/src/tool/pngAJpg/i18n/nl.ts +20 -20
  105. package/src/tool/pngAJpg/i18n/pl.ts +89 -89
  106. package/src/tool/pngAJpg/i18n/pt.ts +89 -89
  107. package/src/tool/pngAJpg/i18n/ru.ts +177 -177
  108. package/src/tool/pngAJpg/i18n/sv.ts +89 -89
  109. package/src/tool/pngAJpg/i18n/tr.ts +89 -89
  110. package/src/tool/pngAJpg/seo.astro +15 -15
  111. package/src/tool/pngAWebp/i18n/en.ts +164 -164
  112. package/src/tool/pngAWebp/i18n/es.ts +164 -164
  113. package/src/tool/pngAWebp/i18n/fr.ts +164 -164
  114. package/src/tool/pngAWebp/seo.astro +15 -15
  115. package/src/tool/svgAJpg/i18n/fr.ts +164 -164
  116. package/src/tool/svgAJpg/seo.astro +15 -15
  117. package/src/tool/svgAPng/i18n/fr.ts +164 -164
  118. package/src/tool/svgAPng/seo.astro +15 -15
  119. package/src/tool/webpAIco/seo.astro +15 -15
  120. package/src/tool/webpAJpg/seo.astro +15 -15
  121. package/src/tool/webpAPng/bibliography.ts +13 -13
  122. package/src/tool/webpAPng/i18n/de.ts +166 -166
  123. package/src/tool/webpAPng/i18n/es.ts +171 -171
  124. package/src/tool/webpAPng/i18n/fr.ts +166 -166
  125. package/src/tool/webpAPng/i18n/id.ts +166 -166
  126. package/src/tool/webpAPng/i18n/it.ts +166 -166
  127. package/src/tool/webpAPng/i18n/nl.ts +166 -166
  128. package/src/tool/webpAPng/i18n/pl.ts +166 -166
  129. package/src/tool/webpAPng/i18n/pt.ts +166 -166
  130. package/src/tool/webpAPng/i18n/ru.ts +166 -166
  131. package/src/tool/webpAPng/i18n/sv.ts +166 -166
  132. package/src/tool/webpAPng/i18n/tr.ts +167 -167
  133. package/src/tool/webpAPng/seo.astro +15 -15
@@ -1,168 +1,168 @@
1
1
  import { bibliography } from '../bibliography';
2
- import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
3
- import { generateSchemas } from '../../../shared/logic/schemas';
4
- import type { WebpAPngLocaleContent } from '../index';
5
-
6
- const slug = 'konwerter-webp-na-png';
7
- const title = 'Konwertuj WebP na PNG Online i Za Darmo';
8
- const description =
9
- 'Konwertuj obrazy WebP na PNG w przeglądarce. Zachowuje przezroczystość. Brak przesyłania plików na serwery. Darmowe i w 100% prywatne.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Przeciągnij pliki WebP...',
13
- convertText: 'Aby błyskawicznie przekonwertować je na PNG',
14
- selectFiles: 'Wybierz pliki',
15
- processedFiles: 'Przetworzone pliki',
16
- downloadAll: 'Pobierz wszystko (.zip)',
2
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
3
+ import { generateSchemas } from '../../../shared/logic/schemas';
4
+ import type { WebpAPngLocaleContent } from '../index';
5
+
6
+ const slug = 'konwerter-webp-na-png';
7
+ const title = 'Konwertuj WebP na PNG Online i Za Darmo';
8
+ const description =
9
+ 'Konwertuj obrazy WebP na PNG w przeglądarce. Zachowuje przezroczystość. Brak przesyłania plików na serwery. Darmowe i w 100% prywatne.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Przeciągnij pliki WebP...',
13
+ convertText: 'Aby błyskawicznie przekonwertować je na PNG',
14
+ selectFiles: 'Wybierz pliki',
15
+ processedFiles: 'Przetworzone pliki',
16
+ downloadAll: 'Pobierz wszystko (.zip)',
17
17
  pending: 'Oczekujące',
18
- bibliographyTitle: 'Bibliografia',
19
- faqTitle: 'Często Zadawane Pytania',
20
- };
21
-
22
- const faq: WebpAPngLocaleContent['faq'] = [
23
- {
24
- question: 'Dlaczego muszę konwertować pliki WebP na PNG?',
25
- answer:
26
- 'Mimo że są lżejsze, pliki WebP mogą powodować niekompatybilność w programach do edycji, takich jak starsze wersje Photoshop. Format PNG zapewnia 100% uniwersalną kompatybilność.',
27
- },
28
- {
29
- question: 'Czy przezroczystość zostanie utracona podczas konwersji z WebP na PNG?',
30
- answer:
31
- 'Zdecydowanie nie. W przeciwieństwie do konwersji na JPG, format PNG obsługuje kanał alfa. Nasze narzędzie zachowa każdy przezroczysty obszar z oryginalnego pliku.',
32
- },
33
- {
34
- question: 'Czy mogę bezpiecznie przesyłać poufne pliki firmowe?',
35
- answer:
36
- 'Możesz i powinieneś. Ponieważ wszystko działa lokalnie za pośrednictwem JavaScript, obrazy Twojej firmy nigdy nie opuszczą Twojego komputera ani nie będą przechowywane na zewnętrznych serwerach.',
37
- },
38
- ];
39
-
40
- const howTo: WebpAPngLocaleContent['howTo'] = [
41
- {
42
- name: 'Przeciągnij pliki WebP',
43
- text: 'Przenieś i upuść pliki WebP na panel główny lub wybierz obrazy w tradycyjny sposób.',
44
- },
45
- {
46
- name: 'Konwersja wysokiej wierności',
47
- text: 'Twoja przeglądarka przerysuje obraz piksel po pikselu i wygeneruje dokładną kopię w formacie PNG, zachowując oryginalną gamę kolorów.',
48
- },
49
- {
50
- name: 'Pobieranie pojedyncze lub zbiorcze',
51
- text: 'Zapisz każdy plik z osobna lub, jeśli przetworzyłeś partię, kliknij przycisk ZIP, aby pobrać je wszystkie spakowane razem.',
52
- },
53
- ];
54
-
55
- const seo: WebpAPngLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'Konwerter WebP na PNG: Profesjonalny wybór do edycji i projektowania',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'Gdy projektant pobiera zasób graficzny w formacie <strong>WebP</strong> i próbuje otworzyć go w programie Photoshop, Figma lub Illustrator, wynik może być frustrujący: plik nie ładuje się lub traci na jakości. Format <strong>PNG</strong> jest niekwestionowanym standardem profesjonalnej edycji: bezstratna kompresja, pełny kanał alfa i gwarantowana kompatybilność w całym łańcuchu produkcji kreatywnej.',
64
- },
65
- {
66
- type: 'title',
67
- text: 'WebP do sieci, PNG do studia',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'WebP to format do produkcji internetowej: jego algorytmy kompresji są zoptymalizowane pod kątem zmniejszenia wagi transferu, a nie zachowania maksymalnej wierności podczas iteracyjnych przepływów pracy związanych z edycją. Za każdym razem, gdy zapisujesz edytowany plik WebP, kodek ponownie stosuje kompresję. W przypadku projektów, w których plik będzie modyfikowany wiele razy, oznacza to skumulowaną utratę jakości.',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'PNG wykorzystuje <strong>bezstratną kompresję</strong>: dane każdego piksela są zachowywane w całości bez względu na to, ile razy zapisujesz plik. Jest to format wybierany przez projektantów UI/UX, ilustratorów cyfrowych i zespoły brandingowe, które muszą zachować spójność wizualną podczas dziesiątek poprawek. Narzędzia takie jak Photoshop, Figma, Sketch i Illustrator traktują PNG jako swój podstawowy format eksportu.',
77
- },
78
- {
79
- type: 'title',
80
- text: 'Porównanie: Konwersja lokalna vs w chmurze',
81
- level: 3,
82
- },
83
- {
84
- type: 'comparative',
85
- items: [
86
- {
87
- title: 'Konwertery w chmurze',
88
- description: 'Narzędzia, które przesyłają Twoje pliki na zdalny serwer.',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'Twoje zasoby projektowe są przechowywane na serwerach osób trzecich',
93
- 'Powolne przetwarzanie zdalne dużych plików',
94
- 'Ryzyko wycieku poufnych projektów klientów',
95
- 'Konwersja wsadowa ograniczona lub płatna',
96
- ],
97
- },
98
- {
99
- title: 'Nasza lokalna architektura',
100
- description: 'Bezpośrednie przetwarzanie na Twoim sprzęcie przy użyciu technologii Vanilla JS.',
101
- icon: 'mdi:laptop-mac',
102
- highlight: true,
103
- points: [
104
- 'Twoje projekty nigdy nie opuszczają Twojej maszyny',
105
- 'Błyskawiczna konwersja wsadowa dziesiątek plików',
106
- 'Pełne zachowanie kanału alfa i gamy kolorów',
107
- 'Absolutna prywatność dla projektów klientów',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'Jak to działa technicznie',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'Nowoczesne przeglądarki potrafią dekodować format WebP natywnie. Nasze narzędzie wykorzystuje tę możliwość do załadowania pliku do elementu JavaScript <strong>Image</strong>, a następnie rysuje go na płótnie HTML5 o tych samych wymiarach co oryginał. W przeciwieństwie do konwersji na JPG, tutaj nie jest potrzebne wypełnianie tła: płótno zachowuje pełny kanał alfa.',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'Ostateczny eksport wykorzystuje metodę <code>toDataURL(\'image/png\')</code>, która generuje bezstratny plik PNG wierny oryginałowi. Rezultatem jest plik gotowy do bezpośredniego importu do dowolnego profesjonalnego oprogramowania do projektowania bez etapów pośrednich, degradacji kolorów czy utraty przezroczystości.',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'Wskazówka dla edytorów',
128
- html: 'Używaj formatu PNG, gdy chcesz kontynuować edycję obrazu. Bezstratna kompresja gwarantuje brak utraty jakości przy wielokrotnym zapisie - co jest kluczowe podczas pracy z warstwami, maskami lub korekcją kolorów w programie Photoshop lub Figma.',
129
- },
130
- {
131
- type: 'title',
132
- text: 'Zastosowania i kompatybilność',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'Importowanie zasobów WebP do programów Photoshop, Figma, Sketch lub Illustrator.',
140
- 'Zachowanie przezroczystości w logo i ikonach do użytku na wielu tłach.',
141
- 'Tworzenie kopii wzorcowych grafik na potrzeby długotrwałych projektów.',
142
- 'Eksportowanie zasobów dla aplikacji mobilnych wymagających formatu PNG z kanałem alfa.',
143
- 'Używanie obrazów w makietach projektowych i prezentacjach ze zmiennym tłem.',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: 'Podsumowanie',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'Jeśli WebP jest formatem serwera WWW, to PNG jest formatem studia projektowego. To narzędzie konwertuje Twoje zasoby WebP na gotowe do produkcji pliki PNG, z nienaruszoną przezroczystością i maksymalną jakością - wszystko w Twojej przeglądarce i bez opuszczania maszyny przez Twoje pliki.',
154
- },
155
- ];
156
-
157
-
158
- export const content: WebpAPngLocaleContent = {
159
- slug,
160
- title,
161
- description,
162
- ui,
163
- seo,
164
- faq,
165
- bibliography,
166
- howTo,
167
- schemas: generateSchemas({ title, description, inLanguage: 'pl', faq, howTo }),
168
- };
18
+ bibliographyTitle: 'Bibliografia',
19
+ faqTitle: 'Często Zadawane Pytania',
20
+ };
21
+
22
+ const faq: WebpAPngLocaleContent['faq'] = [
23
+ {
24
+ question: 'Dlaczego muszę konwertować pliki WebP na PNG?',
25
+ answer:
26
+ 'Mimo że są lżejsze, pliki WebP mogą powodować niekompatybilność w programach do edycji, takich jak starsze wersje Photoshop. Format PNG zapewnia 100% uniwersalną kompatybilność.',
27
+ },
28
+ {
29
+ question: 'Czy przezroczystość zostanie utracona podczas konwersji z WebP na PNG?',
30
+ answer:
31
+ 'Zdecydowanie nie. W przeciwieństwie do konwersji na JPG, format PNG obsługuje kanał alfa. Nasze narzędzie zachowa każdy przezroczysty obszar z oryginalnego pliku.',
32
+ },
33
+ {
34
+ question: 'Czy mogę bezpiecznie przesyłać poufne pliki firmowe?',
35
+ answer:
36
+ 'Możesz i powinieneś. Ponieważ wszystko działa lokalnie za pośrednictwem JavaScript, obrazy Twojej firmy nigdy nie opuszczą Twojego komputera ani nie będą przechowywane na zewnętrznych serwerach.',
37
+ },
38
+ ];
39
+
40
+ const howTo: WebpAPngLocaleContent['howTo'] = [
41
+ {
42
+ name: 'Przeciągnij pliki WebP',
43
+ text: 'Przenieś i upuść pliki WebP na panel główny lub wybierz obrazy w tradycyjny sposób.',
44
+ },
45
+ {
46
+ name: 'Konwersja wysokiej wierności',
47
+ text: 'Twoja przeglądarka przerysuje obraz piksel po pikselu i wygeneruje dokładną kopię w formacie PNG, zachowując oryginalną gamę kolorów.',
48
+ },
49
+ {
50
+ name: 'Pobieranie pojedyncze lub zbiorcze',
51
+ text: 'Zapisz każdy plik z osobna lub, jeśli przetworzyłeś partię, kliknij przycisk ZIP, aby pobrać je wszystkie spakowane razem.',
52
+ },
53
+ ];
54
+
55
+ const seo: WebpAPngLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'Konwerter WebP na PNG: Profesjonalny wybór do edycji i projektowania',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'Gdy projektant pobiera zasób graficzny w formacie <strong>WebP</strong> i próbuje otworzyć go w programie Photoshop, Figma lub Illustrator, wynik może być frustrujący: plik nie ładuje się lub traci na jakości. Format <strong>PNG</strong> jest niekwestionowanym standardem profesjonalnej edycji: bezstratna kompresja, pełny kanał alfa i gwarantowana kompatybilność w całym łańcuchu produkcji kreatywnej.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'WebP do sieci, PNG do studia',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'WebP to format do produkcji internetowej: jego algorytmy kompresji są zoptymalizowane pod kątem zmniejszenia wagi transferu, a nie zachowania maksymalnej wierności podczas iteracyjnych przepływów pracy związanych z edycją. Za każdym razem, gdy zapisujesz edytowany plik WebP, kodek ponownie stosuje kompresję. W przypadku projektów, w których plik będzie modyfikowany wiele razy, oznacza to skumulowaną utratę jakości.',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'PNG wykorzystuje <strong>bezstratną kompresję</strong>: dane każdego piksela są zachowywane w całości bez względu na to, ile razy zapisujesz plik. Jest to format wybierany przez projektantów UI/UX, ilustratorów cyfrowych i zespoły brandingowe, które muszą zachować spójność wizualną podczas dziesiątek poprawek. Narzędzia takie jak Photoshop, Figma, Sketch i Illustrator traktują PNG jako swój podstawowy format eksportu.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Porównanie: Konwersja lokalna vs w chmurze',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'comparative',
85
+ items: [
86
+ {
87
+ title: 'Konwertery w chmurze',
88
+ description: 'Narzędzia, które przesyłają Twoje pliki na zdalny serwer.',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'Twoje zasoby projektowe są przechowywane na serwerach osób trzecich',
93
+ 'Powolne przetwarzanie zdalne dużych plików',
94
+ 'Ryzyko wycieku poufnych projektów klientów',
95
+ 'Konwersja wsadowa ograniczona lub płatna',
96
+ ],
97
+ },
98
+ {
99
+ title: 'Nasza lokalna architektura',
100
+ description: 'Bezpośrednie przetwarzanie na Twoim sprzęcie przy użyciu technologii Vanilla JS.',
101
+ icon: 'mdi:laptop-mac',
102
+ highlight: true,
103
+ points: [
104
+ 'Twoje projekty nigdy nie opuszczają Twojej maszyny',
105
+ 'Błyskawiczna konwersja wsadowa dziesiątek plików',
106
+ 'Pełne zachowanie kanału alfa i gamy kolorów',
107
+ 'Absolutna prywatność dla projektów klientów',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Jak to działa technicznie',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Nowoczesne przeglądarki potrafią dekodować format WebP natywnie. Nasze narzędzie wykorzystuje tę możliwość do załadowania pliku do elementu JavaScript <strong>Image</strong>, a następnie rysuje go na płótnie HTML5 o tych samych wymiarach co oryginał. W przeciwieństwie do konwersji na JPG, tutaj nie jest potrzebne wypełnianie tła: płótno zachowuje pełny kanał alfa.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'Ostateczny eksport wykorzystuje metodę <code>toDataURL(\'image/png\')</code>, która generuje bezstratny plik PNG wierny oryginałowi. Rezultatem jest plik gotowy do bezpośredniego importu do dowolnego profesjonalnego oprogramowania do projektowania bez etapów pośrednich, degradacji kolorów czy utraty przezroczystości.',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'Wskazówka dla edytorów',
128
+ html: 'Używaj formatu PNG, gdy chcesz kontynuować edycję obrazu. Bezstratna kompresja gwarantuje brak utraty jakości przy wielokrotnym zapisie - co jest kluczowe podczas pracy z warstwami, maskami lub korekcją kolorów w programie Photoshop lub Figma.',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Zastosowania i kompatybilność',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'Importowanie zasobów WebP do programów Photoshop, Figma, Sketch lub Illustrator.',
140
+ 'Zachowanie przezroczystości w logo i ikonach do użytku na wielu tłach.',
141
+ 'Tworzenie kopii wzorcowych grafik na potrzeby długotrwałych projektów.',
142
+ 'Eksportowanie zasobów dla aplikacji mobilnych wymagających formatu PNG z kanałem alfa.',
143
+ 'Używanie obrazów w makietach projektowych i prezentacjach ze zmiennym tłem.',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Podsumowanie',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Jeśli WebP jest formatem serwera WWW, to PNG jest formatem studia projektowego. To narzędzie konwertuje Twoje zasoby WebP na gotowe do produkcji pliki PNG, z nienaruszoną przezroczystością i maksymalną jakością - wszystko w Twojej przeglądarce i bez opuszczania maszyny przez Twoje pliki.',
154
+ },
155
+ ];
156
+
157
+
158
+ export const content: WebpAPngLocaleContent = {
159
+ slug,
160
+ title,
161
+ description,
162
+ ui,
163
+ seo,
164
+ faq,
165
+ bibliography,
166
+ howTo,
167
+ schemas: generateSchemas({ title, description, inLanguage: 'pl', faq, howTo }),
168
+ };