@jjlmoya/utils-converters 1.16.0 → 1.18.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 (393) hide show
  1. package/package.json +4 -2
  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/shared-test-helpers.ts +56 -0
  15. package/src/tests/tool_exports.test.ts +34 -0
  16. package/src/tool/avifAJpg/bibliography.ts +12 -0
  17. package/src/tool/avifAJpg/entry.ts +2 -0
  18. package/src/tool/avifAJpg/i18n/de.ts +2 -12
  19. package/src/tool/avifAJpg/i18n/en.ts +2 -12
  20. package/src/tool/avifAJpg/i18n/es.ts +2 -12
  21. package/src/tool/avifAJpg/i18n/fr.ts +11 -21
  22. package/src/tool/avifAJpg/i18n/id.ts +2 -12
  23. package/src/tool/avifAJpg/i18n/it.ts +2 -12
  24. package/src/tool/avifAJpg/i18n/ja.ts +1 -11
  25. package/src/tool/avifAJpg/i18n/ko.ts +1 -11
  26. package/src/tool/avifAJpg/i18n/nl.ts +2 -12
  27. package/src/tool/avifAJpg/i18n/pl.ts +2 -12
  28. package/src/tool/avifAJpg/i18n/pt.ts +2 -12
  29. package/src/tool/avifAJpg/i18n/ru.ts +7 -17
  30. package/src/tool/avifAJpg/i18n/sv.ts +2 -12
  31. package/src/tool/avifAJpg/i18n/tr.ts +1 -11
  32. package/src/tool/avifAJpg/i18n/zh.ts +4 -14
  33. package/src/tool/avifAJpg/seo.astro +2 -1
  34. package/src/tool/avifAPng/bibliography.ts +12 -0
  35. package/src/tool/avifAPng/entry.ts +2 -0
  36. package/src/tool/avifAPng/i18n/de.ts +4 -14
  37. package/src/tool/avifAPng/i18n/en.ts +4 -14
  38. package/src/tool/avifAPng/i18n/es.ts +4 -14
  39. package/src/tool/avifAPng/i18n/fr.ts +10 -20
  40. package/src/tool/avifAPng/i18n/id.ts +4 -14
  41. package/src/tool/avifAPng/i18n/it.ts +1 -11
  42. package/src/tool/avifAPng/i18n/ja.ts +1 -11
  43. package/src/tool/avifAPng/i18n/ko.ts +1 -11
  44. package/src/tool/avifAPng/i18n/nl.ts +4 -14
  45. package/src/tool/avifAPng/i18n/pl.ts +4 -14
  46. package/src/tool/avifAPng/i18n/pt.ts +4 -14
  47. package/src/tool/avifAPng/i18n/ru.ts +5 -15
  48. package/src/tool/avifAPng/i18n/sv.ts +4 -14
  49. package/src/tool/avifAPng/i18n/tr.ts +1 -11
  50. package/src/tool/avifAPng/i18n/zh.ts +3 -13
  51. package/src/tool/avifAPng/seo.astro +2 -1
  52. package/src/tool/avifAWebp/bibliography.ts +12 -0
  53. package/src/tool/avifAWebp/entry.ts +2 -0
  54. package/src/tool/avifAWebp/i18n/de.ts +6 -16
  55. package/src/tool/avifAWebp/i18n/en.ts +6 -16
  56. package/src/tool/avifAWebp/i18n/es.ts +6 -16
  57. package/src/tool/avifAWebp/i18n/fr.ts +13 -23
  58. package/src/tool/avifAWebp/i18n/id.ts +6 -16
  59. package/src/tool/avifAWebp/i18n/it.ts +1 -11
  60. package/src/tool/avifAWebp/i18n/ja.ts +1 -11
  61. package/src/tool/avifAWebp/i18n/ko.ts +2 -12
  62. package/src/tool/avifAWebp/i18n/nl.ts +6 -16
  63. package/src/tool/avifAWebp/i18n/pl.ts +6 -16
  64. package/src/tool/avifAWebp/i18n/pt.ts +6 -16
  65. package/src/tool/avifAWebp/i18n/ru.ts +7 -17
  66. package/src/tool/avifAWebp/i18n/sv.ts +6 -16
  67. package/src/tool/avifAWebp/i18n/tr.ts +2 -12
  68. package/src/tool/avifAWebp/i18n/zh.ts +6 -16
  69. package/src/tool/avifAWebp/seo.astro +2 -1
  70. package/src/tool/bmpAJpg/bibliography.ts +12 -0
  71. package/src/tool/bmpAJpg/entry.ts +2 -0
  72. package/src/tool/bmpAJpg/i18n/de.ts +1 -11
  73. package/src/tool/bmpAJpg/i18n/en.ts +1 -11
  74. package/src/tool/bmpAJpg/i18n/es.ts +1 -11
  75. package/src/tool/bmpAJpg/i18n/fr.ts +9 -19
  76. package/src/tool/bmpAJpg/i18n/id.ts +1 -11
  77. package/src/tool/bmpAJpg/i18n/it.ts +1 -11
  78. package/src/tool/bmpAJpg/i18n/ja.ts +1 -11
  79. package/src/tool/bmpAJpg/i18n/ko.ts +1 -11
  80. package/src/tool/bmpAJpg/i18n/nl.ts +1 -11
  81. package/src/tool/bmpAJpg/i18n/pl.ts +1 -11
  82. package/src/tool/bmpAJpg/i18n/pt.ts +1 -11
  83. package/src/tool/bmpAJpg/i18n/ru.ts +5 -15
  84. package/src/tool/bmpAJpg/i18n/sv.ts +1 -11
  85. package/src/tool/bmpAJpg/i18n/tr.ts +1 -11
  86. package/src/tool/bmpAJpg/i18n/zh.ts +1 -11
  87. package/src/tool/bmpAJpg/seo.astro +2 -1
  88. package/src/tool/bmpAPng/bibliography.ts +12 -0
  89. package/src/tool/bmpAPng/entry.ts +2 -0
  90. package/src/tool/bmpAPng/i18n/de.ts +2 -12
  91. package/src/tool/bmpAPng/i18n/en.ts +3 -13
  92. package/src/tool/bmpAPng/i18n/es.ts +2 -12
  93. package/src/tool/bmpAPng/i18n/fr.ts +12 -22
  94. package/src/tool/bmpAPng/i18n/id.ts +2 -12
  95. package/src/tool/bmpAPng/i18n/it.ts +2 -12
  96. package/src/tool/bmpAPng/i18n/ja.ts +1 -11
  97. package/src/tool/bmpAPng/i18n/ko.ts +1 -11
  98. package/src/tool/bmpAPng/i18n/nl.ts +2 -12
  99. package/src/tool/bmpAPng/i18n/pl.ts +2 -12
  100. package/src/tool/bmpAPng/i18n/pt.ts +2 -12
  101. package/src/tool/bmpAPng/i18n/ru.ts +9 -19
  102. package/src/tool/bmpAPng/i18n/sv.ts +2 -12
  103. package/src/tool/bmpAPng/i18n/tr.ts +1 -11
  104. package/src/tool/bmpAPng/i18n/zh.ts +1 -11
  105. package/src/tool/bmpAPng/seo.astro +2 -1
  106. package/src/tool/bmpAWebp/bibliography.ts +12 -0
  107. package/src/tool/bmpAWebp/entry.ts +2 -0
  108. package/src/tool/bmpAWebp/i18n/de.ts +8 -18
  109. package/src/tool/bmpAWebp/i18n/en.ts +8 -18
  110. package/src/tool/bmpAWebp/i18n/es.ts +8 -18
  111. package/src/tool/bmpAWebp/i18n/fr.ts +13 -23
  112. package/src/tool/bmpAWebp/i18n/id.ts +8 -18
  113. package/src/tool/bmpAWebp/i18n/it.ts +8 -18
  114. package/src/tool/bmpAWebp/i18n/ja.ts +7 -17
  115. package/src/tool/bmpAWebp/i18n/ko.ts +7 -17
  116. package/src/tool/bmpAWebp/i18n/nl.ts +8 -18
  117. package/src/tool/bmpAWebp/i18n/pl.ts +8 -18
  118. package/src/tool/bmpAWebp/i18n/pt.ts +8 -18
  119. package/src/tool/bmpAWebp/i18n/ru.ts +10 -20
  120. package/src/tool/bmpAWebp/i18n/sv.ts +8 -18
  121. package/src/tool/bmpAWebp/i18n/tr.ts +8 -18
  122. package/src/tool/bmpAWebp/i18n/zh.ts +8 -18
  123. package/src/tool/bmpAWebp/seo.astro +2 -1
  124. package/src/tool/gifAJpg/bibliography.ts +12 -0
  125. package/src/tool/gifAJpg/entry.ts +2 -0
  126. package/src/tool/gifAJpg/i18n/de.ts +1 -11
  127. package/src/tool/gifAJpg/i18n/en.ts +1 -11
  128. package/src/tool/gifAJpg/i18n/es.ts +1 -11
  129. package/src/tool/gifAJpg/i18n/fr.ts +9 -19
  130. package/src/tool/gifAJpg/i18n/id.ts +1 -11
  131. package/src/tool/gifAJpg/i18n/it.ts +1 -11
  132. package/src/tool/gifAJpg/i18n/ja.ts +1 -11
  133. package/src/tool/gifAJpg/i18n/ko.ts +1 -11
  134. package/src/tool/gifAJpg/i18n/nl.ts +1 -11
  135. package/src/tool/gifAJpg/i18n/pl.ts +1 -11
  136. package/src/tool/gifAJpg/i18n/pt.ts +1 -11
  137. package/src/tool/gifAJpg/i18n/ru.ts +2 -12
  138. package/src/tool/gifAJpg/i18n/sv.ts +1 -11
  139. package/src/tool/gifAJpg/i18n/tr.ts +1 -11
  140. package/src/tool/gifAJpg/i18n/zh.ts +1 -11
  141. package/src/tool/gifAJpg/seo.astro +2 -1
  142. package/src/tool/gifAPng/bibliography.ts +12 -0
  143. package/src/tool/gifAPng/entry.ts +2 -0
  144. package/src/tool/gifAPng/i18n/de.ts +2 -12
  145. package/src/tool/gifAPng/i18n/en.ts +3 -13
  146. package/src/tool/gifAPng/i18n/es.ts +2 -12
  147. package/src/tool/gifAPng/i18n/fr.ts +11 -21
  148. package/src/tool/gifAPng/i18n/id.ts +2 -12
  149. package/src/tool/gifAPng/i18n/it.ts +2 -12
  150. package/src/tool/gifAPng/i18n/ja.ts +1 -11
  151. package/src/tool/gifAPng/i18n/ko.ts +1 -11
  152. package/src/tool/gifAPng/i18n/nl.ts +2 -12
  153. package/src/tool/gifAPng/i18n/pl.ts +3 -13
  154. package/src/tool/gifAPng/i18n/pt.ts +2 -12
  155. package/src/tool/gifAPng/i18n/ru.ts +3 -13
  156. package/src/tool/gifAPng/i18n/sv.ts +3 -13
  157. package/src/tool/gifAPng/i18n/tr.ts +1 -11
  158. package/src/tool/gifAPng/i18n/zh.ts +2 -12
  159. package/src/tool/gifAPng/seo.astro +2 -1
  160. package/src/tool/gifAWebp/bibliography.ts +12 -0
  161. package/src/tool/gifAWebp/entry.ts +2 -0
  162. package/src/tool/gifAWebp/i18n/de.ts +3 -13
  163. package/src/tool/gifAWebp/i18n/en.ts +3 -13
  164. package/src/tool/gifAWebp/i18n/es.ts +1 -11
  165. package/src/tool/gifAWebp/i18n/fr.ts +11 -21
  166. package/src/tool/gifAWebp/i18n/id.ts +3 -13
  167. package/src/tool/gifAWebp/i18n/it.ts +1 -11
  168. package/src/tool/gifAWebp/i18n/ja.ts +1 -11
  169. package/src/tool/gifAWebp/i18n/ko.ts +1 -11
  170. package/src/tool/gifAWebp/i18n/nl.ts +3 -13
  171. package/src/tool/gifAWebp/i18n/pl.ts +3 -13
  172. package/src/tool/gifAWebp/i18n/pt.ts +3 -13
  173. package/src/tool/gifAWebp/i18n/ru.ts +7 -17
  174. package/src/tool/gifAWebp/i18n/sv.ts +3 -13
  175. package/src/tool/gifAWebp/i18n/tr.ts +1 -11
  176. package/src/tool/gifAWebp/i18n/zh.ts +4 -14
  177. package/src/tool/gifAWebp/seo.astro +2 -1
  178. package/src/tool/imagenBase64/bibliography.ts +12 -0
  179. package/src/tool/imagenBase64/entry.ts +2 -0
  180. package/src/tool/imagenBase64/i18n/de.ts +7 -17
  181. package/src/tool/imagenBase64/i18n/en.ts +7 -17
  182. package/src/tool/imagenBase64/i18n/es.ts +7 -17
  183. package/src/tool/imagenBase64/i18n/fr.ts +17 -27
  184. package/src/tool/imagenBase64/i18n/id.ts +7 -17
  185. package/src/tool/imagenBase64/i18n/it.ts +6 -16
  186. package/src/tool/imagenBase64/i18n/ja.ts +1 -11
  187. package/src/tool/imagenBase64/i18n/ko.ts +1 -11
  188. package/src/tool/imagenBase64/i18n/nl.ts +7 -17
  189. package/src/tool/imagenBase64/i18n/pl.ts +7 -17
  190. package/src/tool/imagenBase64/i18n/pt.ts +7 -17
  191. package/src/tool/imagenBase64/i18n/ru.ts +9 -19
  192. package/src/tool/imagenBase64/i18n/sv.ts +7 -17
  193. package/src/tool/imagenBase64/i18n/tr.ts +2 -12
  194. package/src/tool/imagenBase64/i18n/zh.ts +7 -17
  195. package/src/tool/imagenBase64/seo.astro +2 -1
  196. package/src/tool/jpgAIco/bibliography.ts +12 -0
  197. package/src/tool/jpgAIco/entry.ts +2 -0
  198. package/src/tool/jpgAIco/i18n/de.ts +9 -19
  199. package/src/tool/jpgAIco/i18n/en.ts +9 -19
  200. package/src/tool/jpgAIco/i18n/es.ts +7 -17
  201. package/src/tool/jpgAIco/i18n/fr.ts +13 -23
  202. package/src/tool/jpgAIco/i18n/id.ts +9 -19
  203. package/src/tool/jpgAIco/i18n/it.ts +3 -13
  204. package/src/tool/jpgAIco/i18n/ja.ts +2 -12
  205. package/src/tool/jpgAIco/i18n/ko.ts +2 -12
  206. package/src/tool/jpgAIco/i18n/nl.ts +9 -19
  207. package/src/tool/jpgAIco/i18n/pl.ts +9 -19
  208. package/src/tool/jpgAIco/i18n/pt.ts +9 -19
  209. package/src/tool/jpgAIco/i18n/ru.ts +11 -21
  210. package/src/tool/jpgAIco/i18n/sv.ts +9 -19
  211. package/src/tool/jpgAIco/i18n/tr.ts +3 -13
  212. package/src/tool/jpgAIco/i18n/zh.ts +9 -19
  213. package/src/tool/jpgAIco/seo.astro +2 -1
  214. package/src/tool/jpgAPng/bibliography.ts +12 -0
  215. package/src/tool/jpgAPng/entry.ts +2 -0
  216. package/src/tool/jpgAPng/i18n/de.ts +7 -17
  217. package/src/tool/jpgAPng/i18n/en.ts +9 -19
  218. package/src/tool/jpgAPng/i18n/es.ts +7 -17
  219. package/src/tool/jpgAPng/i18n/fr.ts +13 -23
  220. package/src/tool/jpgAPng/i18n/id.ts +7 -17
  221. package/src/tool/jpgAPng/i18n/it.ts +5 -15
  222. package/src/tool/jpgAPng/i18n/ja.ts +3 -13
  223. package/src/tool/jpgAPng/i18n/ko.ts +3 -13
  224. package/src/tool/jpgAPng/i18n/nl.ts +7 -17
  225. package/src/tool/jpgAPng/i18n/pl.ts +7 -17
  226. package/src/tool/jpgAPng/i18n/pt.ts +7 -17
  227. package/src/tool/jpgAPng/i18n/ru.ts +10 -20
  228. package/src/tool/jpgAPng/i18n/sv.ts +7 -17
  229. package/src/tool/jpgAPng/i18n/tr.ts +6 -16
  230. package/src/tool/jpgAPng/i18n/zh.ts +8 -18
  231. package/src/tool/jpgAPng/seo.astro +2 -1
  232. package/src/tool/jpgAWebp/bibliography.ts +12 -0
  233. package/src/tool/jpgAWebp/entry.ts +2 -0
  234. package/src/tool/jpgAWebp/i18n/de.ts +10 -20
  235. package/src/tool/jpgAWebp/i18n/en.ts +10 -20
  236. package/src/tool/jpgAWebp/i18n/es.ts +4 -14
  237. package/src/tool/jpgAWebp/i18n/fr.ts +16 -26
  238. package/src/tool/jpgAWebp/i18n/id.ts +10 -20
  239. package/src/tool/jpgAWebp/i18n/it.ts +6 -16
  240. package/src/tool/jpgAWebp/i18n/ja.ts +2 -12
  241. package/src/tool/jpgAWebp/i18n/ko.ts +3 -13
  242. package/src/tool/jpgAWebp/i18n/nl.ts +10 -20
  243. package/src/tool/jpgAWebp/i18n/pl.ts +10 -20
  244. package/src/tool/jpgAWebp/i18n/pt.ts +10 -20
  245. package/src/tool/jpgAWebp/i18n/ru.ts +10 -20
  246. package/src/tool/jpgAWebp/i18n/sv.ts +10 -20
  247. package/src/tool/jpgAWebp/i18n/tr.ts +5 -15
  248. package/src/tool/jpgAWebp/i18n/zh.ts +9 -19
  249. package/src/tool/jpgAWebp/seo.astro +2 -1
  250. package/src/tool/pngAIco/bibliography.ts +12 -0
  251. package/src/tool/pngAIco/entry.ts +2 -0
  252. package/src/tool/pngAIco/i18n/de.ts +8 -18
  253. package/src/tool/pngAIco/i18n/en.ts +8 -18
  254. package/src/tool/pngAIco/i18n/es.ts +8 -18
  255. package/src/tool/pngAIco/i18n/fr.ts +14 -24
  256. package/src/tool/pngAIco/i18n/id.ts +8 -18
  257. package/src/tool/pngAIco/i18n/it.ts +4 -14
  258. package/src/tool/pngAIco/i18n/ja.ts +2 -12
  259. package/src/tool/pngAIco/i18n/ko.ts +2 -12
  260. package/src/tool/pngAIco/i18n/nl.ts +8 -18
  261. package/src/tool/pngAIco/i18n/pl.ts +8 -18
  262. package/src/tool/pngAIco/i18n/pt.ts +8 -18
  263. package/src/tool/pngAIco/i18n/ru.ts +11 -21
  264. package/src/tool/pngAIco/i18n/sv.ts +8 -18
  265. package/src/tool/pngAIco/i18n/tr.ts +7 -17
  266. package/src/tool/pngAIco/i18n/zh.ts +8 -18
  267. package/src/tool/pngAIco/seo.astro +2 -1
  268. package/src/tool/pngAJpg/bibliography.ts +12 -0
  269. package/src/tool/pngAJpg/entry.ts +2 -0
  270. package/src/tool/pngAJpg/i18n/de.ts +1 -11
  271. package/src/tool/pngAJpg/i18n/en.ts +1 -11
  272. package/src/tool/pngAJpg/i18n/es.ts +1 -11
  273. package/src/tool/pngAJpg/i18n/fr.ts +3 -13
  274. package/src/tool/pngAJpg/i18n/id.ts +1 -11
  275. package/src/tool/pngAJpg/i18n/it.ts +1 -11
  276. package/src/tool/pngAJpg/i18n/ja.ts +1 -11
  277. package/src/tool/pngAJpg/i18n/ko.ts +1 -11
  278. package/src/tool/pngAJpg/i18n/nl.ts +1 -11
  279. package/src/tool/pngAJpg/i18n/pl.ts +7 -17
  280. package/src/tool/pngAJpg/i18n/pt.ts +1 -11
  281. package/src/tool/pngAJpg/i18n/ru.ts +9 -19
  282. package/src/tool/pngAJpg/i18n/sv.ts +1 -11
  283. package/src/tool/pngAJpg/i18n/tr.ts +1 -11
  284. package/src/tool/pngAJpg/i18n/zh.ts +6 -16
  285. package/src/tool/pngAJpg/seo.astro +2 -1
  286. package/src/tool/pngAWebp/bibliography.ts +16 -0
  287. package/src/tool/pngAWebp/entry.ts +2 -0
  288. package/src/tool/pngAWebp/i18n/de.ts +7 -21
  289. package/src/tool/pngAWebp/i18n/en.ts +7 -21
  290. package/src/tool/pngAWebp/i18n/es.ts +6 -20
  291. package/src/tool/pngAWebp/i18n/fr.ts +13 -27
  292. package/src/tool/pngAWebp/i18n/id.ts +7 -21
  293. package/src/tool/pngAWebp/i18n/it.ts +3 -17
  294. package/src/tool/pngAWebp/i18n/ja.ts +2 -16
  295. package/src/tool/pngAWebp/i18n/ko.ts +2 -16
  296. package/src/tool/pngAWebp/i18n/nl.ts +7 -21
  297. package/src/tool/pngAWebp/i18n/pl.ts +7 -21
  298. package/src/tool/pngAWebp/i18n/pt.ts +6 -20
  299. package/src/tool/pngAWebp/i18n/ru.ts +8 -22
  300. package/src/tool/pngAWebp/i18n/sv.ts +7 -21
  301. package/src/tool/pngAWebp/i18n/tr.ts +6 -20
  302. package/src/tool/pngAWebp/i18n/zh.ts +6 -20
  303. package/src/tool/pngAWebp/seo.astro +2 -1
  304. package/src/tool/svgAJpg/bibliography.ts +12 -0
  305. package/src/tool/svgAJpg/entry.ts +2 -0
  306. package/src/tool/svgAJpg/i18n/de.ts +2 -12
  307. package/src/tool/svgAJpg/i18n/en.ts +1 -11
  308. package/src/tool/svgAJpg/i18n/es.ts +1 -11
  309. package/src/tool/svgAJpg/i18n/fr.ts +6 -16
  310. package/src/tool/svgAJpg/i18n/id.ts +1 -11
  311. package/src/tool/svgAJpg/i18n/it.ts +1 -11
  312. package/src/tool/svgAJpg/i18n/ja.ts +1 -11
  313. package/src/tool/svgAJpg/i18n/ko.ts +1 -11
  314. package/src/tool/svgAJpg/i18n/nl.ts +1 -11
  315. package/src/tool/svgAJpg/i18n/pl.ts +1 -11
  316. package/src/tool/svgAJpg/i18n/pt.ts +1 -11
  317. package/src/tool/svgAJpg/i18n/ru.ts +3 -13
  318. package/src/tool/svgAJpg/i18n/sv.ts +1 -11
  319. package/src/tool/svgAJpg/i18n/tr.ts +1 -11
  320. package/src/tool/svgAJpg/i18n/zh.ts +1 -11
  321. package/src/tool/svgAJpg/seo.astro +2 -1
  322. package/src/tool/svgAPng/bibliography.ts +12 -0
  323. package/src/tool/svgAPng/entry.ts +2 -0
  324. package/src/tool/svgAPng/i18n/de.ts +3 -13
  325. package/src/tool/svgAPng/i18n/en.ts +3 -13
  326. package/src/tool/svgAPng/i18n/es.ts +1 -11
  327. package/src/tool/svgAPng/i18n/fr.ts +9 -19
  328. package/src/tool/svgAPng/i18n/id.ts +3 -13
  329. package/src/tool/svgAPng/i18n/it.ts +3 -13
  330. package/src/tool/svgAPng/i18n/ja.ts +1 -11
  331. package/src/tool/svgAPng/i18n/ko.ts +1 -11
  332. package/src/tool/svgAPng/i18n/nl.ts +3 -13
  333. package/src/tool/svgAPng/i18n/pl.ts +3 -13
  334. package/src/tool/svgAPng/i18n/pt.ts +3 -13
  335. package/src/tool/svgAPng/i18n/ru.ts +5 -15
  336. package/src/tool/svgAPng/i18n/sv.ts +3 -13
  337. package/src/tool/svgAPng/i18n/tr.ts +3 -13
  338. package/src/tool/svgAPng/i18n/zh.ts +3 -13
  339. package/src/tool/svgAPng/seo.astro +2 -1
  340. package/src/tool/webpAIco/bibliography.ts +12 -0
  341. package/src/tool/webpAIco/entry.ts +2 -0
  342. package/src/tool/webpAIco/i18n/de.ts +1 -11
  343. package/src/tool/webpAIco/i18n/en.ts +1 -11
  344. package/src/tool/webpAIco/i18n/es.ts +1 -11
  345. package/src/tool/webpAIco/i18n/fr.ts +5 -15
  346. package/src/tool/webpAIco/i18n/id.ts +1 -11
  347. package/src/tool/webpAIco/i18n/it.ts +1 -11
  348. package/src/tool/webpAIco/i18n/ja.ts +1 -11
  349. package/src/tool/webpAIco/i18n/ko.ts +1 -11
  350. package/src/tool/webpAIco/i18n/nl.ts +1 -11
  351. package/src/tool/webpAIco/i18n/pl.ts +1 -11
  352. package/src/tool/webpAIco/i18n/pt.ts +1 -11
  353. package/src/tool/webpAIco/i18n/ru.ts +3 -13
  354. package/src/tool/webpAIco/i18n/sv.ts +1 -11
  355. package/src/tool/webpAIco/i18n/tr.ts +1 -11
  356. package/src/tool/webpAIco/i18n/zh.ts +1 -12
  357. package/src/tool/webpAIco/seo.astro +2 -1
  358. package/src/tool/webpAJpg/bibliography.ts +16 -0
  359. package/src/tool/webpAJpg/entry.ts +2 -0
  360. package/src/tool/webpAJpg/i18n/de.ts +3 -17
  361. package/src/tool/webpAJpg/i18n/en.ts +3 -17
  362. package/src/tool/webpAJpg/i18n/es.ts +1 -15
  363. package/src/tool/webpAJpg/i18n/fr.ts +10 -24
  364. package/src/tool/webpAJpg/i18n/id.ts +3 -17
  365. package/src/tool/webpAJpg/i18n/it.ts +2 -16
  366. package/src/tool/webpAJpg/i18n/ja.ts +1 -15
  367. package/src/tool/webpAJpg/i18n/ko.ts +1 -15
  368. package/src/tool/webpAJpg/i18n/nl.ts +2 -16
  369. package/src/tool/webpAJpg/i18n/pl.ts +3 -17
  370. package/src/tool/webpAJpg/i18n/pt.ts +3 -17
  371. package/src/tool/webpAJpg/i18n/ru.ts +7 -21
  372. package/src/tool/webpAJpg/i18n/sv.ts +3 -17
  373. package/src/tool/webpAJpg/i18n/tr.ts +2 -16
  374. package/src/tool/webpAJpg/i18n/zh.ts +2 -16
  375. package/src/tool/webpAJpg/seo.astro +2 -1
  376. package/src/tool/webpAPng/bibliography.ts +16 -0
  377. package/src/tool/webpAPng/entry.ts +2 -0
  378. package/src/tool/webpAPng/i18n/de.ts +3 -17
  379. package/src/tool/webpAPng/i18n/en.ts +3 -17
  380. package/src/tool/webpAPng/i18n/es.ts +1 -15
  381. package/src/tool/webpAPng/i18n/fr.ts +9 -23
  382. package/src/tool/webpAPng/i18n/id.ts +3 -17
  383. package/src/tool/webpAPng/i18n/it.ts +3 -17
  384. package/src/tool/webpAPng/i18n/ja.ts +1 -15
  385. package/src/tool/webpAPng/i18n/ko.ts +1 -15
  386. package/src/tool/webpAPng/i18n/nl.ts +3 -17
  387. package/src/tool/webpAPng/i18n/pl.ts +3 -17
  388. package/src/tool/webpAPng/i18n/pt.ts +3 -17
  389. package/src/tool/webpAPng/i18n/ru.ts +4 -18
  390. package/src/tool/webpAPng/i18n/sv.ts +3 -17
  391. package/src/tool/webpAPng/i18n/tr.ts +2 -17
  392. package/src/tool/webpAPng/i18n/zh.ts +3 -17
  393. 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 { WebpAJpgLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'JPEG.org: Standardy JPEG',
57
- url: 'https://jpeg.org/jpeg/',
58
- },
59
- {
60
- name: 'Mozilla Developer Network - image/jpeg',
61
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types#jpeg',
62
- },
63
- {
64
- name: 'Kompatybilność WebP z JPEG',
65
- url: 'https://developers.google.com/speed/webp/faq',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAJpgLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -83,7 +69,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: 'WebP doskonale sprawdza się w kontrolowanych środowiskach: nowoczesnych stronach internetowych w przeglądarkach Chrome, Edge lub Firefox, gdzie można zagwarantować kompatybilność. Jego doskonała kompresja zmniejsza wagę plików o 2535% w porównaniu z odpowiednikiem JPG, poprawiając czas ładowania i wskaźniki Core Web Vitals. Jest to idealny format, gdy kontrolujesz środowisko wyświetlania.',
72
+ html: 'WebP doskonale sprawdza się w kontrolowanych środowiskach: nowoczesnych stronach internetowych w przeglądarkach Chrome, Edge lub Firefox, gdzie można zagwarantować kompatybilność. Jego doskonała kompresja zmniejsza wagę plików o 25-35% w porównaniu z odpowiednikiem JPG, poprawiając czas ładowania i wskaźniki Core Web Vitals. Jest to idealny format, gdy kontrolujesz środowisko wyświetlania.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
@@ -139,7 +125,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Wskazówka dotycząca kompatybilności',
142
- html: 'Podczas udostępniania zdjęć nietechnicznym użytkownikom lub wysyłania ich pocztą e-mail, zawsze używaj formatu JPG brak problemów z kompatybilnością w dowolnym kliencie pocztowym, systemie operacyjnym lub urządzeniu, bez wyjątków i przykrych niespodzianek.',
128
+ html: 'Podczas udostępniania zdjęć nietechnicznym użytkownikom lub wysyłania ich pocztą e-mail, zawsze używaj formatu JPG - brak problemów z kompatybilnością w dowolnym kliencie pocztowym, systemie operacyjnym lub urządzeniu, bez wyjątków i przykrych niespodzianek.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -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 { WebpAJpgLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'JPEG.org: Os padrões JPEG',
57
- url: 'https://jpeg.org/jpeg/',
58
- },
59
- {
60
- name: 'Mozilla Developer Network - image/jpeg',
61
- url: 'https://developer.mozilla.org/pt-BR/docs/Web/Media/Formats/Image_types#jpeg',
62
- },
63
- {
64
- name: 'Compatibilidade de WebP para JPEG',
65
- url: 'https://developers.google.com/speed/webp/faq',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAJpgLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -83,7 +69,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: 'O WebP brilha em ambientes controlados: sites modernos no Chrome, Edge ou Firefox, onde a compatibilidade do navegador pode ser garantida. A sua compressão superior reduz o peso do arquivo em 2535% em comparação com um JPG equivalente, melhorando os tempos de carregamento e as métricas de Core Web Vitals. É o formato ideal quando você controla o ambiente de visualização.',
72
+ html: 'O WebP brilha em ambientes controlados: sites modernos no Chrome, Edge ou Firefox, onde a compatibilidade do navegador pode ser garantida. A sua compressão superior reduz o peso do arquivo em 25-35% em comparação com um JPG equivalente, melhorando os tempos de carregamento e as métricas de Core Web Vitals. É o formato ideal quando você controla o ambiente de visualização.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
@@ -139,7 +125,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Dica de compatibilidade',
142
- html: 'Ao compartilhar fotos com utilizadores não técnicos ou enviá-las por e-mail, use sempre JPG zero problemas de compatibilidade em qualquer cliente de e-mail, sistema operativo ou dispositivo, sem exceções e sem surpresas desagradáveis.',
128
+ html: 'Ao compartilhar fotos com utilizadores não técnicos ou enviá-las por e-mail, use sempre JPG - zero problemas de compatibilidade em qualquer cliente de e-mail, sistema operativo ou dispositivo, sem exceções e sem surpresas desagradáveis.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -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 { WebpAJpgLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'JPEG.org: стандарты JPEG',
57
- url: 'https://jpeg.org/jpeg/',
58
- },
59
- {
60
- name: 'Mozilla Developer Network - image/jpeg',
61
- url: 'https://developer.mozilla.org/ru/docs/Web/Media/Formats/Image_types#jpeg',
62
- },
63
- {
64
- name: 'Совместимость WebP и JPEG',
65
- url: 'https://developers.google.com/speed/webp/faq',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAJpgLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -74,7 +60,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
74
60
  },
75
61
  {
76
62
  type: 'paragraph',
77
- html: '<strong>WebP</strong> это ставка Google на эффективность: более легкие изображения при качестве, сопоставимом с традиционным JPG. Однако совместимость остается проблемой в реальном мире. Почтовые клиенты, такие как Outlook, устаревшее ПО для дизайна, мессенджеры и корпоративные рабочие процессы по-прежнему зависят от вездесущего <strong>JPG</strong>. Конвертирование WebP в JPG это мост между современным вебом и реальностью.',
63
+ html: '<strong>WebP</strong> - это ставка Google на эффективность: более легкие изображения при качестве, сопоставимом с традиционным JPG. Однако совместимость остается проблемой в реальном мире. Почтовые клиенты, такие как Outlook, устаревшее ПО для дизайна, мессенджеры и корпоративные рабочие процессы по-прежнему зависят от вездесущего <strong>JPG</strong>. Конвертирование WebP в JPG - это мост между современным вебом и реальностью.',
78
64
  },
79
65
  {
80
66
  type: 'title',
@@ -83,11 +69,11 @@ const seo: WebpAJpgLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: 'WebP превосходен в контролируемых средах: современные веб-сайты в Chrome, Edge или Firefox, где совместимость браузеров гарантирована. Его превосходное сжатие уменьшает размер файла на 2535% по сравнению с эквивалентным JPG, улучшая время загрузки и показатели Core Web Vitals. Это идеальный формат, когда вы контролируете среду просмотра.',
72
+ html: 'WebP превосходен в контролируемых средах: современные веб-сайты в Chrome, Edge или Firefox, где совместимость браузеров гарантирована. Его превосходное сжатие уменьшает размер файла на 25-35% по сравнению с эквивалентным JPG, улучшая время загрузки и показатели Core Web Vitals. Это идеальный формат, когда вы контролируете среду просмотра.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
90
- html: 'JPG, с другой стороны, работает в <em>абсолютно любом контексте</em>: вложения в электронную почту, презентации PowerPoint, документы Word, домашние принтеры, старые приложения для редактирования и социальные сети без исключения. Если вам нужно, чтобы кто-то открыл ваше изображение без технических сложностей, JPG правильный ответ.',
76
+ html: 'JPG, с другой стороны, работает в <em>абсолютно любом контексте</em>: вложения в электронную почту, презентации PowerPoint, документы Word, домашние принтеры, старые приложения для редактирования и социальные сети без исключения. Если вам нужно, чтобы кто-то открыл ваше изображение без технических сложностей, JPG - правильный ответ.',
91
77
  },
92
78
  {
93
79
  type: 'title',
@@ -134,12 +120,12 @@ const seo: WebpAJpgLocaleContent['seo'] = [
134
120
  },
135
121
  {
136
122
  type: 'paragraph',
137
- html: 'Заключительный этап экспорт: метод Canvas <code>toDataURL(\'image/jpeg\')</code> преобразует пиксели холста в высококачественный поток байтов сжатого JPG. Этот поток доставляется непосредственно в систему загрузки браузера без какой-либо сетевой активности. Весь процесс занимает миллисекунды даже для многомегапиксельных изображений.',
123
+ html: 'Заключительный этап - экспорт: метод Canvas <code>toDataURL(\'image/jpeg\')</code> преобразует пиксели холста в высококачественный поток байтов сжатого JPG. Этот поток доставляется непосредственно в систему загрузки браузера без какой-либо сетевой активности. Весь процесс занимает миллисекунды даже для многомегапиксельных изображений.',
138
124
  },
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Совет по совместимости',
142
- html: 'При обмене фотографиями с обычными пользователями или отправке по почте всегда используйте JPG никаких проблем с совместимостью в любых почтовых клиентах, ОС или устройствах, без исключений и неприятных сюрпризов.',
128
+ html: 'При обмене фотографиями с обычными пользователями или отправке по почте всегда используйте JPG - никаких проблем с совместимостью в любых почтовых клиентах, ОС или устройствах, без исключений и неприятных сюрпризов.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -164,7 +150,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'WebP это будущее изображений в вебе, но JPG остается королем универсальной совместимости. Этот инструмент позволяет преодолеть этот разрыв за считанные секунды, полностью приватно и без установки программ. Ваше изображение никогда не покидает ваше устройство.',
153
+ html: 'WebP - это будущее изображений в вебе, но JPG остается королем универсальной совместимости. Этот инструмент позволяет преодолеть этот разрыв за считанные секунды, полностью приватно и без установки программ. Ваше изображение никогда не покидает ваше устройство.',
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 { WebpAJpgLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'JPEG.org: JPEG-standarderna',
57
- url: 'https://jpeg.org/jpeg/',
58
- },
59
- {
60
- name: 'Mozilla Developer Network - image/jpeg',
61
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types#jpeg',
62
- },
63
- {
64
- name: 'Kompatibilitet mellan WebP och JPEG',
65
- url: 'https://developers.google.com/speed/webp/faq',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAJpgLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -83,7 +69,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: 'WebP briljerar i kontrollerade miljöer: moderna webbplatser i Chrome, Edge eller Firefox där webbläsarkompatibilitet kan garanteras. Dess överlägsna komprimering minskar filstorleken med 2535 % jämfört med motsvarande JPG, vilket förbättrar laddningstider och mätvärden för Core Web Vitals. Det är det ideala formatet när du kontrollerar visningsmiljön.',
72
+ html: 'WebP briljerar i kontrollerade miljöer: moderna webbplatser i Chrome, Edge eller Firefox där webbläsarkompatibilitet kan garanteras. Dess överlägsna komprimering minskar filstorleken med 25-35 % jämfört med motsvarande JPG, vilket förbättrar laddningstider och mätvärden för Core Web Vitals. Det är det ideala formatet när du kontrollerar visningsmiljön.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
@@ -139,7 +125,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Tips för kompatibilitet',
142
- html: 'När du delar foton med icke-tekniska användare eller skickar dem via e-post, använd alltid JPG noll kompatibilitetsproblem i alla e-postklienter, operativsystem eller enheter, inga undantag och inga obehagliga överraskningar.',
128
+ html: 'När du delar foton med icke-tekniska användare eller skickar dem via e-post, använd alltid JPG - noll kompatibilitetsproblem i alla e-postklienter, operativsystem eller enheter, inga undantag och inga obehagliga överraskningar.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -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 { WebpAJpgLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'JPEG.org: JPEG standartları',
57
- url: 'https://jpeg.org/jpeg/',
58
- },
59
- {
60
- name: 'Mozilla Developer Network - image/jpeg',
61
- url: 'https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types#jpeg',
62
- },
63
- {
64
- name: 'WebP\'den JPEG\'e uyumluluk',
65
- url: 'https://developers.google.com/speed/webp/faq',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAJpgLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -139,7 +125,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Uyumluluk ipucu',
142
- html: 'Fotoğrafları teknik olmayan kullanıcılarla paylaşırken veya e-posta yoluyla gönderirken daima JPG kullanın herhangi bir e-posta istemcisi, işletim sistemi veya cihazda sıfır uyumluluk sorunu, istisna yok ve hoş olmayan sürprizler yok.',
128
+ html: 'Fotoğrafları teknik olmayan kullanıcılarla paylaşırken veya e-posta yoluyla gönderirken daima JPG kullanın - herhangi bir e-posta istemcisi, işletim sistemi veya cihazda sıfır uyumluluk sorunu, istisna yok ve hoş olmayan sürprizler yok.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -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 { WebpAJpgLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'JPEG.org: JPEG 标准',
57
- url: 'https://jpeg.org/jpeg/',
58
- },
59
- {
60
- name: 'Mozilla Developer Network - image/jpeg',
61
- url: 'https://developer.mozilla.org/zh-CN/docs/Web/Media/Formats/Image_types#jpeg',
62
- },
63
- {
64
- name: 'WebP 到 JPEG 的兼容性',
65
- url: 'https://developers.google.com/speed/webp/faq',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAJpgLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -139,7 +125,7 @@ const seo: WebpAJpgLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: '兼容性建议',
142
- html: '与非技术用户分享照片或通过邮件发送时, 请始终使用 JPG——在任何邮件客户端、操作系统或设备上都没有任何兼容性问题, 没有例外, 也没有令人不快的意外。',
128
+ html: '与非技术用户分享照片或通过邮件发送时, 请始终使用 JPG-在任何邮件客户端、操作系统或设备上都没有任何兼容性问题, 没有例外, 也没有令人不快的意外。',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -9,6 +9,7 @@ interface Props {
9
9
 
10
10
  const { locale = 'es' } = Astro.props;
11
11
  const content = await webpAJpg.i18n[locale]?.();
12
+ if (!content) return null;
12
13
  ---
13
14
 
14
- {content && <SEORenderer content={{ locale, sections: content.seo }} />}
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -0,0 +1,16 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ {
5
+ name: 'Dokumentation der WebP-API und -Bibliothek',
6
+ url: 'https://developers.google.com/speed/webp/docs/api',
7
+ },
8
+ {
9
+ name: 'HTML Canvas 2D Kontext Spezifikation',
10
+ url: 'https://html.spec.whatwg.org/multipage/canvas.html',
11
+ },
12
+ {
13
+ name: 'Can I use: WebP-Bildformat',
14
+ url: 'https://caniuse.com/webp',
15
+ },
16
+ ];
@@ -27,3 +27,5 @@ export const webpAPng: ConvertersToolEntry<ImageConverterUI> = {
27
27
  zh: () => import('./i18n/zh').then((m) => m.content),
28
28
  },
29
29
  };
30
+
31
+ export { bibliography } from './bibliography';
@@ -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 { WebpAPngLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAPngLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
- {
56
- name: 'Dokumentation der WebP-API und -Bibliothek',
57
- url: 'https://developers.google.com/speed/webp/docs/api',
58
- },
59
- {
60
- name: 'HTML Canvas 2D Kontext Spezifikation',
61
- url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
- },
63
- {
64
- name: 'Can I use: WebP-Bildformat',
65
- url: 'https://caniuse.com/webp',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAPngLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -139,7 +125,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Tipp für Editoren',
142
- html: 'Verwenden Sie PNG, wenn Sie das Bild weiter bearbeiten müssen. Die verlustfreie Kompression garantiert, dass durch wiederholtes Speichern keine Qualitätsverluste entstehen entscheidend bei der Arbeit mit Ebenen, Masken oder Farbanpassungen in Photoshop oder Figma.',
128
+ html: 'Verwenden Sie PNG, wenn Sie das Bild weiter bearbeiten müssen. Die verlustfreie Kompression garantiert, dass durch wiederholtes Speichern keine Qualitätsverluste entstehen - entscheidend bei der Arbeit mit Ebenen, Masken oder Farbanpassungen in Photoshop oder Figma.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -164,7 +150,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'Wenn WebP das Format für Webserver ist, dann ist PNG das Format für das Designstudio. Dieses Tool konvertiert Ihre WebP-Assets in produktionsbereite PNGs mit intakter Transparenz und maximaler Qualität alles in Ihrem Browser und ohne dass Ihre Dateien jemals Ihren Rechner verlassen.',
153
+ html: 'Wenn WebP das Format für Webserver ist, dann ist PNG das Format für das Designstudio. Dieses Tool konvertiert Ihre WebP-Assets in produktionsbereite PNGs mit intakter Transparenz und maximaler Qualität - alles in Ihrem Browser und ohne dass Ihre Dateien jemals Ihren Rechner verlassen.',
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 { WebpAPngLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAPngLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
- {
56
- name: 'WebP API and Library Documentation',
57
- url: 'https://developers.google.com/speed/webp/docs/api',
58
- },
59
- {
60
- name: 'HTML Canvas 2D Context Specification',
61
- url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
- },
63
- {
64
- name: 'Can I use: WebP image format',
65
- url: 'https://caniuse.com/webp',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAPngLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -139,7 +125,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Tip for editors',
142
- html: 'Use PNG when you need to continue editing the image. Lossless compression guarantees no quality degradation from repeated saves critical when working with layers, masks or colour adjustments in Photoshop or Figma.',
128
+ html: 'Use PNG when you need to continue editing the image. Lossless compression guarantees no quality degradation from repeated saves - critical when working with layers, masks or colour adjustments in Photoshop or Figma.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -164,7 +150,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'If WebP is the web server format, PNG is the design studio format. This tool converts your WebP assets into production-ready PNGs, with transparency intact and maximum quality all in your browser and without your files ever leaving your machine.',
153
+ html: 'If WebP is the web server format, PNG is the design studio format. This tool converts your WebP assets into production-ready PNGs, with transparency intact and maximum quality - all in your browser and without your files ever leaving your machine.',
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 { WebpAPngLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAPngLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
- {
56
- name: 'WebP API and Library Documentation',
57
- url: 'https://developers.google.com/speed/webp/docs/api',
58
- },
59
- {
60
- name: 'HTML Canvas 2D Context Specification',
61
- url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
- },
63
- {
64
- name: 'Can I use: WebP image format',
65
- url: 'https://caniuse.com/webp',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAPngLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -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 { WebpAPngLocaleContent } from '../index';
@@ -51,30 +52,15 @@ const howTo: WebpAPngLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
- {
56
- name: 'Documentation WebP API et bibliothèque',
57
- url: 'https://developers.google.com/speed/webp/docs/api',
58
- },
59
- {
60
- name: 'Spécification HTML Canvas 2D Context',
61
- url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
- },
63
- {
64
- name: 'Can I use: format d\'image WebP',
65
- url: 'https://caniuse.com/webp',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAPngLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
72
- text: 'Convertisseur WebP vers PNG : Le Choix Professionnel pour l\'Édition et le Design',
58
+ text: 'Convertisseur WebP vers PNG: Le Choix Professionnel pour l\'Édition et le Design',
73
59
  level: 2,
74
60
  },
75
61
  {
76
62
  type: 'paragraph',
77
- html: 'Lorsqu\'un designer télécharge une ressource graphique au format <strong>WebP</strong> et tente de l\'ouvrir dans Photoshop, Figma ou Illustrator, le résultat peut être frustrant : le fichier ne se charge pas ou perd en qualité. Le format <strong>PNG</strong> est le standard incontesté de l\'édition professionnelle : compression sans perte, canal alpha complet et compatibilité garantie avec toute la chaîne de production créative.',
63
+ html: 'Lorsqu\'un designer télécharge une ressource graphique au format <strong>WebP</strong> et tente de l\'ouvrir dans Photoshop, Figma ou Illustrator, le résultat peut être frustrant: le fichier ne se charge pas ou perd en qualité. Le format <strong>PNG</strong> est le standard incontesté de l\'édition professionnelle: compression sans perte, canal alpha complet et compatibilité garantie avec toute la chaîne de production créative.',
78
64
  },
79
65
  {
80
66
  type: 'title',
@@ -83,15 +69,15 @@ const seo: WebpAPngLocaleContent['seo'] = [
83
69
  },
84
70
  {
85
71
  type: 'paragraph',
86
- html: 'WebP est un format de production web : ses algorithmes de compression sont optimisés pour réduire le poids de transfert, pas pour préserver une fidélité maximale dans les flux d\'édition itératifs. Chaque fois que vous sauvegardez un WebP modifié, le codec applique à nouveau la compression. Pour les projets où un fichier sera modifié de nombreuses fois, cela représente une dégradation cumulative de la qualité.',
72
+ html: 'WebP est un format de production web: ses algorithmes de compression sont optimisés pour réduire le poids de transfert, pas pour préserver une fidélité maximale dans les flux d\'édition itératifs. Chaque fois que vous sauvegardez un WebP modifié, le codec applique à nouveau la compression. Pour les projets où un fichier sera modifié de nombreuses fois, cela représente une dégradation cumulative de la qualité.',
87
73
  },
88
74
  {
89
75
  type: 'paragraph',
90
- html: 'Le PNG utilise une compression <strong>sans perte</strong> : les données de chaque pixel sont préservées intégralement, quel que soit le nombre de fois où vous sauvegardez. C\'est le format choisi par les designers UI/UX, les illustrateurs numériques et les équipes de branding qui ont besoin de maintenir l\'intégrité visuelle sur des dizaines de révisions. Des outils comme Photoshop, Figma, Sketch et Illustrator traitent le PNG comme leur principal format d\'exportation.',
76
+ html: 'Le PNG utilise une compression <strong>sans perte</strong>: les données de chaque pixel sont préservées intégralement, quel que soit le nombre de fois où vous sauvegardez. C\'est le format choisi par les designers UI/UX, les illustrateurs numériques et les équipes de branding qui ont besoin de maintenir l\'intégrité visuelle sur des dizaines de révisions. Des outils comme Photoshop, Figma, Sketch et Illustrator traitent le PNG comme leur principal format d\'exportation.',
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
  {
@@ -130,7 +116,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
130
116
  },
131
117
  {
132
118
  type: 'paragraph',
133
- html: 'Les navigateurs modernes peuvent décoder le WebP nativement. Notre outil exploite cette capacité pour charger le fichier dans un élément JavaScript <strong>Image</strong>, puis le dessine sur un canvas HTML5 aux mêmes dimensions que l\'original. Contrairement à la conversion en JPG, aucun remplissage de fond n\'est nécessaire ici : le canvas conserve le canal alpha complet.',
119
+ html: 'Les navigateurs modernes peuvent décoder le WebP nativement. Notre outil exploite cette capacité pour charger le fichier dans un élément JavaScript <strong>Image</strong>, puis le dessine sur un canvas HTML5 aux mêmes dimensions que l\'original. Contrairement à la conversion en JPG, aucun remplissage de fond n\'est nécessaire ici: le canvas conserve le canal alpha complet.',
134
120
  },
135
121
  {
136
122
  type: 'paragraph',
@@ -139,7 +125,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Conseil pour les éditeurs',
142
- html: 'Utilisez le PNG lorsque vous devez continuer à éditer l\'image. La compression sans perte garantit qu\'il n\'y aura aucune dégradation de qualité lors des sauvegardes répétées essentiel quand vous travaillez avec des calques, des masques ou des ajustements de couleur dans Photoshop ou Figma.',
128
+ html: 'Utilisez le PNG lorsque vous devez continuer à éditer l\'image. La compression sans perte garantit qu\'il n\'y aura aucune dégradation de qualité lors des sauvegardes répétées - essentiel quand vous travaillez avec des calques, des masques ou des ajustements de couleur dans Photoshop ou Figma.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -164,7 +150,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'Si le WebP est le format du serveur web, le PNG est le format du studio de design. Cet outil convertit vos ressources WebP en PNG prêts à la production, avec les transparences intactes et une qualité maximale le tout dans votre navigateur, sans que vos fichiers ne quittent jamais votre machine.',
153
+ html: 'Si le WebP est le format du serveur web, le PNG est le format du studio de design. Cet outil convertit vos ressources WebP en PNG prêts à la production, avec les transparences intactes et une qualité maximale - le tout dans votre navigateur, sans que vos fichiers ne quittent jamais votre machine.',
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 { WebpAPngLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAPngLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
- {
56
- name: 'Dokumentasi API dan Perpustakaan WebP',
57
- url: 'https://developers.google.com/speed/webp/docs/api',
58
- },
59
- {
60
- name: 'Spesifikasi Konteks 2D HTML Canvas',
61
- url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
- },
63
- {
64
- name: 'Can I use: format gambar WebP',
65
- url: 'https://caniuse.com/webp',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAPngLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -139,7 +125,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Tip untuk editor',
142
- html: 'Gunakan PNG saat Anda perlu terus mengedit gambar. Kompresi lossless menjamin tidak ada penurunan kualitas akibat penyimpanan berulang kali sangat penting saat bekerja dengan lapisan, masker, atau penyesuaian warna di Photoshop atau Figma.',
128
+ html: 'Gunakan PNG saat Anda perlu terus mengedit gambar. Kompresi lossless menjamin tidak ada penurunan kualitas akibat penyimpanan berulang kali - sangat penting saat bekerja dengan lapisan, masker, atau penyesuaian warna di Photoshop atau Figma.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -164,7 +150,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'Jika WebP adalah format server web, maka PNG adalah format studio desain. Alat ini mengonversi aset WebP Anda menjadi PNG siap produksi, dengan transparansi yang utuh dan kualitas maksimal semuanya di browser Anda dan tanpa file Anda pernah meninggalkan mesin Anda.',
153
+ html: 'Jika WebP adalah format server web, maka PNG adalah format studio desain. Alat ini mengonversi aset WebP Anda menjadi PNG siap produksi, dengan transparansi yang utuh dan kualitas maksimal - semuanya di browser Anda dan tanpa file Anda pernah meninggalkan mesin Anda.',
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 { WebpAPngLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAPngLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
- {
56
- name: 'Documentazione API e Libreria WebP',
57
- url: 'https://developers.google.com/speed/webp/docs/api',
58
- },
59
- {
60
- name: 'Specifica HTML Canvas 2D Context',
61
- url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
- },
63
- {
64
- name: 'Can I use: formato immagine WebP',
65
- url: 'https://caniuse.com/webp',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAPngLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',
@@ -139,7 +125,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
139
125
  {
140
126
  type: 'tip',
141
127
  title: 'Suggerimento per editor',
142
- html: 'Usa il PNG quando hai bisogno di continuare a modificare l\'immagine. La compressione lossless garantisce che non ci siano degradazioni della qualità dovute a salvataggi ripetuti fondamentale quando si lavora con livelli, maschere o regolazioni del colore in Photoshop o Figma.',
128
+ html: 'Usa il PNG quando hai bisogno di continuare a modificare l\'immagine. La compressione lossless garantisce che non ci siano degradazioni della qualità dovute a salvataggi ripetuti - fondamentale quando si lavora con livelli, maschere o regolazioni del colore in Photoshop o Figma.',
143
129
  },
144
130
  {
145
131
  type: 'title',
@@ -164,7 +150,7 @@ const seo: WebpAPngLocaleContent['seo'] = [
164
150
  },
165
151
  {
166
152
  type: 'paragraph',
167
- html: 'Se il WebP è il formato del server web, il PNG è il formato dello studio di design. Questo strumento converte i tuoi asset WebP in PNG pronti per la produzione, con trasparenza intatta e massima qualità tutto nel tuo browser e senza che i tuoi file lascino mai la tua macchina.',
153
+ html: 'Se il WebP è il formato del server web, il PNG è il formato dello studio di design. Questo strumento converte i tuoi asset WebP in PNG pronti per la produzione, con trasparenza intatta e massima qualità - tutto nel tuo browser e senza che i tuoi file lascino mai la tua macchina.',
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 { WebpAPngLocaleContent } from '../index';
@@ -51,21 +52,6 @@ const howTo: WebpAPngLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
- {
56
- name: 'WebP APIおよびライブラリドキュメント',
57
- url: 'https://developers.google.com/speed/webp/docs/api',
58
- },
59
- {
60
- name: 'HTML Canvas 2Dコンテキスト仕様',
61
- url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
- },
63
- {
64
- name: 'Can I use: WebP画像形式',
65
- url: 'https://caniuse.com/webp',
66
- },
67
- ];
68
-
69
55
  const seo: WebpAPngLocaleContent['seo'] = [
70
56
  {
71
57
  type: 'title',