@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,25 +21,21 @@ const ui: ImageConverterUI = {
20
21
 
21
22
  const faq: PngAJpgLocaleContent['faq'] = [
22
23
  {
23
- question: '왜 우리의 로컬 PNG to JPG 변환기를 선택해야 하나요?',
24
- answer:
25
- '기존 도구와 달리, 우리의 유틸리티는 브라우저 내에서 파일을 완전히 처리합니다. 사용자의 이미지는 타인의 하드 드라이브에 절대 닿지 않으므로, 데이터의 완전한 주권과 개인정보 보호를 보장합니다.',
24
+ "question": "왜 로컬 PNG-JPG 변환기를 선택해야 하나요?",
25
+ "answer": "일반적인 온라인 변환기와 달리 모든 이미지를 브라우저 내부에서 처리합니다. 외부 서버로 파일이 전송되지 않아 데이터 보안이 완벽하게 유지됩니다."
26
26
  },
27
27
  {
28
- question: 'JPG 또는 PNG? 제 경우에 무엇이 더 나을까요?',
29
- answer:
30
- 'PNG는 로고나 투명도가 필요한 요소에 이상적입니다. 하지만 JPG는 사진 및 웹 배너의 골드 표준이며, 훨씬 작은 파일 크기를 달성하여 사이트 로딩 속도를 획기적으로 향상시킵니다.',
28
+ "question": "JPG와 PNG 중 어떤 포맷이 적합한가요?",
29
+ "answer": "PNG는 투명 배경과 로고에 최적화되어 있습니다. JPG는 압축률이 높아 파일 용량이 훨씬 작으므로 웹사이트 사진이나 배너에 적합합니다."
31
30
  },
32
31
  {
33
- question: '업로드 없이 기술적인 변환이 어떻게 이루어지나요?',
34
- answer:
35
- '우리는 HTML5 Canvas의 힘을 사용합니다. 브라우저는 투명한 가상 캔버스에 이미지를 재현하고, 투명한 부분을 흰색으로 채운 뒤, 즉시 다운로드 가능한 바이트 스트림을 생성합니다.',
32
+ "question": "서버 업로드 없는 기술적 변환 원리는 무엇인가요?",
33
+ "answer": "HTML5 Canvas 기술을 이용합니다. 브라우저가 투명 캔버스에 이미지를 그리고 투명 영역을 흰색으로 채운 후 JPG 바이트 스트림을 생성합니다."
36
34
  },
37
35
  {
38
- question: '기밀 문서에 사용해도 안전한가요?',
39
- answer:
40
- '네, 은행, 의료 또는 법률 분야의 전문가들에게 가장 안전한 옵션입니다. 사용자의 RAM만 사용하는 "블랙박스" 역할을 하므로, 탭을 닫는 즉시 내부에서 일어나는 모든 데이터는 소멸되어 제3자 클라우드로의 유출을 방지합니다.',
41
- },
36
+ "question": "기밀 문서 및 기업 데이터에 안전한가요?",
37
+ "answer": "네, 매우 안전합니다. 모든 데이터는 브라우저 메모리에만 존재하며 탭을 닫으면 즉시 완전히 삭제됩니다."
38
+ }
42
39
  ];
43
40
 
44
41
  const howTo: PngAJpgLocaleContent['howTo'] = [
@@ -56,125 +53,114 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
53
  },
57
54
  ];
58
55
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'PNG 컨소시엄 사양',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'JPEG 위원회',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
56
  const seo: PngAJpgLocaleContent['seo'] = [
71
57
  {
72
- type: 'title',
73
- text: 'PNG to JPG 변환기: 이미지 최적화를 위한 최종 가이드',
74
- level: 2,
58
+ "type": "title",
59
+ "text": "PNG에서 JPG로 변환기: 이미지 최적화 가이드",
60
+ "level": 2
75
61
  },
76
62
  {
77
- type: 'paragraph',
78
- html: '디지털 디자인과 웹 개발의 세계에서 효율성은 곧 모든 것입니다. PNG(Portable Network Graphics) 형식은 투명도를 유지하고 무손실 압축을 제공하여 사랑받지만, 큰 적이 하나 있습니다. 바로 파일 무게입니다. 웹사이트를 빠르게 운영하거나 이메일을 즉시 로드하고 싶다면, PNG에서 JPG로의 전환은 가장 현명한 기술적 결정입니다.',
63
+ "type": "paragraph",
64
+ "html": "웹사이트 속도를 높이고 파일 용량을 줄이기 위한 PNG 대 JPG 변환 가이드입니다."
79
65
  },
80
66
  {
81
- type: 'title',
82
- text: 'JPG 또는 PNG?',
83
- level: 3,
67
+ "type": "title",
68
+ "text": "JPG 대 PNG 선택",
69
+ "level": 3
84
70
  },
85
71
  {
86
- type: 'paragraph',
87
- html: '어느 한 형식이 다른 형식보다 우월한 것이 아니라, 필요에 따른 도구의 선택이 중요합니다. PNG는 무손실 형식으로, 인터페이스 목업, 작은 텍스트가 포함된 로고, 투명한 배경이 필요한 시각적 요소에 이상적입니다. 하지만 이러한 충실도에는 대가가 따릅니다. 압축된 JPG보다 파일 크기가 5배에서 10배 더 무거울 수 있습니다.',
72
+ "type": "paragraph",
73
+ "html": "PNG는 투명 배경과 로고에 적합하며, JPG는 사진과 웹 배너에 최적화된 고압축 용량을 제공합니다."
88
74
  },
89
75
  {
90
- type: 'paragraph',
91
- html: '반면 JPG(Joint Photographic Experts Group)는 인간의 눈이 거의 인지하지 못하는 정보를 제거하는 이산화 알고리즘을 사용하여 매우 가벼운 파일 크기를 달성합니다. 사진, 광고 배너 및 소셜 미디어를 위한 골드 표준입니다. PNG를 JPG로 변환함으로써, 기하학적 충실도를 네트워크 속도와 교환하게 됩니다.',
76
+ "type": "paragraph",
77
+ "html": "웹사이트 로딩 속도를 향상시키려면 이미지 용량을 경량화하는 것이 필수적입니다."
92
78
  },
93
79
  {
94
- type: 'title',
95
- text: '아키텍처 비교: 로컬 대 클라우드',
96
- level: 3,
80
+ "type": "title",
81
+ "text": "로컬 방식 대 클라우드 방식 비교",
82
+ "level": 3
97
83
  },
98
84
  {
99
- type: 'comparative',
100
- items: [
85
+ "type": "comparative",
86
+ "items": [
101
87
  {
102
- title: '클라우드 변환기',
103
- description: '사진을 원격 서버로 업로드하는 기존 도구입니다.',
104
- icon: 'mdi:cloud-upload',
105
- pointIcon: 'mdi:close-circle-outline',
106
- points: [
107
- '네트워크 지연 (업로드/다운로드)',
108
- '개인 데이터 유출 위험',
109
- '파일당 크기 제한',
110
- '광고 및 추적기',
111
- ],
88
+ "title": "클라우드 변환기",
89
+ "description": "서버에 파일을 업로드하여 처리하는 방식.",
90
+ "icon": "mdi:cloud-upload",
91
+ "pointIcon": "mdi:close-circle-outline",
92
+ "points": [
93
+ "네트워크 지연 발생",
94
+ "개인정보 유출 위험",
95
+ "용량 제한",
96
+ "광고"
97
+ ]
112
98
  },
113
99
  {
114
- title: '우리의 로컬 아키텍처',
115
- description: 'Vanilla JS 기술을 통해 사용자 하드웨어에서 직접 처리합니다.',
116
- icon: 'mdi:laptop-mac',
117
- highlight: true,
118
- points: [
119
- '네트워크가 필요 없는 즉각적인 속도',
120
- '개인정보 보호 보장 (0바이트 전송)',
121
- '파일당 MB 제한 없음',
122
- '프로페셔널하고 깔끔한 인터페이스',
123
- ],
124
- },
125
- ],
100
+ "title": "자사 로컬 변환기",
101
+ "description": "웹 브라우저 내부에서 직접 변환하는 방식.",
102
+ "icon": "mdi:laptop-mac",
103
+ "highlight": true,
104
+ "points": [
105
+ "즉각적인 변환 속도",
106
+ "완벽한 보안 (서버 전송 없음)",
107
+ "용량 제한 없음",
108
+ "깔끔한 환경"
109
+ ]
110
+ }
111
+ ]
126
112
  },
127
113
  {
128
- type: 'title',
129
- text: '기술적 변환의 원리',
130
- level: 3,
114
+ "type": "title",
115
+ "text": "기술적 변환 원리",
116
+ "level": 3
131
117
  },
132
118
  {
133
- type: 'paragraph',
134
- html: '서버로 전송하지 않고 이미지를 변환하는 것이 어떻게 가능한지 궁금하실 것입니다. 그 마법은 현대 브라우저의 힘에 있습니다. 파일을 선택하면 사용자의 RAM에만 존재하는 Blob을 생성합니다. 그 Blob은 보이지 않는 HTML5 Canvas 요소 위에 그려집니다.',
119
+ "type": "paragraph",
120
+ "html": "HTML5 Canvas 기술을 활용하여 브라우저 메모리상에서 이미지를 렌더링하고 바로 저장합니다."
135
121
  },
136
122
  {
137
- type: 'paragraph',
138
- html: 'JPG는 투명도를 지원하지 않기 때문에, 우리의 알고리즘은 PNG를 "그리기" 전에 배경을 흰색으로 채웁니다. 이미지가 구성되면 네이티브 내보내기 메서드를 실행하여 사용자의 컴퓨터가 직접 다운로드하는 바이트 스트림을 생성합니다.',
123
+ "type": "paragraph",
124
+ "html": "투명 영역은 자동으로 흰색 배경으로 채워져 깨끗한 JPG 파일로 완성됩니다."
139
125
  },
140
126
  {
141
- type: 'tip',
142
- title: 'SEO 팁: 이상적인 파일 크기',
143
- html: 'Google은 느린 웹사이트에 대해 불이익을 줍니다. 2MB 크기의 헤더 PNG 때문에 Largest Contentful Paint(LCP)가 높다면, 이를 200KB 크기의 JPG로 변환하여 시각적 차이 없이 즉시 PageSpeed 지표를 개선할 수 있습니다.',
127
+ "type": "tip",
128
+ "title": "SEO 팁",
129
+ "html": "웹용 이미지를 압축하여 PageSpeed 점수를 높이세요."
144
130
  },
145
131
  {
146
- type: 'title',
147
- text: '기업 및 전문가를 위한 보안',
148
- level: 3,
132
+ "type": "title",
133
+ "text": "기업용 보안",
134
+ "level": 3
149
135
  },
150
136
  {
151
- type: 'paragraph',
152
- html: '금융, 의료 또는 법률과 같은 민감한 분야에서 일하는 경우, 온라인 변환기에 파일을 업로드하는 것은 보안 위반입니다. 우리의 도구는 "블랙박스"처럼 작동합니다. 내부에서 일어나는 모든 일은 사용자의 RAM에 머뭅니다. 기밀 문서를 다루는 유일하고 안전한 방법입니다.',
137
+ "type": "paragraph",
138
+ "html": "민감한 문서도 안심하고 처리할 수 있는 격리된 로컬 환경을 제공합니다."
153
139
  },
154
140
  {
155
- type: 'title',
156
- text: '결과물의 호환성',
157
- level: 3,
141
+ "type": "title",
142
+ "text": "호환성",
143
+ "level": 3
158
144
  },
159
145
  {
160
- type: 'list',
161
- icon: 'mdi:check-circle',
162
- items: [
163
- 'Windows, macOS 및 모바일 장치 뷰어.',
164
- '소셜 네트워크 (Instagram, LinkedIn 등).',
165
- '오피스 도구 (Word, PowerPoint).',
166
- '콘텐츠 관리 시스템 (WordPress, Shopify).',
167
- ],
146
+ "type": "list",
147
+ "icon": "mdi:check-circle",
148
+ "items": [
149
+ "모든 OS 뷰어",
150
+ "SNS 플랫폼",
151
+ "오피스 프로그램",
152
+ "CMS 시스템"
153
+ ]
168
154
  },
169
155
  {
170
- type: 'title',
171
- text: '결론: 프로처럼 최적화하세요',
172
- level: 3,
156
+ "type": "title",
157
+ "text": "결론",
158
+ "level": 3
173
159
  },
174
160
  {
175
- type: 'paragraph',
176
- html: '이 변환기는 단순한 페이지가 아니라 사용자의 삶을 편리하게 만들기 위해 설계된 공학의 정수입니다. 개발자이든 일반 사용자이든, 여기에서 메가바이트를 절약하고 데이터를 안전하게 지키기 위한 최상의 해결책을 찾으실 수 있습니다.',
177
- },
161
+ "type": "paragraph",
162
+ "html": "안전하고 빠른 최상의 이미지 변환 솔루션입니다."
163
+ }
178
164
  ];
179
165
 
180
166
 
@@ -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: 'Waarom kiezen voor onze lokale PNG naar JPG converter?',
24
+ question: '¿Por qué elegir nuestro convertidor local de PNG a JPG?',
24
25
  answer:
25
- 'In tegenstelling tot conventionele tools verwerkt onze utility de bestanden volledig in je browser. Je afbeeldingen raken nooit een externe harde schijf aan, wat de totale soevereiniteit en privacy van je gegevens garandeert.',
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 of PNG? Welke is beter voor mij?',
29
+ question: '¿JPG o PNG? ¿Cuál es mejor para mi caso?',
29
30
  answer:
30
- 'PNG is ideaal voor logo\'s en elementen met transparantie. JPG is echter de gouden standaard voor foto\'s en webbanners, omdat het veel kleinere bestandsgroottes bereikt, wat de laadsnelheid van een site drastisch verbetert.',
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: 'Hoe werkt de technische conversie zonder te uploaden?',
34
+ question: '¿Cómo funciona la conversión técnica sin subir nada?',
34
35
  answer:
35
- 'We maken gebruik van de kracht van het HTML5 Canvas. De browser herschept de afbeelding op een onzichtbaar virtueel canvas, vult de transparanties met wit en genereert een byte-stream die je direct downloadt.',
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: 'Is het veilig voor vertrouwelijke documenten?',
39
+ question: '¿Es seguro para documentos confidenciales?',
39
40
  answer:
40
- 'Ja, het is de veiligste optie voor professionals in de banksector, gezondheidszorg of juridische sector. Omdat het een "black box" is die alleen je RAM gebruikt, gaan alle gegevens verloren zodra je het tabblad sluit, waardoor lekken in externe clouds worden voorkomen.',
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: 'PNG Consortium Specificaties',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'Het JPEG-comité',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  type: 'title',
73
- text: 'PNG naar JPG Converter: De Ultieme Gids voor Beeldoptimalisatie',
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: 'In de wereld van digitaal ontwerp en webontwikkeling is efficiëntie alles. Het PNG-formaat (Portable Network Graphics) is geliefd om zijn vermogen om transparanties te behouden en zijn verliesvrije compressie, maar het heeft één grote vijand: het bestandsgewicht. Wanneer je wilt dat je website vliegt of je e-mails direct laden, is de overstap van PNG naar JPG de slimste technische beslissing.',
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 of PNG?',
72
+ text: '¿JPG o PNG?',
83
73
  level: 3,
84
74
  },
85
75
  {
86
76
  type: 'paragraph',
87
- html: 'Er bestaat geen formaat dat beter is dan een ander, maar eerder een tool voor elke behoefte. PNG is een verliesvrij formaat, ideaal voor interface-mockups, logo\'s met kleine tekst en visuele elementen die een transparante achtergrond vereisen. Deze getrouwheid heeft echter een prijs: bestanden die 5 of 10 keer zwaarder kunnen zijn dan hun gecomprimeerde equivalent.',
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: 'JPG (Joint Photographic Experts Group) daarentegen gebruikt discretiseringsalgoritmen om informatie te verwijderen die het menselijk oog nauwelijks waarneemt, waardoor vederlichte gewichten worden bereikt. Het is de gouden standaard voor foto\'s, advertentie banners en sociale media. Door je PNG\'s naar JPG te converteren, ruil je geometrische getrouwheid in voor netwerksnelheid.',
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: 'Architectuurvergelijking: Lokaal vs Cloud',
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: 'Cloud Converters',
103
- description: 'Traditionele tools die je foto\'s naar een externe server uploaden.',
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
- 'Netwerklatentie (Upload/Download)',
108
- 'Risico op lekken van privégegevens',
109
- 'Limieten voor bestandsgrootte per bestand',
110
- 'Advertenties en trackers',
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: 'Onze Lokale Architectuur',
115
- description: 'Directe verwerking op je hardware via Vanilla JS-technologie.',
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
- 'Directe snelheid zonder netwerk',
120
- 'Gegarandeerde privacy (0 bytes verzonden)',
121
- 'Geen MB-limieten per bestand',
122
- 'Professionele en schone interface',
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: 'Hoe de technische conversie werkt',
119
+ text: 'Cómo funciona la conversión técnica',
130
120
  level: 3,
131
121
  },
132
122
  {
133
123
  type: 'paragraph',
134
- html: 'Je vraagt je waarschijnlijk af hoe het mogelijk is om een afbeelding te converteren zonder deze naar een server te sturen. De magie zit in de kracht van moderne browsers. Wanneer je een bestand selecteert, genereren we een Blob die alleen in je RAM bestaat. Die Blob wordt getekend op een onzichtbaar HTML5 Canvas-element.',
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: 'Omdat JPG geen transparantie ondersteunt, vult ons algoritme de achtergrond met een effen witte kleur voordat het PNG-bestand er "op wordt geschilderd". Zodra de afbeelding is samengesteld, voeren we de eigen exportmethode uit, waarbij een byte-stream wordt gegenereerd die je computer direct downloadt.',
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: 'SEO tip: Het ideale gewicht',
143
- html: 'Google straft langzame websites actief af. Als je Largest Contentful Paint (LCP) hoog is door een head-PNG van 2MB, kan het converteren naar een JPG van 200KB je PageSpeed-statistieken direct verbeteren zonder visuele verschillen.',
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: 'Beveiliging voor Bedrijven en Professionals',
137
+ text: 'Seguridad para Empresas y Profesionales',
148
138
  level: 3,
149
139
  },
150
140
  {
151
141
  type: 'paragraph',
152
- html: 'Als je in gevoelige sectoren werkt zoals banken, gezondheidszorg of recht, is het uploaden van bestanden naar online converters een inbreuk op de beveiliging. Onze tool werkt als een "black box": wat er binnen gebeurt, blijft in je RAM. Het is de enige veilige manier om met vertrouwelijke documenten te werken.',
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: 'Compatibiliteit van het resultaat',
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
- 'Viewers voor Windows, macOS en mobiele apparaten.',
164
- 'Sociale media (Instagram, LinkedIn, enz.).',
165
- 'Kantoortools (Word, PowerPoint).',
166
- 'Contentbeheersystemen (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: 'Conclusie: Optimaliseer als een professional',
161
+ text: 'Conclusión: Optimiza como un Pro',
172
162
  level: 3,
173
163
  },
174
164
  {
175
165
  type: 'paragraph',
176
- html: 'Deze converter is niet zomaar een pagina; het is een stukje techniek dat is ontworpen om je leven gemakkelijker te maken. Of je nu een ontwikkelaar bent of een thuisgebruiker, hier heb je de ultieme oplossing om megabytes te besparen en je gegevens veilig te houden.',
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