@jjlmoya/utils-converters 1.16.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/package.json +5 -3
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/fr.ts +9 -9
  4. package/src/category/i18n/ru.ts +1 -1
  5. package/src/category/i18n/sv.ts +1 -1
  6. package/src/data.ts +0 -21
  7. package/src/layouts/PreviewLayout.astro +2 -1
  8. package/src/pages/[locale]/[slug].astro +28 -12
  9. package/src/tests/diacritics_density.test.ts +118 -0
  10. package/src/tests/inverted_punctuation.test.ts +84 -0
  11. package/src/tests/no_en_dash.test.ts +70 -0
  12. package/src/tests/pagespeed_best_practices.test.ts +198 -0
  13. package/src/tests/script_density.test.ts +94 -0
  14. package/src/tests/seo_parity.test.ts +60 -0
  15. package/src/tests/shared-test-helpers.ts +56 -0
  16. package/src/tests/tool_exports.test.ts +34 -0
  17. package/src/tool/avifAJpg/bibliography.ts +12 -0
  18. package/src/tool/avifAJpg/entry.ts +2 -0
  19. package/src/tool/avifAJpg/i18n/de.ts +2 -12
  20. package/src/tool/avifAJpg/i18n/en.ts +2 -12
  21. package/src/tool/avifAJpg/i18n/es.ts +2 -12
  22. package/src/tool/avifAJpg/i18n/fr.ts +11 -21
  23. package/src/tool/avifAJpg/i18n/id.ts +2 -12
  24. package/src/tool/avifAJpg/i18n/it.ts +2 -12
  25. package/src/tool/avifAJpg/i18n/ja.ts +1 -11
  26. package/src/tool/avifAJpg/i18n/ko.ts +1 -11
  27. package/src/tool/avifAJpg/i18n/nl.ts +2 -12
  28. package/src/tool/avifAJpg/i18n/pl.ts +2 -12
  29. package/src/tool/avifAJpg/i18n/pt.ts +2 -12
  30. package/src/tool/avifAJpg/i18n/ru.ts +7 -17
  31. package/src/tool/avifAJpg/i18n/sv.ts +2 -12
  32. package/src/tool/avifAJpg/i18n/tr.ts +1 -11
  33. package/src/tool/avifAJpg/i18n/zh.ts +4 -14
  34. package/src/tool/avifAJpg/seo.astro +2 -1
  35. package/src/tool/avifAPng/bibliography.ts +12 -0
  36. package/src/tool/avifAPng/entry.ts +2 -0
  37. package/src/tool/avifAPng/i18n/de.ts +4 -14
  38. package/src/tool/avifAPng/i18n/en.ts +4 -14
  39. package/src/tool/avifAPng/i18n/es.ts +4 -14
  40. package/src/tool/avifAPng/i18n/fr.ts +10 -20
  41. package/src/tool/avifAPng/i18n/id.ts +4 -14
  42. package/src/tool/avifAPng/i18n/it.ts +1 -11
  43. package/src/tool/avifAPng/i18n/ja.ts +1 -11
  44. package/src/tool/avifAPng/i18n/ko.ts +1 -11
  45. package/src/tool/avifAPng/i18n/nl.ts +4 -14
  46. package/src/tool/avifAPng/i18n/pl.ts +4 -14
  47. package/src/tool/avifAPng/i18n/pt.ts +4 -14
  48. package/src/tool/avifAPng/i18n/ru.ts +5 -15
  49. package/src/tool/avifAPng/i18n/sv.ts +4 -14
  50. package/src/tool/avifAPng/i18n/tr.ts +1 -11
  51. package/src/tool/avifAPng/i18n/zh.ts +3 -13
  52. package/src/tool/avifAPng/seo.astro +2 -1
  53. package/src/tool/avifAWebp/bibliography.ts +12 -0
  54. package/src/tool/avifAWebp/entry.ts +2 -0
  55. package/src/tool/avifAWebp/i18n/de.ts +6 -16
  56. package/src/tool/avifAWebp/i18n/en.ts +6 -16
  57. package/src/tool/avifAWebp/i18n/es.ts +6 -16
  58. package/src/tool/avifAWebp/i18n/fr.ts +13 -23
  59. package/src/tool/avifAWebp/i18n/id.ts +6 -16
  60. package/src/tool/avifAWebp/i18n/it.ts +1 -11
  61. package/src/tool/avifAWebp/i18n/ja.ts +1 -11
  62. package/src/tool/avifAWebp/i18n/ko.ts +2 -12
  63. package/src/tool/avifAWebp/i18n/nl.ts +6 -16
  64. package/src/tool/avifAWebp/i18n/pl.ts +6 -16
  65. package/src/tool/avifAWebp/i18n/pt.ts +6 -16
  66. package/src/tool/avifAWebp/i18n/ru.ts +7 -17
  67. package/src/tool/avifAWebp/i18n/sv.ts +6 -16
  68. package/src/tool/avifAWebp/i18n/tr.ts +2 -12
  69. package/src/tool/avifAWebp/i18n/zh.ts +6 -16
  70. package/src/tool/avifAWebp/seo.astro +2 -1
  71. package/src/tool/bmpAJpg/bibliography.ts +12 -0
  72. package/src/tool/bmpAJpg/entry.ts +2 -0
  73. package/src/tool/bmpAJpg/i18n/de.ts +1 -11
  74. package/src/tool/bmpAJpg/i18n/en.ts +1 -11
  75. package/src/tool/bmpAJpg/i18n/es.ts +1 -11
  76. package/src/tool/bmpAJpg/i18n/fr.ts +9 -19
  77. package/src/tool/bmpAJpg/i18n/id.ts +1 -11
  78. package/src/tool/bmpAJpg/i18n/it.ts +1 -11
  79. package/src/tool/bmpAJpg/i18n/ja.ts +1 -11
  80. package/src/tool/bmpAJpg/i18n/ko.ts +1 -11
  81. package/src/tool/bmpAJpg/i18n/nl.ts +1 -11
  82. package/src/tool/bmpAJpg/i18n/pl.ts +1 -11
  83. package/src/tool/bmpAJpg/i18n/pt.ts +1 -11
  84. package/src/tool/bmpAJpg/i18n/ru.ts +5 -15
  85. package/src/tool/bmpAJpg/i18n/sv.ts +1 -11
  86. package/src/tool/bmpAJpg/i18n/tr.ts +1 -11
  87. package/src/tool/bmpAJpg/i18n/zh.ts +1 -11
  88. package/src/tool/bmpAJpg/seo.astro +2 -1
  89. package/src/tool/bmpAPng/bibliography.ts +12 -0
  90. package/src/tool/bmpAPng/entry.ts +2 -0
  91. package/src/tool/bmpAPng/i18n/de.ts +2 -12
  92. package/src/tool/bmpAPng/i18n/en.ts +3 -13
  93. package/src/tool/bmpAPng/i18n/es.ts +2 -12
  94. package/src/tool/bmpAPng/i18n/fr.ts +12 -22
  95. package/src/tool/bmpAPng/i18n/id.ts +2 -12
  96. package/src/tool/bmpAPng/i18n/it.ts +2 -12
  97. package/src/tool/bmpAPng/i18n/ja.ts +1 -11
  98. package/src/tool/bmpAPng/i18n/ko.ts +1 -11
  99. package/src/tool/bmpAPng/i18n/nl.ts +2 -12
  100. package/src/tool/bmpAPng/i18n/pl.ts +2 -12
  101. package/src/tool/bmpAPng/i18n/pt.ts +2 -12
  102. package/src/tool/bmpAPng/i18n/ru.ts +9 -19
  103. package/src/tool/bmpAPng/i18n/sv.ts +2 -12
  104. package/src/tool/bmpAPng/i18n/tr.ts +1 -11
  105. package/src/tool/bmpAPng/i18n/zh.ts +1 -11
  106. package/src/tool/bmpAPng/seo.astro +2 -1
  107. package/src/tool/bmpAWebp/bibliography.ts +12 -0
  108. package/src/tool/bmpAWebp/entry.ts +2 -0
  109. package/src/tool/bmpAWebp/i18n/de.ts +8 -18
  110. package/src/tool/bmpAWebp/i18n/en.ts +8 -18
  111. package/src/tool/bmpAWebp/i18n/es.ts +8 -18
  112. package/src/tool/bmpAWebp/i18n/fr.ts +13 -23
  113. package/src/tool/bmpAWebp/i18n/id.ts +8 -18
  114. package/src/tool/bmpAWebp/i18n/it.ts +8 -18
  115. package/src/tool/bmpAWebp/i18n/ja.ts +7 -17
  116. package/src/tool/bmpAWebp/i18n/ko.ts +7 -17
  117. package/src/tool/bmpAWebp/i18n/nl.ts +8 -18
  118. package/src/tool/bmpAWebp/i18n/pl.ts +8 -18
  119. package/src/tool/bmpAWebp/i18n/pt.ts +8 -18
  120. package/src/tool/bmpAWebp/i18n/ru.ts +10 -20
  121. package/src/tool/bmpAWebp/i18n/sv.ts +8 -18
  122. package/src/tool/bmpAWebp/i18n/tr.ts +8 -18
  123. package/src/tool/bmpAWebp/i18n/zh.ts +8 -18
  124. package/src/tool/bmpAWebp/seo.astro +2 -1
  125. package/src/tool/gifAJpg/bibliography.ts +12 -0
  126. package/src/tool/gifAJpg/entry.ts +2 -0
  127. package/src/tool/gifAJpg/i18n/de.ts +1 -11
  128. package/src/tool/gifAJpg/i18n/en.ts +1 -11
  129. package/src/tool/gifAJpg/i18n/es.ts +1 -11
  130. package/src/tool/gifAJpg/i18n/fr.ts +9 -19
  131. package/src/tool/gifAJpg/i18n/id.ts +1 -11
  132. package/src/tool/gifAJpg/i18n/it.ts +1 -11
  133. package/src/tool/gifAJpg/i18n/ja.ts +1 -11
  134. package/src/tool/gifAJpg/i18n/ko.ts +1 -11
  135. package/src/tool/gifAJpg/i18n/nl.ts +1 -11
  136. package/src/tool/gifAJpg/i18n/pl.ts +1 -11
  137. package/src/tool/gifAJpg/i18n/pt.ts +1 -11
  138. package/src/tool/gifAJpg/i18n/ru.ts +2 -12
  139. package/src/tool/gifAJpg/i18n/sv.ts +1 -11
  140. package/src/tool/gifAJpg/i18n/tr.ts +1 -11
  141. package/src/tool/gifAJpg/i18n/zh.ts +1 -11
  142. package/src/tool/gifAJpg/seo.astro +2 -1
  143. package/src/tool/gifAPng/bibliography.ts +12 -0
  144. package/src/tool/gifAPng/entry.ts +2 -0
  145. package/src/tool/gifAPng/i18n/de.ts +2 -12
  146. package/src/tool/gifAPng/i18n/en.ts +3 -13
  147. package/src/tool/gifAPng/i18n/es.ts +2 -12
  148. package/src/tool/gifAPng/i18n/fr.ts +11 -21
  149. package/src/tool/gifAPng/i18n/id.ts +2 -12
  150. package/src/tool/gifAPng/i18n/it.ts +2 -12
  151. package/src/tool/gifAPng/i18n/ja.ts +1 -11
  152. package/src/tool/gifAPng/i18n/ko.ts +1 -11
  153. package/src/tool/gifAPng/i18n/nl.ts +2 -12
  154. package/src/tool/gifAPng/i18n/pl.ts +3 -13
  155. package/src/tool/gifAPng/i18n/pt.ts +2 -12
  156. package/src/tool/gifAPng/i18n/ru.ts +3 -13
  157. package/src/tool/gifAPng/i18n/sv.ts +3 -13
  158. package/src/tool/gifAPng/i18n/tr.ts +1 -11
  159. package/src/tool/gifAPng/i18n/zh.ts +2 -12
  160. package/src/tool/gifAPng/seo.astro +2 -1
  161. package/src/tool/gifAWebp/bibliography.ts +12 -0
  162. package/src/tool/gifAWebp/entry.ts +2 -0
  163. package/src/tool/gifAWebp/i18n/de.ts +3 -13
  164. package/src/tool/gifAWebp/i18n/en.ts +3 -13
  165. package/src/tool/gifAWebp/i18n/es.ts +1 -11
  166. package/src/tool/gifAWebp/i18n/fr.ts +11 -21
  167. package/src/tool/gifAWebp/i18n/id.ts +3 -13
  168. package/src/tool/gifAWebp/i18n/it.ts +1 -11
  169. package/src/tool/gifAWebp/i18n/ja.ts +1 -11
  170. package/src/tool/gifAWebp/i18n/ko.ts +1 -11
  171. package/src/tool/gifAWebp/i18n/nl.ts +3 -13
  172. package/src/tool/gifAWebp/i18n/pl.ts +3 -13
  173. package/src/tool/gifAWebp/i18n/pt.ts +3 -13
  174. package/src/tool/gifAWebp/i18n/ru.ts +7 -17
  175. package/src/tool/gifAWebp/i18n/sv.ts +3 -13
  176. package/src/tool/gifAWebp/i18n/tr.ts +1 -11
  177. package/src/tool/gifAWebp/i18n/zh.ts +4 -14
  178. package/src/tool/gifAWebp/seo.astro +2 -1
  179. package/src/tool/imagenBase64/bibliography.ts +12 -0
  180. package/src/tool/imagenBase64/entry.ts +2 -0
  181. package/src/tool/imagenBase64/i18n/de.ts +7 -17
  182. package/src/tool/imagenBase64/i18n/en.ts +7 -17
  183. package/src/tool/imagenBase64/i18n/es.ts +7 -17
  184. package/src/tool/imagenBase64/i18n/fr.ts +17 -27
  185. package/src/tool/imagenBase64/i18n/id.ts +7 -17
  186. package/src/tool/imagenBase64/i18n/it.ts +6 -16
  187. package/src/tool/imagenBase64/i18n/ja.ts +1 -11
  188. package/src/tool/imagenBase64/i18n/ko.ts +1 -11
  189. package/src/tool/imagenBase64/i18n/nl.ts +7 -17
  190. package/src/tool/imagenBase64/i18n/pl.ts +7 -17
  191. package/src/tool/imagenBase64/i18n/pt.ts +7 -17
  192. package/src/tool/imagenBase64/i18n/ru.ts +9 -19
  193. package/src/tool/imagenBase64/i18n/sv.ts +7 -17
  194. package/src/tool/imagenBase64/i18n/tr.ts +2 -12
  195. package/src/tool/imagenBase64/i18n/zh.ts +7 -17
  196. package/src/tool/imagenBase64/seo.astro +2 -1
  197. package/src/tool/jpgAIco/bibliography.ts +12 -0
  198. package/src/tool/jpgAIco/entry.ts +2 -0
  199. package/src/tool/jpgAIco/i18n/de.ts +9 -19
  200. package/src/tool/jpgAIco/i18n/en.ts +9 -19
  201. package/src/tool/jpgAIco/i18n/es.ts +7 -17
  202. package/src/tool/jpgAIco/i18n/fr.ts +13 -23
  203. package/src/tool/jpgAIco/i18n/id.ts +9 -19
  204. package/src/tool/jpgAIco/i18n/it.ts +3 -13
  205. package/src/tool/jpgAIco/i18n/ja.ts +2 -12
  206. package/src/tool/jpgAIco/i18n/ko.ts +2 -12
  207. package/src/tool/jpgAIco/i18n/nl.ts +9 -19
  208. package/src/tool/jpgAIco/i18n/pl.ts +9 -19
  209. package/src/tool/jpgAIco/i18n/pt.ts +9 -19
  210. package/src/tool/jpgAIco/i18n/ru.ts +11 -21
  211. package/src/tool/jpgAIco/i18n/sv.ts +9 -19
  212. package/src/tool/jpgAIco/i18n/tr.ts +3 -13
  213. package/src/tool/jpgAIco/i18n/zh.ts +9 -19
  214. package/src/tool/jpgAIco/seo.astro +2 -1
  215. package/src/tool/jpgAPng/bibliography.ts +12 -0
  216. package/src/tool/jpgAPng/entry.ts +2 -0
  217. package/src/tool/jpgAPng/i18n/de.ts +7 -17
  218. package/src/tool/jpgAPng/i18n/en.ts +9 -19
  219. package/src/tool/jpgAPng/i18n/es.ts +7 -17
  220. package/src/tool/jpgAPng/i18n/fr.ts +13 -23
  221. package/src/tool/jpgAPng/i18n/id.ts +7 -17
  222. package/src/tool/jpgAPng/i18n/it.ts +5 -15
  223. package/src/tool/jpgAPng/i18n/ja.ts +3 -13
  224. package/src/tool/jpgAPng/i18n/ko.ts +3 -13
  225. package/src/tool/jpgAPng/i18n/nl.ts +7 -17
  226. package/src/tool/jpgAPng/i18n/pl.ts +7 -17
  227. package/src/tool/jpgAPng/i18n/pt.ts +7 -17
  228. package/src/tool/jpgAPng/i18n/ru.ts +10 -20
  229. package/src/tool/jpgAPng/i18n/sv.ts +7 -17
  230. package/src/tool/jpgAPng/i18n/tr.ts +6 -16
  231. package/src/tool/jpgAPng/i18n/zh.ts +8 -18
  232. package/src/tool/jpgAPng/seo.astro +2 -1
  233. package/src/tool/jpgAWebp/bibliography.ts +12 -0
  234. package/src/tool/jpgAWebp/entry.ts +2 -0
  235. package/src/tool/jpgAWebp/i18n/de.ts +10 -20
  236. package/src/tool/jpgAWebp/i18n/en.ts +10 -20
  237. package/src/tool/jpgAWebp/i18n/es.ts +4 -14
  238. package/src/tool/jpgAWebp/i18n/fr.ts +16 -26
  239. package/src/tool/jpgAWebp/i18n/id.ts +10 -20
  240. package/src/tool/jpgAWebp/i18n/it.ts +6 -16
  241. package/src/tool/jpgAWebp/i18n/ja.ts +2 -12
  242. package/src/tool/jpgAWebp/i18n/ko.ts +3 -13
  243. package/src/tool/jpgAWebp/i18n/nl.ts +10 -20
  244. package/src/tool/jpgAWebp/i18n/pl.ts +10 -20
  245. package/src/tool/jpgAWebp/i18n/pt.ts +10 -20
  246. package/src/tool/jpgAWebp/i18n/ru.ts +10 -20
  247. package/src/tool/jpgAWebp/i18n/sv.ts +10 -20
  248. package/src/tool/jpgAWebp/i18n/tr.ts +5 -15
  249. package/src/tool/jpgAWebp/i18n/zh.ts +9 -19
  250. package/src/tool/jpgAWebp/seo.astro +2 -1
  251. package/src/tool/pngAIco/bibliography.ts +12 -0
  252. package/src/tool/pngAIco/entry.ts +2 -0
  253. package/src/tool/pngAIco/i18n/de.ts +8 -18
  254. package/src/tool/pngAIco/i18n/en.ts +8 -18
  255. package/src/tool/pngAIco/i18n/es.ts +8 -18
  256. package/src/tool/pngAIco/i18n/fr.ts +14 -24
  257. package/src/tool/pngAIco/i18n/id.ts +8 -18
  258. package/src/tool/pngAIco/i18n/it.ts +4 -14
  259. package/src/tool/pngAIco/i18n/ja.ts +2 -12
  260. package/src/tool/pngAIco/i18n/ko.ts +2 -12
  261. package/src/tool/pngAIco/i18n/nl.ts +8 -18
  262. package/src/tool/pngAIco/i18n/pl.ts +8 -18
  263. package/src/tool/pngAIco/i18n/pt.ts +8 -18
  264. package/src/tool/pngAIco/i18n/ru.ts +11 -21
  265. package/src/tool/pngAIco/i18n/sv.ts +8 -18
  266. package/src/tool/pngAIco/i18n/tr.ts +7 -17
  267. package/src/tool/pngAIco/i18n/zh.ts +8 -18
  268. package/src/tool/pngAIco/seo.astro +2 -1
  269. package/src/tool/pngAJpg/bibliography.ts +12 -0
  270. package/src/tool/pngAJpg/entry.ts +2 -0
  271. package/src/tool/pngAJpg/i18n/de.ts +41 -51
  272. package/src/tool/pngAJpg/i18n/en.ts +98 -41
  273. package/src/tool/pngAJpg/i18n/es.ts +1 -11
  274. package/src/tool/pngAJpg/i18n/fr.ts +93 -30
  275. package/src/tool/pngAJpg/i18n/id.ts +41 -51
  276. package/src/tool/pngAJpg/i18n/it.ts +41 -51
  277. package/src/tool/pngAJpg/i18n/ja.ts +81 -95
  278. package/src/tool/pngAJpg/i18n/ko.ts +81 -95
  279. package/src/tool/pngAJpg/i18n/nl.ts +41 -51
  280. package/src/tool/pngAJpg/i18n/pl.ts +43 -53
  281. package/src/tool/pngAJpg/i18n/pt.ts +41 -51
  282. package/src/tool/pngAJpg/i18n/ru.ts +83 -97
  283. package/src/tool/pngAJpg/i18n/sv.ts +41 -51
  284. package/src/tool/pngAJpg/i18n/tr.ts +41 -51
  285. package/src/tool/pngAJpg/i18n/zh.ts +83 -97
  286. package/src/tool/pngAJpg/seo.astro +2 -1
  287. package/src/tool/pngAWebp/bibliography.ts +16 -0
  288. package/src/tool/pngAWebp/entry.ts +2 -0
  289. package/src/tool/pngAWebp/i18n/de.ts +7 -21
  290. package/src/tool/pngAWebp/i18n/en.ts +7 -21
  291. package/src/tool/pngAWebp/i18n/es.ts +6 -20
  292. package/src/tool/pngAWebp/i18n/fr.ts +13 -27
  293. package/src/tool/pngAWebp/i18n/id.ts +7 -21
  294. package/src/tool/pngAWebp/i18n/it.ts +3 -17
  295. package/src/tool/pngAWebp/i18n/ja.ts +2 -16
  296. package/src/tool/pngAWebp/i18n/ko.ts +2 -16
  297. package/src/tool/pngAWebp/i18n/nl.ts +7 -21
  298. package/src/tool/pngAWebp/i18n/pl.ts +7 -21
  299. package/src/tool/pngAWebp/i18n/pt.ts +6 -20
  300. package/src/tool/pngAWebp/i18n/ru.ts +8 -22
  301. package/src/tool/pngAWebp/i18n/sv.ts +7 -21
  302. package/src/tool/pngAWebp/i18n/tr.ts +6 -20
  303. package/src/tool/pngAWebp/i18n/zh.ts +6 -20
  304. package/src/tool/pngAWebp/seo.astro +2 -1
  305. package/src/tool/svgAJpg/bibliography.ts +12 -0
  306. package/src/tool/svgAJpg/entry.ts +2 -0
  307. package/src/tool/svgAJpg/i18n/de.ts +2 -12
  308. package/src/tool/svgAJpg/i18n/en.ts +1 -11
  309. package/src/tool/svgAJpg/i18n/es.ts +1 -11
  310. package/src/tool/svgAJpg/i18n/fr.ts +6 -16
  311. package/src/tool/svgAJpg/i18n/id.ts +1 -11
  312. package/src/tool/svgAJpg/i18n/it.ts +1 -11
  313. package/src/tool/svgAJpg/i18n/ja.ts +1 -11
  314. package/src/tool/svgAJpg/i18n/ko.ts +1 -11
  315. package/src/tool/svgAJpg/i18n/nl.ts +1 -11
  316. package/src/tool/svgAJpg/i18n/pl.ts +1 -11
  317. package/src/tool/svgAJpg/i18n/pt.ts +1 -11
  318. package/src/tool/svgAJpg/i18n/ru.ts +3 -13
  319. package/src/tool/svgAJpg/i18n/sv.ts +1 -11
  320. package/src/tool/svgAJpg/i18n/tr.ts +1 -11
  321. package/src/tool/svgAJpg/i18n/zh.ts +1 -11
  322. package/src/tool/svgAJpg/seo.astro +2 -1
  323. package/src/tool/svgAPng/bibliography.ts +12 -0
  324. package/src/tool/svgAPng/entry.ts +2 -0
  325. package/src/tool/svgAPng/i18n/de.ts +3 -13
  326. package/src/tool/svgAPng/i18n/en.ts +3 -13
  327. package/src/tool/svgAPng/i18n/es.ts +1 -11
  328. package/src/tool/svgAPng/i18n/fr.ts +9 -19
  329. package/src/tool/svgAPng/i18n/id.ts +3 -13
  330. package/src/tool/svgAPng/i18n/it.ts +3 -13
  331. package/src/tool/svgAPng/i18n/ja.ts +1 -11
  332. package/src/tool/svgAPng/i18n/ko.ts +1 -11
  333. package/src/tool/svgAPng/i18n/nl.ts +3 -13
  334. package/src/tool/svgAPng/i18n/pl.ts +3 -13
  335. package/src/tool/svgAPng/i18n/pt.ts +3 -13
  336. package/src/tool/svgAPng/i18n/ru.ts +5 -15
  337. package/src/tool/svgAPng/i18n/sv.ts +3 -13
  338. package/src/tool/svgAPng/i18n/tr.ts +3 -13
  339. package/src/tool/svgAPng/i18n/zh.ts +3 -13
  340. package/src/tool/svgAPng/seo.astro +2 -1
  341. package/src/tool/webpAIco/bibliography.ts +12 -0
  342. package/src/tool/webpAIco/entry.ts +2 -0
  343. package/src/tool/webpAIco/i18n/de.ts +1 -11
  344. package/src/tool/webpAIco/i18n/en.ts +1 -11
  345. package/src/tool/webpAIco/i18n/es.ts +1 -11
  346. package/src/tool/webpAIco/i18n/fr.ts +5 -15
  347. package/src/tool/webpAIco/i18n/id.ts +1 -11
  348. package/src/tool/webpAIco/i18n/it.ts +1 -11
  349. package/src/tool/webpAIco/i18n/ja.ts +1 -11
  350. package/src/tool/webpAIco/i18n/ko.ts +1 -11
  351. package/src/tool/webpAIco/i18n/nl.ts +1 -11
  352. package/src/tool/webpAIco/i18n/pl.ts +1 -11
  353. package/src/tool/webpAIco/i18n/pt.ts +1 -11
  354. package/src/tool/webpAIco/i18n/ru.ts +3 -13
  355. package/src/tool/webpAIco/i18n/sv.ts +1 -11
  356. package/src/tool/webpAIco/i18n/tr.ts +1 -11
  357. package/src/tool/webpAIco/i18n/zh.ts +1 -12
  358. package/src/tool/webpAIco/seo.astro +2 -1
  359. package/src/tool/webpAJpg/bibliography.ts +16 -0
  360. package/src/tool/webpAJpg/entry.ts +2 -0
  361. package/src/tool/webpAJpg/i18n/de.ts +3 -17
  362. package/src/tool/webpAJpg/i18n/en.ts +3 -17
  363. package/src/tool/webpAJpg/i18n/es.ts +1 -15
  364. package/src/tool/webpAJpg/i18n/fr.ts +10 -24
  365. package/src/tool/webpAJpg/i18n/id.ts +3 -17
  366. package/src/tool/webpAJpg/i18n/it.ts +2 -16
  367. package/src/tool/webpAJpg/i18n/ja.ts +1 -15
  368. package/src/tool/webpAJpg/i18n/ko.ts +1 -15
  369. package/src/tool/webpAJpg/i18n/nl.ts +2 -16
  370. package/src/tool/webpAJpg/i18n/pl.ts +3 -17
  371. package/src/tool/webpAJpg/i18n/pt.ts +3 -17
  372. package/src/tool/webpAJpg/i18n/ru.ts +7 -21
  373. package/src/tool/webpAJpg/i18n/sv.ts +3 -17
  374. package/src/tool/webpAJpg/i18n/tr.ts +2 -16
  375. package/src/tool/webpAJpg/i18n/zh.ts +2 -16
  376. package/src/tool/webpAJpg/seo.astro +2 -1
  377. package/src/tool/webpAPng/bibliography.ts +16 -0
  378. package/src/tool/webpAPng/entry.ts +2 -0
  379. package/src/tool/webpAPng/i18n/de.ts +3 -17
  380. package/src/tool/webpAPng/i18n/en.ts +3 -17
  381. package/src/tool/webpAPng/i18n/es.ts +1 -15
  382. package/src/tool/webpAPng/i18n/fr.ts +9 -23
  383. package/src/tool/webpAPng/i18n/id.ts +3 -17
  384. package/src/tool/webpAPng/i18n/it.ts +3 -17
  385. package/src/tool/webpAPng/i18n/ja.ts +1 -15
  386. package/src/tool/webpAPng/i18n/ko.ts +1 -15
  387. package/src/tool/webpAPng/i18n/nl.ts +3 -17
  388. package/src/tool/webpAPng/i18n/pl.ts +3 -17
  389. package/src/tool/webpAPng/i18n/pt.ts +3 -17
  390. package/src/tool/webpAPng/i18n/ru.ts +4 -18
  391. package/src/tool/webpAPng/i18n/sv.ts +3 -17
  392. package/src/tool/webpAPng/i18n/tr.ts +2 -17
  393. package/src/tool/webpAPng/i18n/zh.ts +3 -17
  394. 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 { PngAWebpLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google: WebP Implementation Details',
57
- url: 'https://developers.google.com/speed/webp/',
58
- },
59
- {
60
- name: 'W3C: Core Web Vitals Guidance',
61
- url: 'https://web.dev/vitals/',
62
- },
63
- {
64
- name: 'Mozilla Docs: Image Formats',
65
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
66
- },
67
- ];
68
-
69
55
  const seo: PngAWebpLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -74,7 +60,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
74
60
  },
75
61
  {
76
62
  type: 'paragraph',
77
- html: '<strong>PNG</strong> has been the reference format for web images with transparency for decades — logos, icons, UI elements, product images on cut-out backgrounds. Its problem is file size: the lossless compression that guarantees quality also generates noticeably large files. Google\'s <strong>WebP</strong> solves this contradiction: it supports the alpha channel (transparency) <em>and</em> compresses far better than PNG, making the switch from PNG to WebP on your website a perfect optimization that sacrifices nothing.',
63
+ html: '<strong>PNG</strong> has been the reference format for web images with transparency for decades - logos, icons, UI elements, product images on cut-out backgrounds. Its problem is file size: the lossless compression that guarantees quality also generates noticeably large files. Google\'s <strong>WebP</strong> solves this contradiction: it supports the alpha channel (transparency) <em>and</em> compresses far better than PNG, making the switch from PNG to WebP on your website a perfect optimization that sacrifices nothing.',
78
64
  },
79
65
  {
80
66
  type: 'title',
@@ -83,7 +69,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: '<strong>PNG</strong> remains the right format when compatibility is critical: design tools like Photoshop or Figma, print workflows, legacy desktop applications, or any context where WebP support is not guaranteed. It is also the ideal format for saving working layers in editing pipelines, since its lossless compression preserves every pixel. The cost: files that can weigh 3–8 times more than their WebP equivalent.',
72
+ html: '<strong>PNG</strong> remains the right format when compatibility is critical: design tools like Photoshop or Figma, print workflows, legacy desktop applications, or any context where WebP support is not guaranteed. It is also the ideal format for saving working layers in editing pipelines, since its lossless compression preserves every pixel. The cost: files that can weigh 3-8 times more than their WebP equivalent.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
@@ -115,8 +101,8 @@ const seo: PngAWebpLocaleContent['seo'] = [
115
101
  icon: 'mdi:laptop-mac',
116
102
  highlight: true,
117
103
  points: [
118
- 'Instant speed — zero network latency',
119
- 'Complete privacy — 0 bytes sent externally',
104
+ 'Instant speed - zero network latency',
105
+ 'Complete privacy - 0 bytes sent externally',
120
106
  'No MB limits or file count restrictions',
121
107
  'Clean interface, no ads or tracking',
122
108
  ],
@@ -130,7 +116,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
130
116
  },
131
117
  {
132
118
  type: 'paragraph',
133
- html: 'The PNG is loaded locally and decoded into an in-memory <strong>HTML5 Canvas</strong>. The Canvas API preserves the alpha channel from the original PNG — all transparent and semi-transparent pixels are maintained intact in the RGBA pixel buffer. The canvas is then exported by calling <code>toDataURL(\'image/webp\')</code>, which applies the browser\'s WebP codec (based on Google\'s libwebp) to generate a more compact file without altering the transparency data.',
119
+ html: 'The PNG is loaded locally and decoded into an in-memory <strong>HTML5 Canvas</strong>. The Canvas API preserves the alpha channel from the original PNG - all transparent and semi-transparent pixels are maintained intact in the RGBA pixel buffer. The canvas is then exported by calling <code>toDataURL(\'image/webp\')</code>, which applies the browser\'s WebP codec (based on Google\'s libwebp) to generate a more compact file without altering the transparency data.',
134
120
  },
135
121
  {
136
122
  type: 'paragraph',
@@ -164,7 +150,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'The move from PNG to WebP is the most complete web image optimization available: you get lighter files, preserve transparency, and improve Core Web Vitals metrics without changing anything about your visual design. This tool does it instantly, for free, and completely privately — your images are processed in your browser and never travel to any external server.',
153
+ html: 'The move from PNG to WebP is the most complete web image optimization available: you get lighter files, preserve transparency, and improve Core Web Vitals metrics without changing anything about your visual design. This tool does it instantly, for free, and completely privately - your images are processed in your browser and never travel to any external server.',
168
154
  },
169
155
  ];
170
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 { PngAWebpLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google: WebP Implementation Details',
57
- url: 'https://developers.google.com/speed/webp/',
58
- },
59
- {
60
- name: 'W3C: Core Web Vitals Guidance',
61
- url: 'https://web.dev/vitals/',
62
- },
63
- {
64
- name: 'Mozilla Docs: Image Formats',
65
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
66
- },
67
- ];
68
-
69
55
  const seo: PngAWebpLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -74,7 +60,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
74
60
  },
75
61
  {
76
62
  type: 'paragraph',
77
- html: 'El <strong>PNG</strong> ha sido el formato de referencia para imágenes web con transparencia durante décadas — logos, iconos, elementos de UI, imágenes de producto sobre fondo recortado. Su problema es el peso: la compresión sin pérdida que garantiza su calidad también genera archivos notablemente grandes. El <strong>WebP</strong> de Google resuelve esta contradicción: soporta canal alfa (transparencias) <em>y</em> comprime mucho mejor que PNG, haciendo que cambiar PNG por WebP en tu web sea la optimización perfecta que no sacrifica nada.',
63
+ html: 'El <strong>PNG</strong> ha sido el formato de referencia para imágenes web con transparencia durante décadas - logos, iconos, elementos de UI, imágenes de producto sobre fondo recortado. Su problema es el peso: la compresión sin pérdida que garantiza su calidad también genera archivos notablemente grandes. El <strong>WebP</strong> de Google resuelve esta contradicción: soporta canal alfa (transparencias) <em>y</em> comprime mucho mejor que PNG, haciendo que cambiar PNG por WebP en tu web sea la optimización perfecta que no sacrifica nada.',
78
64
  },
79
65
  {
80
66
  type: 'title',
@@ -115,8 +101,8 @@ const seo: PngAWebpLocaleContent['seo'] = [
115
101
  icon: 'mdi:laptop-mac',
116
102
  highlight: true,
117
103
  points: [
118
- 'Velocidad instantánea — cero latencia de red',
119
- 'Privacidad total — 0 bytes enviados al exterior',
104
+ 'Velocidad instantánea - cero latencia de red',
105
+ 'Privacidad total - 0 bytes enviados al exterior',
120
106
  'Sin límites de MB ni de número de archivos',
121
107
  'Interfaz limpia, sin anuncios ni rastreos',
122
108
  ],
@@ -130,7 +116,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
130
116
  },
131
117
  {
132
118
  type: 'paragraph',
133
- html: 'El PNG se carga localmente y se decodifica en un <strong>Canvas HTML5</strong> en memoria. El Canvas API preserva el canal alfa del PNG original — todos los píxeles transparentes y semitransparentes se mantienen intactos en el buffer de píxeles RGBA. A continuación se exporta llamando a <code>toDataURL(\'image/webp\')</code>, que aplica el codec WebP del navegador (basado en libwebp de Google) para generar un archivo más compacto sin alterar la información de transparencia.',
119
+ html: 'El PNG se carga localmente y se decodifica en un <strong>Canvas HTML5</strong> en memoria. El Canvas API preserva el canal alfa del PNG original - todos los píxeles transparentes y semitransparentes se mantienen intactos en el buffer de píxeles RGBA. A continuación se exporta llamando a <code>toDataURL(\'image/webp\')</code>, que aplica el codec WebP del navegador (basado en libwebp de Google) para generar un archivo más compacto sin alterar la información de transparencia.',
134
120
  },
135
121
  {
136
122
  type: 'paragraph',
@@ -164,7 +150,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'El paso de PNG a WebP es la optimización de imágenes web más completa disponible: consigues archivos más ligeros, preservas las transparencias y mejoras las métricas Core Web Vitals sin cambiar nada del diseño visual. Esta herramienta lo hace de forma instantánea, gratuita y completamente privada — tus imágenes se procesan en tu navegador y no viajan a ningún servidor externo.',
153
+ html: 'El paso de PNG a WebP es la optimización de imágenes web más completa disponible: consigues archivos más ligeros, preservas las transparencias y mejoras las métricas Core Web Vitals sin cambiar nada del diseño visual. Esta herramienta lo hace de forma instantánea, gratuita y completamente privada - tus imágenes se procesan en tu navegador y no viajan a ningún servidor externo.',
168
154
  },
169
155
  ];
170
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 { PngAWebpLocaleContent } from '../index';
@@ -51,30 +52,15 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google: Détails d\'implémentation WebP',
57
- url: 'https://developers.google.com/speed/webp/',
58
- },
59
- {
60
- name: 'W3C: Guidance Core Web Vitals',
61
- url: 'https://web.dev/vitals/',
62
- },
63
- {
64
- name: 'Mozilla Docs: Formats d\'image',
65
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
66
- },
67
- ];
68
-
69
55
  const seo: PngAWebpLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
72
- text: 'Convertisseur PNG vers WebP : Transparence et Compression Moderne pour le Web',
58
+ text: 'Convertisseur PNG vers WebP: Transparence et Compression Moderne pour le Web',
73
59
  level: 2,
74
60
  },
75
61
  {
76
62
  type: 'paragraph',
77
- html: 'Le <strong>PNG</strong> est le format de référence pour les images web avec transparence depuis des décennies — logos, icônes, éléments d\'interface, images de produits sur fond découpé. Son problème est le poids : la compression sans perte qui garantit sa qualité génère également des fichiers notablement volumineux. Le <strong>WebP</strong> de Google résout cette contradiction : il supporte le canal alpha (transparence) <em>et</em> compresse bien mieux que le PNG, faisant du passage de PNG à WebP l\'optimisation parfaite qui ne sacrifie rien.',
63
+ html: 'Le <strong>PNG</strong> est le format de référence pour les images web avec transparence depuis des décennies - logos, icônes, éléments d\'interface, images de produits sur fond découpé. Son problème est le poids: la compression sans perte qui garantit sa qualité génère également des fichiers notablement volumineux. Le <strong>WebP</strong> de Google résout cette contradiction: il supporte le canal alpha (transparence) <em>et</em> compresse bien mieux que le PNG, faisant du passage de PNG à WebP l\'optimisation parfaite qui ne sacrifie rien.',
78
64
  },
79
65
  {
80
66
  type: 'title',
@@ -83,15 +69,15 @@ const seo: PngAWebpLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: 'Le <strong>PNG</strong> reste le bon format lorsque la compatibilité est critique : outils de design comme Photoshop ou Figma, flux d\'impression, applications de bureau ancienne ou tout contexte où le support WebP n\'est pas garanti. C\'est aussi le format idéal pour sauvegarder les calques de travail dans les pipelines d\'édition, car sa compression sans perte préserve chaque pixel. Le coût : des fichiers qui peuvent peser 3 à 8 fois plus que leur équivalent WebP.',
72
+ html: 'Le <strong>PNG</strong> reste le bon format lorsque la compatibilité est critique: outils de design comme Photoshop ou Figma, flux d\'impression, applications de bureau ancienne ou tout contexte où le support WebP n\'est pas garanti. C\'est aussi le format idéal pour sauvegarder les calques de travail dans les pipelines d\'édition, car sa compression sans perte préserve chaque pixel. Le coût: des fichiers qui peuvent peser 3 à 8 fois plus que leur équivalent WebP.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
90
- html: 'Le <strong>WebP</strong> est le remplacement naturel du PNG pour tout le contenu web moderne. Chrome, Firefox, Safari et Edge le supportent nativement. Une image WebP sans perte est 26 % plus petite que le PNG équivalent ; en mode avec perte, elle peut être jusqu\'à 40 % plus petite avec une qualité visuelle pratiquement indistinguible. Et, point crucial pour le design web : <strong>WebP préserve la transparence alpha</strong> exactement comme le PNG, sans aucun compromis visuel.',
76
+ html: 'Le <strong>WebP</strong> est le remplacement naturel du PNG pour tout le contenu web moderne. Chrome, Firefox, Safari et Edge le supportent nativement. Une image WebP sans perte est 26 % plus petite que le PNG équivalent ; en mode avec perte, elle peut être jusqu\'à 40 % plus petite avec une qualité visuelle pratiquement indistinguible. Et, point crucial pour le design web: <strong>WebP préserve la transparence alpha</strong> exactement comme le PNG, sans aucun compromis visuel.',
91
77
  },
92
78
  {
93
79
  type: 'title',
94
- text: 'Comparatif : Conversion locale vs Cloud',
80
+ text: 'Comparatif: Conversion locale vs Cloud',
95
81
  level: 3,
96
82
  },
97
83
  {
@@ -115,8 +101,8 @@ const seo: PngAWebpLocaleContent['seo'] = [
115
101
  icon: 'mdi:laptop-mac',
116
102
  highlight: true,
117
103
  points: [
118
- 'Vitesse instantanée — zéro latence réseau',
119
- 'Confidentialité totale — 0 octet envoyé à l\'extérieur',
104
+ 'Vitesse instantanée - zéro latence réseau',
105
+ 'Confidentialité totale - 0 octet envoyé à l\'extérieur',
120
106
  'Aucune limite de taille ni de nombre de fichiers',
121
107
  'Interface épurée, sans publicités ni traçage',
122
108
  ],
@@ -130,16 +116,16 @@ const seo: PngAWebpLocaleContent['seo'] = [
130
116
  },
131
117
  {
132
118
  type: 'paragraph',
133
- html: 'Le PNG est chargé localement et décodé dans un <strong>Canvas HTML5</strong> en mémoire. L\'API Canvas préserve le canal alpha du PNG original — tous les pixels transparents et semi-transparents sont maintenus intacts dans le tampon de pixels RGBA. Le canvas est ensuite exporté en appelant <code>toDataURL(\'image/webp\')</code>, qui applique le codec WebP du navigateur (basé sur libwebp de Google) pour générer un fichier plus compact sans altérer les données de transparence.',
119
+ html: 'Le PNG est chargé localement et décodé dans un <strong>Canvas HTML5</strong> en mémoire. L\'API Canvas préserve le canal alpha du PNG original - tous les pixels transparents et semi-transparents sont maintenus intacts dans le tampon de pixels RGBA. Le canvas est ensuite exporté en appelant <code>toDataURL(\'image/webp\')</code>, qui applique le codec WebP du navigateur (basé sur libwebp de Google) pour générer un fichier plus compact sans altérer les données de transparence.',
134
120
  },
135
121
  {
136
122
  type: 'paragraph',
137
- html: 'WebP utilise deux modes de compression : le mode sans perte (<em>lossless</em>) pour les images où chaque pixel doit être exactement fidèle à l\'original, et le mode avec perte (<em>lossy</em>) pour les photos et éléments où de petites différences sont imperceptibles. Le mode sans perte produit des fichiers 26 % plus petits que le PNG ; le mode avec perte peut atteindre des réductions jusqu\'à 40 % par rapport au PNG tout en maintenant une excellente qualité visuelle.',
123
+ html: 'WebP utilise deux modes de compression: le mode sans perte (<em>lossless</em>) pour les images où chaque pixel doit être exactement fidèle à l\'original, et le mode avec perte (<em>lossy</em>) pour les photos et éléments où de petites différences sont imperceptibles. Le mode sans perte produit des fichiers 26 % plus petits que le PNG ; le mode avec perte peut atteindre des réductions jusqu\'à 40 % par rapport au PNG tout en maintenant une excellente qualité visuelle.',
138
124
  },
139
125
  {
140
126
  type: 'tip',
141
- title: 'Conseil : WebP surpasse à la fois PNG et JPG sur le web',
142
- html: 'WebP en mode sans perte est plus petit que le PNG. WebP en mode avec perte est plus petit que le JPG. Cela fait de WebP le <strong>seul format qui remplace les deux</strong> dans le contexte web. Convertissez vos PNG transparents en WebP avant de les mettre en ligne : Google PageSpeed Insights le détecte et le valorise positivement dans les audits "Servir les images dans des formats modernes".',
127
+ title: 'Conseil: WebP surpasse à la fois PNG et JPG sur le web',
128
+ html: 'WebP en mode sans perte est plus petit que le PNG. WebP en mode avec perte est plus petit que le JPG. Cela fait de WebP le <strong>seul format qui remplace les deux</strong> dans le contexte web. Convertissez vos PNG transparents en WebP avant de les mettre en ligne: Google PageSpeed Insights le détecte et le valorise positivement dans les audits "Servir les images dans des formats modernes".',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -164,7 +150,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'Le passage de PNG à WebP est l\'optimisation d\'images web la plus complète disponible : vous obtenez des fichiers plus légers, vous préservez la transparence et vous améliorez les métriques Core Web Vitals sans rien changer à votre design visuel. Cet outil le fait instantanément, gratuitement et de manière totalement privée — vos images sont traitées dans votre navigateur et ne voyagent jamais vers aucun serveur externe.',
153
+ html: 'Le passage de PNG à WebP est l\'optimisation d\'images web la plus complète disponible: vous obtenez des fichiers plus légers, vous préservez la transparence et vous améliorez les métriques Core Web Vitals sans rien changer à votre design visuel. Cet outil le fait instantanément, gratuitement et de manière totalement privée - vos images sont traitées dans votre navigateur et ne voyagent jamais vers aucun serveur externe.',
168
154
  },
169
155
  ];
170
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 { PngAWebpLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google: Detail Implementasi WebP',
57
- url: 'https://developers.google.com/speed/webp/',
58
- },
59
- {
60
- name: 'W3C: Panduan Core Web Vitals',
61
- url: 'https://web.dev/vitals/',
62
- },
63
- {
64
- name: 'Mozilla Docs: Format Gambar',
65
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
66
- },
67
- ];
68
-
69
55
  const seo: PngAWebpLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -74,7 +60,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
74
60
  },
75
61
  {
76
62
  type: 'paragraph',
77
- html: '<strong>PNG</strong> telah menjadi format referensi untuk gambar web dengan transparansi selama beberapa dekade — logo, ikon, elemen UI, gambar produk dengan latar belakang transparan. Masalahnya adalah ukuran file: kompresi lossless yang menjamin kualitas juga menghasilkan file yang sangat besar. <strong>WebP</strong> Google memecahkan kontradiksi ini: ia mendukung saluran alfa (transparansi) <em>dan</em> mengompresi jauh lebih baik daripada PNG, menjadikan peralihan dari PNG ke WebP di situs web Anda sebagai optimasi sempurna yang tidak mengorbankan apa pun.',
63
+ html: '<strong>PNG</strong> telah menjadi format referensi untuk gambar web dengan transparansi selama beberapa dekade - logo, ikon, elemen UI, gambar produk dengan latar belakang transparan. Masalahnya adalah ukuran file: kompresi lossless yang menjamin kualitas juga menghasilkan file yang sangat besar. <strong>WebP</strong> Google memecahkan kontradiksi ini: ia mendukung saluran alfa (transparansi) <em>dan</em> mengompresi jauh lebih baik daripada PNG, menjadikan peralihan dari PNG ke WebP di situs web Anda sebagai optimasi sempurna yang tidak mengorbankan apa pun.',
78
64
  },
79
65
  {
80
66
  type: 'title',
@@ -83,7 +69,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: '<strong>PNG</strong> tetap merupakan format yang tepat ketika kompatibilitas sangat penting: alat desain seperti Photoshop atau Figma, alur kerja cetak, aplikasi desktop lama, atau konteks apa pun di mana dukungan WebP tidak dijamin. Ini juga merupakan format ideal untuk menyimpan lapisan kerja dalam alur pengeditan, karena kompresi lossless-nya mempertahankan setiap piksel. Biayanya: file yang bisa berbobot 3–8 kali lebih berat daripada ekuivalen WebP-nya.',
72
+ html: '<strong>PNG</strong> tetap merupakan format yang tepat ketika kompatibilitas sangat penting: alat desain seperti Photoshop atau Figma, alur kerja cetak, aplikasi desktop lama, atau konteks apa pun di mana dukungan WebP tidak dijamin. Ini juga merupakan format ideal untuk menyimpan lapisan kerja dalam alur pengeditan, karena kompresi lossless-nya mempertahankan setiap piksel. Biayanya: file yang bisa berbobot 3-8 kali lebih berat daripada ekuivalen WebP-nya.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
@@ -115,8 +101,8 @@ const seo: PngAWebpLocaleContent['seo'] = [
115
101
  icon: 'mdi:laptop-mac',
116
102
  highlight: true,
117
103
  points: [
118
- 'Kecepatan instan — nol latensi jaringan',
119
- 'Privasi lengkap — 0 byte dikirim secara eksternal',
104
+ 'Kecepatan instan - nol latensi jaringan',
105
+ 'Privasi lengkap - 0 byte dikirim secara eksternal',
120
106
  'Tanpa batas MB atau batasan jumlah file',
121
107
  'Antarmuka bersih, tanpa iklan atau pelacakan',
122
108
  ],
@@ -130,7 +116,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
130
116
  },
131
117
  {
132
118
  type: 'paragraph',
133
- html: 'PNG dimuat secara lokal dan didekodekan ke dalam <strong>HTML5 Canvas</strong> dalam memori. API Canvas mempertahankan saluran alfa dari PNG asli — semua piksel transparan dan semi-transparan dipertahankan secara utuh dalam buffer piksel RGBA. Kanvas kemudian diekspor dengan memanggil <code>toDataURL(\'image/webp\')</code>, yang menerapkan codec WebP browser (berdasarkan libwebp Google) untuk menghasilkan file yang lebih ringkas tanpa mengubah data transparansi.',
119
+ html: 'PNG dimuat secara lokal dan didekodekan ke dalam <strong>HTML5 Canvas</strong> dalam memori. API Canvas mempertahankan saluran alfa dari PNG asli - semua piksel transparan dan semi-transparan dipertahankan secara utuh dalam buffer piksel RGBA. Kanvas kemudian diekspor dengan memanggil <code>toDataURL(\'image/webp\')</code>, yang menerapkan codec WebP browser (berdasarkan libwebp Google) untuk menghasilkan file yang lebih ringkas tanpa mengubah data transparansi.',
134
120
  },
135
121
  {
136
122
  type: 'paragraph',
@@ -164,7 +150,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'Peralihan dari PNG ke WebP adalah optimasi gambar web terlengkap yang tersedia: Anda mendapatkan file yang lebih ringan, mempertahankan transparansi, dan meningkatkan metrik Core Web Vitals tanpa mengubah apa pun pada desain visual Anda. Alat ini melakukannya secara instan, gratis, dan sepenuhnya privat — gambar Anda diproses di browser Anda dan tidak pernah dikirim ke server eksternal mana pun.',
153
+ html: 'Peralihan dari PNG ke WebP adalah optimasi gambar web terlengkap yang tersedia: Anda mendapatkan file yang lebih ringan, mempertahankan transparansi, dan meningkatkan metrik Core Web Vitals tanpa mengubah apa pun pada desain visual Anda. Alat ini melakukannya secara instan, gratis, dan sepenuhnya privat - gambar Anda diproses di browser Anda dan tidak pernah dikirim ke server eksternal mana pun.',
168
154
  },
169
155
  ];
170
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 { PngAWebpLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google: Dettagli sull\'implementazione di WebP',
57
- url: 'https://developers.google.com/speed/webp/',
58
- },
59
- {
60
- name: 'W3C: Guida ai Core Web Vitals',
61
- url: 'https://web.dev/vitals/',
62
- },
63
- {
64
- name: 'Mozilla Docs: Formati immagine',
65
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
66
- },
67
- ];
68
-
69
55
  const seo: PngAWebpLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -115,8 +101,8 @@ const seo: PngAWebpLocaleContent['seo'] = [
115
101
  icon: 'mdi:laptop-mac',
116
102
  highlight: true,
117
103
  points: [
118
- 'Velocità istantanea — latenza di rete zero',
119
- 'Privacy completa — 0 byte inviati esternamente',
104
+ 'Velocità istantanea - latenza di rete zero',
105
+ 'Privacy completa - 0 byte inviati esternamente',
120
106
  'Nessun limite di MB o restrizioni sul numero di file',
121
107
  'Interfaccia pulita, senza pubblicità o tracciamento',
122
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 { PngAWebpLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google: WebPの実装詳細',
57
- url: 'https://developers.google.com/speed/webp/',
58
- },
59
- {
60
- name: 'W3C: Core Web Vitalsガイダンス',
61
- url: 'https://web.dev/vitals/',
62
- },
63
- {
64
- name: 'Mozilla Docs: 画像形式',
65
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
66
- },
67
- ];
68
-
69
55
  const seo: PngAWebpLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -116,7 +102,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
116
102
  highlight: true,
117
103
  points: [
118
104
  'ネットワーク遅延のない即座の処理速度',
119
- '完全なプライバシー — 外部送信データ0バイト',
105
+ '完全なプライバシー - 外部送信データ0バイト',
120
106
  '容量制限やファイル数の制限なし',
121
107
  '広告や追跡のないクリーンなインターフェース',
122
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 { PngAWebpLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google: WebP 구현 세부 정보',
57
- url: 'https://developers.google.com/speed/webp/',
58
- },
59
- {
60
- name: 'W3C: Core Web Vitals 가이드',
61
- url: 'https://web.dev/vitals/',
62
- },
63
- {
64
- name: 'Mozilla Docs: 이미지 형식',
65
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
66
- },
67
- ];
68
-
69
55
  const seo: PngAWebpLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -116,7 +102,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
116
102
  highlight: true,
117
103
  points: [
118
104
  '네트워크 지연 없는 즉각적인 속도',
119
- '완벽한 개인 정보 보호 — 외부 전송 데이터 0바이트',
105
+ '완벽한 개인 정보 보호 - 외부 전송 데이터 0바이트',
120
106
  '용량 제한이나 파일 개수 제한 없음',
121
107
  '광고나 추적이 없는 깨끗한 인터페이스',
122
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 { PngAWebpLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google: WebP Implementatiedetails',
57
- url: 'https://developers.google.com/speed/webp/',
58
- },
59
- {
60
- name: 'W3C: Core Web Vitals Richtlijnen',
61
- url: 'https://web.dev/vitals/',
62
- },
63
- {
64
- name: 'Mozilla Docs: Beeldformaten',
65
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
66
- },
67
- ];
68
-
69
55
  const seo: PngAWebpLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -74,7 +60,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
74
60
  },
75
61
  {
76
62
  type: 'paragraph',
77
- html: '<strong>PNG</strong> is decennialang het referentieformaat geweest voor webafbeeldingen met transparantie — logo\'s, pictogrammen, UI-elementen, productafbeeldingen op uitgesneden achtergronden. Het probleem is de bestandsgrootte: de verliesvrije compressie die kwaliteit garandeert, genereert ook merkbaar grote bestanden. Google\'s <strong>WebP</strong> lost deze tegenstrijdigheid op: het ondersteunt het alfakanaal (transparantie) <em>en</em> comprimeert veel beter dan PNG, waardoor de overstap van PNG naar WebP op je website een perfecte optimalisatie is die niets opoffert.',
63
+ html: '<strong>PNG</strong> is decennialang het referentieformaat geweest voor webafbeeldingen met transparantie - logo\'s, pictogrammen, UI-elementen, productafbeeldingen op uitgesneden achtergronden. Het probleem is de bestandsgrootte: de verliesvrije compressie die kwaliteit garandeert, genereert ook merkbaar grote bestanden. Google\'s <strong>WebP</strong> lost deze tegenstrijdigheid op: het ondersteunt het alfakanaal (transparantie) <em>en</em> comprimeert veel beter dan PNG, waardoor de overstap van PNG naar WebP op je website een perfecte optimalisatie is die niets opoffert.',
78
64
  },
79
65
  {
80
66
  type: 'title',
@@ -83,7 +69,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: '<strong>PNG</strong> blijft het juiste formaat wanneer compatibiliteit cruciaal is: ontwerptools zoals Photoshop of Figma, printworkflows, verouderde desktopapplicaties of elke context waarin WebP-ondersteuning niet gegarandeerd is. Het is ook het ideale formaat voor het opslaan van werklagen in bewerkingspipelines, aangezien de verliesvrije compressie elke pixel behoudt. De kosten: bestanden die 3–8 keer meer kunnen wegen dan hun WebP-equivalent.',
72
+ html: '<strong>PNG</strong> blijft het juiste formaat wanneer compatibiliteit cruciaal is: ontwerptools zoals Photoshop of Figma, printworkflows, verouderde desktopapplicaties of elke context waarin WebP-ondersteuning niet gegarandeerd is. Het is ook het ideale formaat voor het opslaan van werklagen in bewerkingspipelines, aangezien de verliesvrije compressie elke pixel behoudt. De kosten: bestanden die 3-8 keer meer kunnen wegen dan hun WebP-equivalent.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
@@ -115,8 +101,8 @@ const seo: PngAWebpLocaleContent['seo'] = [
115
101
  icon: 'mdi:laptop-mac',
116
102
  highlight: true,
117
103
  points: [
118
- 'Onmiddellijke snelheid — geen netwerklatentie',
119
- 'Volledige privacy — 0 bytes extern verzonden',
104
+ 'Onmiddellijke snelheid - geen netwerklatentie',
105
+ 'Volledige privacy - 0 bytes extern verzonden',
120
106
  'Geen MB-limieten of beperkingen op aantal bestanden',
121
107
  'Schone interface, geen advertenties of tracking',
122
108
  ],
@@ -130,7 +116,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
130
116
  },
131
117
  {
132
118
  type: 'paragraph',
133
- html: 'De PNG wordt lokaal geladen en gedecodeerd in een in-memory <strong>HTML5 Canvas</strong>. De Canvas API behoudt het alfakanaal van de originele PNG — alle transparante en semi-transparante pixels blijven intact in de RGBA-pixelbuffer. Het canvas wordt vervolgens geëxporteerd door <code>toDataURL(\'image/webp\')</code> aan te roepen, wat de WebP-codec van de browser (gebaseerd op Google\'s libwebp) toepast om een compacter bestand te genereren zonder de transparantiegegevens te wijzigen.',
119
+ html: 'De PNG wordt lokaal geladen en gedecodeerd in een in-memory <strong>HTML5 Canvas</strong>. De Canvas API behoudt het alfakanaal van de originele PNG - alle transparante en semi-transparante pixels blijven intact in de RGBA-pixelbuffer. Het canvas wordt vervolgens geëxporteerd door <code>toDataURL(\'image/webp\')</code> aan te roepen, wat de WebP-codec van de browser (gebaseerd op Google\'s libwebp) toepast om een compacter bestand te genereren zonder de transparantiegegevens te wijzigen.',
134
120
  },
135
121
  {
136
122
  type: 'paragraph',
@@ -164,7 +150,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'De overstap van PNG naar WebP is de meest complete webafbeeldingsoptimalisatie die beschikbaar is: je krijgt lichtere bestanden, behoudt transparantie en verbetert Core Web Vitals-metrieken zonder iets aan je visuele ontwerp te veranderen. Deze tool doet het onmiddellijk, gratis en volledig privé — je afbeeldingen worden verwerkt in je browser en gaan nooit naar een externe server.',
153
+ html: 'De overstap van PNG naar WebP is de meest complete webafbeeldingsoptimalisatie die beschikbaar is: je krijgt lichtere bestanden, behoudt transparantie en verbetert Core Web Vitals-metrieken zonder iets aan je visuele ontwerp te veranderen. Deze tool doet het onmiddellijk, gratis en volledig privé - je afbeeldingen worden verwerkt in je browser en gaan nooit naar een externe server.',
168
154
  },
169
155
  ];
170
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 { PngAWebpLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: PngAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google: Szczegóły implementacji WebP',
57
- url: 'https://developers.google.com/speed/webp/',
58
- },
59
- {
60
- name: 'W3C: Wskazówki dotyczące Core Web Vitals',
61
- url: 'https://web.dev/vitals/',
62
- },
63
- {
64
- name: 'Mozilla Docs: Formaty obrazów',
65
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types',
66
- },
67
- ];
68
-
69
55
  const seo: PngAWebpLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -74,7 +60,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
74
60
  },
75
61
  {
76
62
  type: 'paragraph',
77
- html: '<strong>PNG</strong> od dziesięcioleci był formatem referencyjnym dla obrazów internetowych z przezroczystością — logo, ikon, elementów interfejsu użytkownika, zdjęć produktów na wyciętych tłach. Problemem jest rozmiar pliku: kompresja bezstratna, która gwarantuje jakość, generuje również zauważalnie duże pliki. <strong>WebP</strong> od Google rozwiązuje tę sprzeczność: obsługuje kanał alfa (przezroczystość) <em>i</em> kompresuje znacznie lepiej niż PNG, co sprawia, że przejście z PNG na WebP na Twojej stronie internetowej jest idealną optymalizacją, która nie wymaga żadnych poświęceń.',
63
+ html: '<strong>PNG</strong> od dziesięcioleci był formatem referencyjnym dla obrazów internetowych z przezroczystością - logo, ikon, elementów interfejsu użytkownika, zdjęć produktów na wyciętych tłach. Problemem jest rozmiar pliku: kompresja bezstratna, która gwarantuje jakość, generuje również zauważalnie duże pliki. <strong>WebP</strong> od Google rozwiązuje tę sprzeczność: obsługuje kanał alfa (przezroczystość) <em>i</em> kompresuje znacznie lepiej niż PNG, co sprawia, że przejście z PNG na WebP na Twojej stronie internetowej jest idealną optymalizacją, która nie wymaga żadnych poświęceń.',
78
64
  },
79
65
  {
80
66
  type: 'title',
@@ -83,7 +69,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: '<strong>PNG</strong> pozostaje właściwym formatem, gdy kluczowa jest kompatybilność: narzędzia do projektowania, takie jak Photoshop czy Figma, procesy drukowania, starsze aplikacje desktopowe lub dowolny kontekst, w którym obsługa WebP nie jest gwarantowana. Jest to również idealny format do zapisywania warstw roboczych w procesach edycji, ponieważ kompresja bezstratna zachowuje każdy piksel. Koszt: pliki, które mogą ważyć 3–8 razy więcej niż ich odpowiednik w WebP.',
72
+ html: '<strong>PNG</strong> pozostaje właściwym formatem, gdy kluczowa jest kompatybilność: narzędzia do projektowania, takie jak Photoshop czy Figma, procesy drukowania, starsze aplikacje desktopowe lub dowolny kontekst, w którym obsługa WebP nie jest gwarantowana. Jest to również idealny format do zapisywania warstw roboczych w procesach edycji, ponieważ kompresja bezstratna zachowuje każdy piksel. Koszt: pliki, które mogą ważyć 3-8 razy więcej niż ich odpowiednik w WebP.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
@@ -115,8 +101,8 @@ const seo: PngAWebpLocaleContent['seo'] = [
115
101
  icon: 'mdi:laptop-mac',
116
102
  highlight: true,
117
103
  points: [
118
- 'Błyskawiczna prędkość — zero opóźnień sieciowych',
119
- 'Pełna prywatność — 0 bajtów wysłanych na zewnątrz',
104
+ 'Błyskawiczna prędkość - zero opóźnień sieciowych',
105
+ 'Pełna prywatność - 0 bajtów wysłanych na zewnątrz',
120
106
  'Brak limitów MB lub ograniczeń liczby plików',
121
107
  'Czysty interfejs, bez reklam i śledzenia',
122
108
  ],
@@ -130,7 +116,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
130
116
  },
131
117
  {
132
118
  type: 'paragraph',
133
- html: 'Plik PNG jest ładowany lokalnie i dekodowany do <strong>HTML5 Canvas</strong> w pamięci. Interfejs API Canvas zachowuje kanał alfa z oryginalnego pliku PNG — wszystkie przezroczyste i półprzezroczyste piksele zostają zachowane w nienaruszonym stanie w buforze pikseli RGBA. Następnie płótno jest eksportowane przez wywołanie <code>toDataURL(\'image/webp\')</code>, co powoduje zastosowanie kodeka WebP przeglądarki (opartego na libwebp firmy Google) w celu wygenerowania bardziej zwartego pliku bez zmiany danych o przezroczystości.',
119
+ html: 'Plik PNG jest ładowany lokalnie i dekodowany do <strong>HTML5 Canvas</strong> w pamięci. Interfejs API Canvas zachowuje kanał alfa z oryginalnego pliku PNG - wszystkie przezroczyste i półprzezroczyste piksele zostają zachowane w nienaruszonym stanie w buforze pikseli RGBA. Następnie płótno jest eksportowane przez wywołanie <code>toDataURL(\'image/webp\')</code>, co powoduje zastosowanie kodeka WebP przeglądarki (opartego na libwebp firmy Google) w celu wygenerowania bardziej zwartego pliku bez zmiany danych o przezroczystości.',
134
120
  },
135
121
  {
136
122
  type: 'paragraph',
@@ -164,7 +150,7 @@ const seo: PngAWebpLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'Przejście z PNG na WebP to najbardziej kompletna optymalizacja obrazów internetowych: otrzymujesz lżejsze pliki, zachowujesz przezroczystość i poprawiasz wskaźniki Core Web Vitals bez żadnych zmian w projekcie wizualnym. To narzędzie robi to natychmiastowo, za darmo i całkowicie prywatnie — Twoje zdjęcia są przetwarzane w przeglądarce i nigdy nie trafiają na żaden zewnętrzny serwer.',
153
+ html: 'Przejście z PNG na WebP to najbardziej kompletna optymalizacja obrazów internetowych: otrzymujesz lżejsze pliki, zachowujesz przezroczystość i poprawiasz wskaźniki Core Web Vitals bez żadnych zmian w projekcie wizualnym. To narzędzie robi to natychmiastowo, za darmo i całkowicie prywatnie - Twoje zdjęcia są przetwarzane w przeglądarce i nigdy nie trafiają na żaden zewnętrzny serwer.',
168
154
  },
169
155
  ];
170
156