@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 { PngAJpgLocaleContent } from '../index';
@@ -20,24 +21,24 @@ const ui: ImageConverterUI = {
20
21
 
21
22
  const faq: PngAJpgLocaleContent['faq'] = [
22
23
  {
23
- question: 'Dlaczego warto wybrać nasz lokalny konwerter PNG na JPG?',
24
+ question: '¿Por qué elegir nuestro convertidor local de PNG a JPG?',
24
25
  answer:
25
- 'W przeciwieństwie do konwencjonalnych narzędzi, nasz program przetwarza pliki w całości w Twojej przeglądarce. Twoje obrazy nigdy nie trafiają na obcy dysk twardy, co gwarantuje pełną suwerenność i prywatność Twoich danych.',
26
+ 'A diferencia de las herramientas convencionales, nuestra utilidad procesa los archivos íntegramente en tu navegador. Tus imágenes nunca tocan un disco duro ajeno, garantizando la total soberanía y privacidad de tus datos.',
26
27
  },
27
28
  {
28
- question: 'JPG czy PNG? Co jest lepsze w moim przypadku?',
29
+ question: '¿JPG o PNG? ¿Cuál es mejor para mi caso?',
29
30
  answer:
30
- 'PNG jest idealny do logotypów i elementów z przezroczystością. Jednak JPG jest złotym standardem dla fotografii i banerów internetowych, ponieważ osiąga znacznie mniejszą wagę, co drastycznie poprawia prędkość ładowania strony.',
31
+ 'El PNG es ideal para logotipos y elementos con transparencia. Sin embargo, el JPG es el estándar de oro para fotografías y banners web, ya que logra pesos mucho más reducidos, mejorando drásticamente la velocidad de carga de un sitio.',
31
32
  },
32
33
  {
33
- question: 'Jak działa techniczna konwersja bez przesyłania czegokolwiek?',
34
+ question: '¿Cómo funciona la conversión técnica sin subir nada?',
34
35
  answer:
35
- 'Wykorzystujemy moc Canvas HTML5. Przeglądarka odtwarza obraz na niewidocznym wirtualnym płótnie, wypełnia przezroczystości kolorem białym i generuje strumień bajtów, który pobierasz bezpośrednio w mgnieniu oka.',
36
+ 'Utilizamos la potencia del Canvas de HTML5. El navegador recrea la imagen en un lienzo virtual invisible, rellena las transparencias con blanco y genera un flujo de bytes que descargas directamente al instante.',
36
37
  },
37
38
  {
38
- question: 'Czy jest to bezpieczne dla dokumentów poufnych?',
39
+ question: '¿Es seguro para documentos confidenciales?',
39
40
  answer:
40
- 'Tak, to najbezpieczniejsza opcja dla profesjonalistów z branży bankowej, służby zdrowia czy prawa. Będąc „czarną skrzynką”, która używa tylko Twojej pamięci RAM, to, co dzieje się wewnątrz, znika wraz z zamknięciem karty, co zapobiega wyciekom w chmurach zewnętrznych.',
41
+ 'Sí, es la opción más segura para profesionales de la banca, salud o derecho. Al ser una "caja negra" que solo usa tu RAM, lo que pasa dentro muere al cerrar la pestaña, evitando filtraciones en nubes de terceros.',
41
42
  },
42
43
  ];
43
44
 
@@ -48,132 +49,121 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
48
49
  },
49
50
  {
50
51
  name: 'Błyskawiczne przetwarzanie',
51
- text: 'Sprawdź, czy status zmieni się na „Gotowe” dla każdego pliku, podczas gdy przeglądarka optymalizuje wagę lokalnie.',
52
+ text: 'Sprawdź, czy status zmieni się na \"Gotowe\" dla każdego pliku, podczas gdy przeglądarka optymalizuje wagę lokalnie.',
52
53
  },
53
54
  {
54
55
  name: 'Zoptymalizowane pobieranie',
55
- text: 'Zapisz swoje nowe pliki JPG jeden po drugim lub użyj przycisku „Pobierz wszystko”, aby uzyskać skompresowany plik ZIP ze wszystkimi obrazami.',
56
- },
57
- ];
58
-
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'Specyfikacje PNG Consortium',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'Komitet JPEG',
66
- url: 'https://jpeg.org/',
56
+ text: 'Zapisz swoje nowe pliki JPG jeden po drugim lub użyj przycisku \"Pobierz wszystko\", aby uzyskać skompresowany plik ZIP ze wszystkimi obrazami.',
67
57
  },
68
58
  ];
69
59
 
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  type: 'title',
73
- text: 'Konwerter PNG na JPG: Ostateczny Przewodnik po Optymalizacji Obrazów',
63
+ text: 'Convertidor de PNG a JPG: La Guía Definitiva para la Optimización de Imágenes',
74
64
  level: 2,
75
65
  },
76
66
  {
77
67
  type: 'paragraph',
78
- html: 'W świecie cyfrowego projektowania i tworzenia stron internetowych wydajność jest wszystkim. Format PNG (Portable Network Graphics) jest ceniony za zdolność zachowania przezroczystości i kompresję bezstratną, ale ma jednego wielkiego wroga: wagę pliku. Gdy chcesz, aby Twoja strona internetowa „latała” lub Twoje e-maile ładowały się błyskawicznie, przejście z PNG na JPG jest najmądrzejszą decyzją techniczną.',
68
+ html: 'En el mundo del diseño digital y el desarrollo web, la eficiencia lo es todo. El formato PNG (Portable Network Graphics) es amado por su capacidad de mantener transparencias y su compresión sin pérdida, pero tiene un gran enemigo: el peso del archivo. Cuando necesitas que tu sitio web vuele o que tus emails carguen instantáneamente, el paso de PNG a JPG es la decisión técnica más inteligente.',
79
69
  },
80
70
  {
81
71
  type: 'title',
82
- text: 'JPG czy PNG?',
72
+ text: '¿JPG o PNG?',
83
73
  level: 3,
84
74
  },
85
75
  {
86
76
  type: 'paragraph',
87
- html: 'Nie ma formatu lepszego od innego, istnieje tylko narzędzie do konkretnej potrzeby. PNG to format bezstratny, idealny do makiet interfejsów, logotypów z małym tekstem i elementów wizualnych wymagających przezroczystego tła. Jednak ta wierność ma swoją cenę: pliki mogą być 5 lub 10 razy cięższe niż ich skompresowane odpowiedniki.',
77
+ html: 'No existe un formato mejor que otro, sino una herramienta para cada necesidad. El PNG es un formato sin pérdida, ideal para maquetas de interfaces, logotipos con texto pequeño y elementos visuales que requieren un fondo transparente. Sin embargo, esta fidelidad tiene un coste: archivos que pueden ser 5 o 10 veces más pesados que su equivalente comprimido.',
88
78
  },
89
79
  {
90
80
  type: 'paragraph',
91
- html: 'Z drugiej strony JPG (Joint Photographic Experts Group) używa algorytmów dyskretyzacji, aby usunąć informacje, których oko ludzkie prawie nie zauważa, osiągając wagę piórkową. Jest to złoty standard dla fotografii, banerów reklamowych i mediów społecznościowych. Konwertując swoje PNG na JPG, wymieniasz wierność geometryczną na prędkość sieci.',
81
+ html: 'El JPG (Joint Photographic Experts Group), por otro lado, utiliza algoritmos de discretización para eliminar información que el ojo humano apenas percibe, logrando pesos pluma. Es el estándar de oro para fotografías, banners publicitarios y redes sociales. Al convertir tus PNG a JPG, estás traduciendo fidelidad geométrica por velocidad de red.',
92
82
  },
93
83
  {
94
84
  type: 'title',
95
- text: 'Porównanie architektury: Lokalna vs Chmura',
85
+ text: 'Comparativa de Arquitectura: Local vs Nube',
96
86
  level: 3,
97
87
  },
98
88
  {
99
89
  type: 'comparative',
100
90
  items: [
101
91
  {
102
- title: 'Konwertery w chmurze',
103
- description: 'Tradycyjne narzędzia, które przesyłają Twoje zdjęcia na zdalny serwer.',
92
+ title: 'Convertidores Cloud',
93
+ description: 'Herramientas tradicionales que suben tus fotos a un servidor remoto.',
104
94
  icon: 'mdi:cloud-upload',
105
95
  pointIcon: 'mdi:close-circle-outline',
106
96
  points: [
107
- 'Opóźnienie sieci (Upload/Download)',
108
- 'Ryzyko wycieku prywatnych danych',
109
- 'Limity rozmiaru pliku',
110
- 'Reklamy i trackery',
97
+ 'Latencia de red (Upload/Download)',
98
+ 'Riesgo de filtración de datos privados',
99
+ 'Límites de tamaño por archivo',
100
+ 'Publicidad y rastreadores',
111
101
  ],
112
102
  },
113
103
  {
114
- title: 'Nasza lokalna architektura',
115
- description: 'Bezpośrednie przetwarzanie na Twoim sprzęcie za pomocą technologii Vanilla JS.',
104
+ title: 'Nuestra Arquitectura Local',
105
+ description: 'Procesamiento directo en tu hardware mediante tecnología Vanilla JS.',
116
106
  icon: 'mdi:laptop-mac',
117
107
  highlight: true,
118
108
  points: [
119
- 'Natychmiastowa prędkość bez sieci',
120
- 'Gwarantowana prywatność (0 bajtów przesłanych)',
121
- 'Brak limitów MB na plik',
122
- 'Profesjonalny i czysty interfejs',
109
+ 'Velocidad instantánea sin red',
110
+ 'Privacidad garantizada (0 bytes enviados)',
111
+ 'Sin límites de MB por archivo',
112
+ 'Interfaz profesional y limpia',
123
113
  ],
124
114
  },
125
115
  ],
126
116
  },
127
117
  {
128
118
  type: 'title',
129
- text: 'Jak działa techniczna konwersja',
119
+ text: 'Cómo funciona la conversión técnica',
130
120
  level: 3,
131
121
  },
132
122
  {
133
123
  type: 'paragraph',
134
- html: 'Pewnie zastanawiasz się, jak to możliwe, aby konwertować obraz bez wysyłania go na serwer. Magia tkwi w mocy nowoczesnych przeglądarek. Gdy wybierasz plik, generujemy Blob, który istnieje tylko w Twojej pamięci RAM. Ten Blob jest rysowany na niewidocznym elemencie HTML5 Canvas.',
124
+ html: 'Probablemente te preguntes cómo es posible convertir una imagen sin enviarla a un servidor. La magia reside en la potencia de los navegadores modernos. Cuando seleccionas un archivo, generamos un Blob que solo existe en tu RAM. Ese Blob se dibuja en un elemento HTML5 Canvas invisible.',
135
125
  },
136
126
  {
137
127
  type: 'paragraph',
138
- html: 'Ponieważ JPG nie obsługuje przezroczystości, nasz algorytm wypełnia tło jednolitym białym kolorem przed „namalowaniem” na nim obrazu PNG. Po skomponowaniu obrazu uruchamiamy natywną metodę eksportu, generując strumień bajtów, który Twój komputer pobiera bezpośrednio.',
128
+ html: 'Dado que el JPG no soporta transparencias, nuestro algoritmo rellena el fondo con un color blanco sólido antes de "pintar" el PNG encima. Una vez compuesta la imagen, ejecutamos el método de exportación nativo, generando un flujo de bytes que tu ordenador descarga directamente.',
139
129
  },
140
130
  {
141
131
  type: 'tip',
142
- title: 'Wskazówka SEO: Idealna waga',
143
- html: 'Google aktywnie karze wolne witryny internetowe. Jeśli Twój Largest Contentful Paint (LCP) jest wysoki z powodu nagłówka PNG o rozmiarze 2MB, konwersja na JPG o rozmiarze 200KB może natychmiast poprawić Twoje wskaźniki PageSpeed bez różnic wizualnych.',
132
+ title: 'Consejo SEO: El Peso Ideal',
133
+ html: 'Google penaliza activamente los sitios web lentos. Si tu Largest Contentful Paint (LCP) es alto por culpa de un PNG de cabecera de 2MB, convertirlo a un JPG de 200KB puede mejorar tus métricas de PageSpeed instantáneamente sin diferencias visuales.',
144
134
  },
145
135
  {
146
136
  type: 'title',
147
- text: 'Bezpieczeństwo dla firm i profesjonalistów',
137
+ text: 'Seguridad para Empresas y Profesionales',
148
138
  level: 3,
149
139
  },
150
140
  {
151
141
  type: 'paragraph',
152
- html: 'Jeśli pracujesz w sektorach wrażliwych, takich jak bankowość, służba zdrowia czy prawo, przesyłanie plików do konwerterów online jest naruszeniem bezpieczeństwa. Nasze narzędzie działa jak „czarna skrzynka”: to, co dzieje się wewnątrz, pozostaje w Twojej pamięci RAM. To jedyny bezpieczny sposób pracy z poufnymi dokumentami.',
142
+ html: 'Si trabajas en sectores sensibles como la banca, la salud o el derecho, subir archivos a conversores online es una violación de seguridad. Nuestra herramienta funciona como una "caja negra": lo que pasa dentro se queda en tu RAM. Es la única forma segura de trabajar con documentos confidenciales.',
153
143
  },
154
144
  {
155
145
  type: 'title',
156
- text: 'Kompatybilność wyniku',
146
+ text: 'Compatibilidad del Resultado',
157
147
  level: 3,
158
148
  },
159
149
  {
160
150
  type: 'list',
161
151
  icon: 'mdi:check-circle',
162
152
  items: [
163
- 'Przeglądarki w Windows, macOS i urządzeniach mobilnych.',
164
- 'Media społecznościowe (Instagram, LinkedIn itp.).',
165
- 'Narzędzia biurowe (Word, PowerPoint).',
166
- 'Systemy zarządzania treścią (WordPress, Shopify).',
153
+ 'Visores de Windows, macOS y dispositivos móviles.',
154
+ 'Redes sociales (Instagram, LinkedIn, etc).',
155
+ 'Herramientas de ofimática (Word, PowerPoint).',
156
+ 'Gestores de contenido (WordPress, Shopify).',
167
157
  ],
168
158
  },
169
159
  {
170
160
  type: 'title',
171
- text: 'Podsumowanie: Optymalizuj jak profesjonalista',
161
+ text: 'Conclusión: Optimiza como un Pro',
172
162
  level: 3,
173
163
  },
174
164
  {
175
165
  type: 'paragraph',
176
- html: 'Ten konwerter to nie tylko kolejna strona; to dzieło inżynierii zaprojektowane, aby ułatwić Ci życie. Niezależnie od tego, czy jesteś programistą, czy użytkownikiem domowym, masz tutaj ostateczne rozwiązanie pozwalające zaoszczędzić megabajty i zachować bezpieczeństwo swoich danych.',
166
+ html: 'Este convertidor no es solo una página más; es una pieza de ingeniería diseñada para facilitarte la vida. Ya seas un desarrollador o un usuario doméstico, aquí tienes la solución definitiva para ahorrar megabytes y mantener tus datos a salvo.',
177
167
  },
178
168
  ];
179
169
 
@@ -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 { PngAJpgLocaleContent } from '../index';
@@ -20,24 +21,24 @@ const ui: ImageConverterUI = {
20
21
 
21
22
  const faq: PngAJpgLocaleContent['faq'] = [
22
23
  {
23
- question: 'Porquê escolher o nosso conversor local de PNG para JPG?',
24
+ question: '¿Por qué elegir nuestro convertidor local de PNG a JPG?',
24
25
  answer:
25
- 'Ao contrário das ferramentas convencionais, o nosso utilitário processa os ficheiros inteiramente no seu navegador. As suas imagens nunca tocam num disco rígido de terceiros, garantindo a total soberania e privacidade dos seus dados.',
26
+ 'A diferencia de las herramientas convencionales, nuestra utilidad procesa los archivos íntegramente en tu navegador. Tus imágenes nunca tocan un disco duro ajeno, garantizando la total soberanía y privacidad de tus datos.',
26
27
  },
27
28
  {
28
- question: 'JPG ou PNG? Qual é o melhor para o meu caso?',
29
+ question: '¿JPG o PNG? ¿Cuál es mejor para mi caso?',
29
30
  answer:
30
- 'O PNG é ideal para logótipos e elementos com transparência. No entanto, o JPG é o padrão de excelência para fotografias e banners web, uma vez que atinge pesos muito mais reduzidos, melhorando drasticamente a velocidade de carregamento de um sítio.',
31
+ 'El PNG es ideal para logotipos y elementos con transparencia. Sin embargo, el JPG es el estándar de oro para fotografías y banners web, ya que logra pesos mucho más reducidos, mejorando drásticamente la velocidad de carga de un sitio.',
31
32
  },
32
33
  {
33
- question: 'Como funciona a conversão técnica sem enviar nada?',
34
+ question: '¿Cómo funciona la conversión técnica sin subir nada?',
34
35
  answer:
35
- 'Utilizamos o poder do Canvas do HTML5. O navegador recria a imagem numa tela virtual invisível, preenche as transparências com branco e gera um fluxo de bytes que o utilizador descarrega diretamente no instante.',
36
+ 'Utilizamos la potencia del Canvas de HTML5. El navegador recrea la imagen en un lienzo virtual invisible, rellena las transparencias con blanco y genera un flujo de bytes que descargas directamente al instante.',
36
37
  },
37
38
  {
38
- question: 'É seguro para documentos confidenciais?',
39
+ question: '¿Es seguro para documentos confidenciales?',
39
40
  answer:
40
- 'Sim, é a opção mais segura para profissionais da banca, saúde ou direito. Sendo uma "caixa negra" que utiliza apenas a sua memória RAM, o que acontece lá dentro morre ao fechar o separador, evitando fugas em nuvens de terceiros.',
41
+ 'Sí, es la opción más segura para profesionales de la banca, salud o derecho. Al ser una "caja negra" que solo usa tu RAM, lo que pasa dentro muere al cerrar la pestaña, evitando filtraciones en nubes de terceros.',
41
42
  },
42
43
  ];
43
44
 
@@ -56,124 +57,113 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
57
  },
57
58
  ];
58
59
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'Especificações PNG Consortium',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'O comité JPEG',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  type: 'title',
73
- text: 'Conversor de PNG para JPG: O Guia Definitivo para a Optimização de Imagens',
63
+ text: 'Convertidor de PNG a JPG: La Guía Definitiva para la Optimización de Imágenes',
74
64
  level: 2,
75
65
  },
76
66
  {
77
67
  type: 'paragraph',
78
- html: 'No mundo do design digital e do desenvolvimento web, a eficiência é tudo. O formato PNG (Portable Network Graphics) é amado pela sua capacidade de manter transparências e pela sua compressão sem perda, mas tem um grande inimigo: o peso do ficheiro. Quando precisa que o seu sítio web voe ou que os seus emails carreguem instantaneamente, a mudança de PNG para JPG é a decisão técnica mais inteligente.',
68
+ html: 'En el mundo del diseño digital y el desarrollo web, la eficiencia lo es todo. El formato PNG (Portable Network Graphics) es amado por su capacidad de mantener transparencias y su compresión sin pérdida, pero tiene un gran enemigo: el peso del archivo. Cuando necesitas que tu sitio web vuele o que tus emails carguen instantáneamente, el paso de PNG a JPG es la decisión técnica más inteligente.',
79
69
  },
80
70
  {
81
71
  type: 'title',
82
- text: 'JPG ou PNG?',
72
+ text: '¿JPG o PNG?',
83
73
  level: 3,
84
74
  },
85
75
  {
86
76
  type: 'paragraph',
87
- html: 'Não existe um formato melhor do que o outro, mas sim uma ferramenta para cada necessidade. O PNG é um formato sem perda, ideal para maquetes de interfaces, logótipos com texto pequeno e elementos visuais que requerem um fundo transparente. No entanto, esta fidelidade tem um custo: ficheiros que podem ser 5 ou 10 vezes mais pesados do que o seu equivalente comprimido.',
77
+ html: 'No existe un formato mejor que otro, sino una herramienta para cada necesidad. El PNG es un formato sin pérdida, ideal para maquetas de interfaces, logotipos con texto pequeño y elementos visuales que requieren un fondo transparente. Sin embargo, esta fidelidad tiene un coste: archivos que pueden ser 5 o 10 veces más pesados que su equivalente comprimido.',
88
78
  },
89
79
  {
90
80
  type: 'paragraph',
91
- html: 'O JPG (Joint Photographic Experts Group), por outro lado, utiliza algoritmos de discretização para remover informação que o olho humano mal percebe, conseguindo pesos pluma. É o padrão de excelência para fotografias, banners publicitários e redes sociais. Ao converter os seus PNG para JPG, está a trocar fidelidade geométrica por velocidade de rede.',
81
+ html: 'El JPG (Joint Photographic Experts Group), por otro lado, utiliza algoritmos de discretización para eliminar información que el ojo humano apenas percibe, logrando pesos pluma. Es el estándar de oro para fotografías, banners publicitarios y redes sociales. Al convertir tus PNG a JPG, estás traduciendo fidelidad geométrica por velocidad de red.',
92
82
  },
93
83
  {
94
84
  type: 'title',
95
- text: 'Comparação de Arquitetura: Local vs Nuvem',
85
+ text: 'Comparativa de Arquitectura: Local vs Nube',
96
86
  level: 3,
97
87
  },
98
88
  {
99
89
  type: 'comparative',
100
90
  items: [
101
91
  {
102
- title: 'Conversores Cloud',
103
- description: 'Ferramentas tradicionais que enviam as suas fotos para um servidor remoto.',
92
+ title: 'Convertidores Cloud',
93
+ description: 'Herramientas tradicionales que suben tus fotos a un servidor remoto.',
104
94
  icon: 'mdi:cloud-upload',
105
95
  pointIcon: 'mdi:close-circle-outline',
106
96
  points: [
107
- 'Latência de rede (Upload/Download)',
108
- 'Risco de fuga de dados privados',
109
- 'Limites de tamanho por ficheiro',
110
- 'Publicidade e rastreadores',
97
+ 'Latencia de red (Upload/Download)',
98
+ 'Riesgo de filtración de datos privados',
99
+ 'Límites de tamaño por archivo',
100
+ 'Publicidad y rastreadores',
111
101
  ],
112
102
  },
113
103
  {
114
- title: 'A Nossa Arquitetura Local',
115
- description: 'Processamento direto no seu hardware através de tecnologia Vanilla JS.',
104
+ title: 'Nuestra Arquitectura Local',
105
+ description: 'Procesamiento directo en tu hardware mediante tecnología Vanilla JS.',
116
106
  icon: 'mdi:laptop-mac',
117
107
  highlight: true,
118
108
  points: [
119
- 'Velocidade instantânea sem rede',
120
- 'Privacidade garantida (0 bytes enviados)',
121
- 'Sem limites de MB por ficheiro',
122
- 'Interface profissional e limpa',
109
+ 'Velocidad instantánea sin red',
110
+ 'Privacidad garantizada (0 bytes enviados)',
111
+ 'Sin límites de MB por archivo',
112
+ 'Interfaz profesional y limpia',
123
113
  ],
124
114
  },
125
115
  ],
126
116
  },
127
117
  {
128
118
  type: 'title',
129
- text: 'Como funciona a conversão técnica',
119
+ text: 'Cómo funciona la conversión técnica',
130
120
  level: 3,
131
121
  },
132
122
  {
133
123
  type: 'paragraph',
134
- html: 'Provavelmente pergunta-se como é possível converter uma imagem sem a enviar para um servidor. A magia reside no poder dos navegadores modernos. Quando seleciona um ficheiro, geramos um Blob que apenas existe na sua memória RAM. Esse Blob é desenhado num elemento HTML5 Canvas invisível.',
124
+ html: 'Probablemente te preguntes cómo es posible convertir una imagen sin enviarla a un servidor. La magia reside en la potencia de los navegadores modernos. Cuando seleccionas un archivo, generamos un Blob que solo existe en tu RAM. Ese Blob se dibuja en un elemento HTML5 Canvas invisible.',
135
125
  },
136
126
  {
137
127
  type: 'paragraph',
138
- html: 'Dado que o JPG não suporta transparências, o nosso algoritmo preenche o fundo com uma cor branca sólida antes de "pintar" o PNG por cima. Uma vez composta a imagem, executamos o método de exportação nativo, gerando um fluxo de bytes que o seu computador descarrega diretamente.',
128
+ html: 'Dado que el JPG no soporta transparencias, nuestro algoritmo rellena el fondo con un color blanco sólido antes de "pintar" el PNG encima. Una vez compuesta la imagen, ejecutamos el método de exportación nativo, generando un flujo de bytes que tu ordenador descarga directamente.',
139
129
  },
140
130
  {
141
131
  type: 'tip',
142
- title: 'Conselho SEO: O Peso Ideal',
143
- html: 'A Google penaliza ativamente os sítios web lentos. Se o seu Largest Contentful Paint (LCP) é elevado por culpa de um PNG de cabeçalho de 2MB, convertê-lo para um JPG de 200KB pode melhorar as suas métricas de PageSpeed instantaneamente, sem diferenças visuais.',
132
+ title: 'Consejo SEO: El Peso Ideal',
133
+ html: 'Google penaliza activamente los sitios web lentos. Si tu Largest Contentful Paint (LCP) es alto por culpa de un PNG de cabecera de 2MB, convertirlo a un JPG de 200KB puede mejorar tus métricas de PageSpeed instantáneamente sin diferencias visuales.',
144
134
  },
145
135
  {
146
136
  type: 'title',
147
- text: 'Segurança para Empresas e Profissionais',
137
+ text: 'Seguridad para Empresas y Profesionales',
148
138
  level: 3,
149
139
  },
150
140
  {
151
141
  type: 'paragraph',
152
- html: 'Se trabalha em setores sensíveis como a banca, a saúde ou o direito, enviar ficheiros para conversores online é uma violação de segurança. A nossa ferramenta funciona como uma "caixa negra": o que acontece lá dentro fica na sua RAM. É a única forma segura de trabalhar com documentos confidenciais.',
142
+ html: 'Si trabajas en sectores sensibles como la banca, la salud o el derecho, subir archivos a conversores online es una violación de seguridad. Nuestra herramienta funciona como una "caja negra": lo que pasa dentro se queda en tu RAM. Es la única forma segura de trabajar con documentos confidenciales.',
153
143
  },
154
144
  {
155
145
  type: 'title',
156
- text: 'Compatibilidade do Resultado',
146
+ text: 'Compatibilidad del Resultado',
157
147
  level: 3,
158
148
  },
159
149
  {
160
150
  type: 'list',
161
151
  icon: 'mdi:check-circle',
162
152
  items: [
163
- 'Visualizadores do Windows, macOS e dispositivos móveis.',
164
- 'Redes sociais (Instagram, LinkedIn, etc).',
165
- 'Ferramentas de escritório (Word, PowerPoint).',
166
- 'Gestores de conteúdo (WordPress, Shopify).',
153
+ 'Visores de Windows, macOS y dispositivos móviles.',
154
+ 'Redes sociales (Instagram, LinkedIn, etc).',
155
+ 'Herramientas de ofimática (Word, PowerPoint).',
156
+ 'Gestores de contenido (WordPress, Shopify).',
167
157
  ],
168
158
  },
169
159
  {
170
160
  type: 'title',
171
- text: 'Conclusão: Otimize como um Profissional',
161
+ text: 'Conclusión: Optimiza como un Pro',
172
162
  level: 3,
173
163
  },
174
164
  {
175
165
  type: 'paragraph',
176
- html: 'Este conversor não é apenas mais uma página; é uma peça de engenharia desenhada para lhe facilitar a vida. Quer seja um programador ou um utilizador doméstico, aqui tem a solução definitiva para poupar megabytes e manter os seus dados a salvo.',
166
+ html: 'Este convertidor no es solo una página más; es una pieza de ingeniería diseñada para facilitarte la vida. Ya seas un desarrollador o un usuario doméstico, aquí tienes la solución definitiva para ahorrar megabytes y mantener tus datos a salvo.',
177
167
  },
178
168
  ];
179
169