@jjlmoya/utils-converters 1.15.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 (397) hide show
  1. package/package.json +8 -4
  2. package/scripts/clean_titles.py +95 -0
  3. package/scripts/postinstall.mjs +27 -0
  4. package/src/category/i18n/de.ts +1 -1
  5. package/src/category/i18n/fr.ts +9 -9
  6. package/src/category/i18n/ru.ts +1 -1
  7. package/src/category/i18n/sv.ts +1 -1
  8. package/src/data.ts +0 -21
  9. package/src/layouts/PreviewLayout.astro +2 -1
  10. package/src/pages/[locale]/[slug].astro +28 -12
  11. package/src/tests/diacritics_density.test.ts +118 -0
  12. package/src/tests/inverted_punctuation.test.ts +84 -0
  13. package/src/tests/no_en_dash.test.ts +70 -0
  14. package/src/tests/pagespeed_best_practices.test.ts +198 -0
  15. package/src/tests/script_density.test.ts +94 -0
  16. package/src/tests/shared-test-helpers.ts +56 -0
  17. package/src/tests/tool_exports.test.ts +34 -0
  18. package/src/tool/avifAJpg/bibliography.ts +12 -0
  19. package/src/tool/avifAJpg/entry.ts +2 -0
  20. package/src/tool/avifAJpg/i18n/de.ts +2 -12
  21. package/src/tool/avifAJpg/i18n/en.ts +2 -12
  22. package/src/tool/avifAJpg/i18n/es.ts +2 -12
  23. package/src/tool/avifAJpg/i18n/fr.ts +11 -21
  24. package/src/tool/avifAJpg/i18n/id.ts +2 -12
  25. package/src/tool/avifAJpg/i18n/it.ts +2 -12
  26. package/src/tool/avifAJpg/i18n/ja.ts +1 -11
  27. package/src/tool/avifAJpg/i18n/ko.ts +1 -11
  28. package/src/tool/avifAJpg/i18n/nl.ts +2 -12
  29. package/src/tool/avifAJpg/i18n/pl.ts +2 -12
  30. package/src/tool/avifAJpg/i18n/pt.ts +2 -12
  31. package/src/tool/avifAJpg/i18n/ru.ts +7 -17
  32. package/src/tool/avifAJpg/i18n/sv.ts +2 -12
  33. package/src/tool/avifAJpg/i18n/tr.ts +1 -11
  34. package/src/tool/avifAJpg/i18n/zh.ts +4 -14
  35. package/src/tool/avifAJpg/seo.astro +2 -1
  36. package/src/tool/avifAPng/bibliography.ts +12 -0
  37. package/src/tool/avifAPng/entry.ts +2 -0
  38. package/src/tool/avifAPng/i18n/de.ts +4 -14
  39. package/src/tool/avifAPng/i18n/en.ts +4 -14
  40. package/src/tool/avifAPng/i18n/es.ts +4 -14
  41. package/src/tool/avifAPng/i18n/fr.ts +10 -20
  42. package/src/tool/avifAPng/i18n/id.ts +4 -14
  43. package/src/tool/avifAPng/i18n/it.ts +1 -11
  44. package/src/tool/avifAPng/i18n/ja.ts +1 -11
  45. package/src/tool/avifAPng/i18n/ko.ts +1 -11
  46. package/src/tool/avifAPng/i18n/nl.ts +4 -14
  47. package/src/tool/avifAPng/i18n/pl.ts +4 -14
  48. package/src/tool/avifAPng/i18n/pt.ts +4 -14
  49. package/src/tool/avifAPng/i18n/ru.ts +5 -15
  50. package/src/tool/avifAPng/i18n/sv.ts +4 -14
  51. package/src/tool/avifAPng/i18n/tr.ts +1 -11
  52. package/src/tool/avifAPng/i18n/zh.ts +3 -13
  53. package/src/tool/avifAPng/seo.astro +2 -1
  54. package/src/tool/avifAWebp/bibliography.ts +12 -0
  55. package/src/tool/avifAWebp/entry.ts +2 -0
  56. package/src/tool/avifAWebp/i18n/de.ts +6 -16
  57. package/src/tool/avifAWebp/i18n/en.ts +6 -16
  58. package/src/tool/avifAWebp/i18n/es.ts +6 -16
  59. package/src/tool/avifAWebp/i18n/fr.ts +13 -23
  60. package/src/tool/avifAWebp/i18n/id.ts +6 -16
  61. package/src/tool/avifAWebp/i18n/it.ts +1 -11
  62. package/src/tool/avifAWebp/i18n/ja.ts +1 -11
  63. package/src/tool/avifAWebp/i18n/ko.ts +2 -12
  64. package/src/tool/avifAWebp/i18n/nl.ts +6 -16
  65. package/src/tool/avifAWebp/i18n/pl.ts +6 -16
  66. package/src/tool/avifAWebp/i18n/pt.ts +6 -16
  67. package/src/tool/avifAWebp/i18n/ru.ts +7 -17
  68. package/src/tool/avifAWebp/i18n/sv.ts +6 -16
  69. package/src/tool/avifAWebp/i18n/tr.ts +2 -12
  70. package/src/tool/avifAWebp/i18n/zh.ts +6 -16
  71. package/src/tool/avifAWebp/seo.astro +2 -1
  72. package/src/tool/bmpAJpg/bibliography.ts +12 -0
  73. package/src/tool/bmpAJpg/entry.ts +2 -0
  74. package/src/tool/bmpAJpg/i18n/de.ts +1 -11
  75. package/src/tool/bmpAJpg/i18n/en.ts +1 -11
  76. package/src/tool/bmpAJpg/i18n/es.ts +1 -11
  77. package/src/tool/bmpAJpg/i18n/fr.ts +9 -19
  78. package/src/tool/bmpAJpg/i18n/id.ts +1 -11
  79. package/src/tool/bmpAJpg/i18n/it.ts +1 -11
  80. package/src/tool/bmpAJpg/i18n/ja.ts +1 -11
  81. package/src/tool/bmpAJpg/i18n/ko.ts +1 -11
  82. package/src/tool/bmpAJpg/i18n/nl.ts +1 -11
  83. package/src/tool/bmpAJpg/i18n/pl.ts +1 -11
  84. package/src/tool/bmpAJpg/i18n/pt.ts +1 -11
  85. package/src/tool/bmpAJpg/i18n/ru.ts +5 -15
  86. package/src/tool/bmpAJpg/i18n/sv.ts +1 -11
  87. package/src/tool/bmpAJpg/i18n/tr.ts +1 -11
  88. package/src/tool/bmpAJpg/i18n/zh.ts +1 -11
  89. package/src/tool/bmpAJpg/seo.astro +2 -1
  90. package/src/tool/bmpAPng/bibliography.ts +12 -0
  91. package/src/tool/bmpAPng/entry.ts +2 -0
  92. package/src/tool/bmpAPng/i18n/de.ts +2 -12
  93. package/src/tool/bmpAPng/i18n/en.ts +3 -13
  94. package/src/tool/bmpAPng/i18n/es.ts +2 -12
  95. package/src/tool/bmpAPng/i18n/fr.ts +12 -22
  96. package/src/tool/bmpAPng/i18n/id.ts +2 -12
  97. package/src/tool/bmpAPng/i18n/it.ts +2 -12
  98. package/src/tool/bmpAPng/i18n/ja.ts +1 -11
  99. package/src/tool/bmpAPng/i18n/ko.ts +1 -11
  100. package/src/tool/bmpAPng/i18n/nl.ts +2 -12
  101. package/src/tool/bmpAPng/i18n/pl.ts +2 -12
  102. package/src/tool/bmpAPng/i18n/pt.ts +2 -12
  103. package/src/tool/bmpAPng/i18n/ru.ts +9 -19
  104. package/src/tool/bmpAPng/i18n/sv.ts +2 -12
  105. package/src/tool/bmpAPng/i18n/tr.ts +1 -11
  106. package/src/tool/bmpAPng/i18n/zh.ts +1 -11
  107. package/src/tool/bmpAPng/seo.astro +2 -1
  108. package/src/tool/bmpAWebp/bibliography.ts +12 -0
  109. package/src/tool/bmpAWebp/entry.ts +2 -0
  110. package/src/tool/bmpAWebp/i18n/de.ts +8 -18
  111. package/src/tool/bmpAWebp/i18n/en.ts +8 -18
  112. package/src/tool/bmpAWebp/i18n/es.ts +8 -18
  113. package/src/tool/bmpAWebp/i18n/fr.ts +13 -23
  114. package/src/tool/bmpAWebp/i18n/id.ts +8 -18
  115. package/src/tool/bmpAWebp/i18n/it.ts +8 -18
  116. package/src/tool/bmpAWebp/i18n/ja.ts +7 -17
  117. package/src/tool/bmpAWebp/i18n/ko.ts +7 -17
  118. package/src/tool/bmpAWebp/i18n/nl.ts +8 -18
  119. package/src/tool/bmpAWebp/i18n/pl.ts +8 -18
  120. package/src/tool/bmpAWebp/i18n/pt.ts +8 -18
  121. package/src/tool/bmpAWebp/i18n/ru.ts +10 -20
  122. package/src/tool/bmpAWebp/i18n/sv.ts +8 -18
  123. package/src/tool/bmpAWebp/i18n/tr.ts +8 -18
  124. package/src/tool/bmpAWebp/i18n/zh.ts +8 -18
  125. package/src/tool/bmpAWebp/seo.astro +2 -1
  126. package/src/tool/gifAJpg/bibliography.ts +12 -0
  127. package/src/tool/gifAJpg/entry.ts +2 -0
  128. package/src/tool/gifAJpg/i18n/de.ts +1 -11
  129. package/src/tool/gifAJpg/i18n/en.ts +1 -11
  130. package/src/tool/gifAJpg/i18n/es.ts +1 -11
  131. package/src/tool/gifAJpg/i18n/fr.ts +9 -19
  132. package/src/tool/gifAJpg/i18n/id.ts +1 -11
  133. package/src/tool/gifAJpg/i18n/it.ts +1 -11
  134. package/src/tool/gifAJpg/i18n/ja.ts +1 -11
  135. package/src/tool/gifAJpg/i18n/ko.ts +1 -11
  136. package/src/tool/gifAJpg/i18n/nl.ts +1 -11
  137. package/src/tool/gifAJpg/i18n/pl.ts +1 -11
  138. package/src/tool/gifAJpg/i18n/pt.ts +1 -11
  139. package/src/tool/gifAJpg/i18n/ru.ts +2 -12
  140. package/src/tool/gifAJpg/i18n/sv.ts +1 -11
  141. package/src/tool/gifAJpg/i18n/tr.ts +1 -11
  142. package/src/tool/gifAJpg/i18n/zh.ts +1 -11
  143. package/src/tool/gifAJpg/seo.astro +2 -1
  144. package/src/tool/gifAPng/bibliography.ts +12 -0
  145. package/src/tool/gifAPng/entry.ts +2 -0
  146. package/src/tool/gifAPng/i18n/de.ts +2 -12
  147. package/src/tool/gifAPng/i18n/en.ts +3 -13
  148. package/src/tool/gifAPng/i18n/es.ts +2 -12
  149. package/src/tool/gifAPng/i18n/fr.ts +11 -21
  150. package/src/tool/gifAPng/i18n/id.ts +2 -12
  151. package/src/tool/gifAPng/i18n/it.ts +2 -12
  152. package/src/tool/gifAPng/i18n/ja.ts +1 -11
  153. package/src/tool/gifAPng/i18n/ko.ts +1 -11
  154. package/src/tool/gifAPng/i18n/nl.ts +2 -12
  155. package/src/tool/gifAPng/i18n/pl.ts +3 -13
  156. package/src/tool/gifAPng/i18n/pt.ts +2 -12
  157. package/src/tool/gifAPng/i18n/ru.ts +3 -13
  158. package/src/tool/gifAPng/i18n/sv.ts +3 -13
  159. package/src/tool/gifAPng/i18n/tr.ts +1 -11
  160. package/src/tool/gifAPng/i18n/zh.ts +2 -12
  161. package/src/tool/gifAPng/seo.astro +2 -1
  162. package/src/tool/gifAWebp/bibliography.ts +12 -0
  163. package/src/tool/gifAWebp/entry.ts +2 -0
  164. package/src/tool/gifAWebp/i18n/de.ts +3 -13
  165. package/src/tool/gifAWebp/i18n/en.ts +3 -13
  166. package/src/tool/gifAWebp/i18n/es.ts +1 -11
  167. package/src/tool/gifAWebp/i18n/fr.ts +11 -21
  168. package/src/tool/gifAWebp/i18n/id.ts +3 -13
  169. package/src/tool/gifAWebp/i18n/it.ts +1 -11
  170. package/src/tool/gifAWebp/i18n/ja.ts +1 -11
  171. package/src/tool/gifAWebp/i18n/ko.ts +1 -11
  172. package/src/tool/gifAWebp/i18n/nl.ts +3 -13
  173. package/src/tool/gifAWebp/i18n/pl.ts +3 -13
  174. package/src/tool/gifAWebp/i18n/pt.ts +3 -13
  175. package/src/tool/gifAWebp/i18n/ru.ts +7 -17
  176. package/src/tool/gifAWebp/i18n/sv.ts +3 -13
  177. package/src/tool/gifAWebp/i18n/tr.ts +1 -11
  178. package/src/tool/gifAWebp/i18n/zh.ts +4 -14
  179. package/src/tool/gifAWebp/seo.astro +2 -1
  180. package/src/tool/imagenBase64/bibliography.ts +12 -0
  181. package/src/tool/imagenBase64/component.astro +0 -301
  182. package/src/tool/imagenBase64/entry.ts +2 -0
  183. package/src/tool/imagenBase64/i18n/de.ts +7 -17
  184. package/src/tool/imagenBase64/i18n/en.ts +7 -17
  185. package/src/tool/imagenBase64/i18n/es.ts +7 -17
  186. package/src/tool/imagenBase64/i18n/fr.ts +17 -27
  187. package/src/tool/imagenBase64/i18n/id.ts +7 -17
  188. package/src/tool/imagenBase64/i18n/it.ts +6 -16
  189. package/src/tool/imagenBase64/i18n/ja.ts +1 -11
  190. package/src/tool/imagenBase64/i18n/ko.ts +1 -11
  191. package/src/tool/imagenBase64/i18n/nl.ts +7 -17
  192. package/src/tool/imagenBase64/i18n/pl.ts +7 -17
  193. package/src/tool/imagenBase64/i18n/pt.ts +7 -17
  194. package/src/tool/imagenBase64/i18n/ru.ts +9 -19
  195. package/src/tool/imagenBase64/i18n/sv.ts +7 -17
  196. package/src/tool/imagenBase64/i18n/tr.ts +2 -12
  197. package/src/tool/imagenBase64/i18n/zh.ts +7 -17
  198. package/src/tool/imagenBase64/image-to-base64-converter.css +299 -0
  199. package/src/tool/imagenBase64/seo.astro +2 -1
  200. package/src/tool/jpgAIco/bibliography.ts +12 -0
  201. package/src/tool/jpgAIco/entry.ts +2 -0
  202. package/src/tool/jpgAIco/i18n/de.ts +9 -19
  203. package/src/tool/jpgAIco/i18n/en.ts +9 -19
  204. package/src/tool/jpgAIco/i18n/es.ts +7 -17
  205. package/src/tool/jpgAIco/i18n/fr.ts +13 -23
  206. package/src/tool/jpgAIco/i18n/id.ts +9 -19
  207. package/src/tool/jpgAIco/i18n/it.ts +3 -13
  208. package/src/tool/jpgAIco/i18n/ja.ts +2 -12
  209. package/src/tool/jpgAIco/i18n/ko.ts +2 -12
  210. package/src/tool/jpgAIco/i18n/nl.ts +9 -19
  211. package/src/tool/jpgAIco/i18n/pl.ts +9 -19
  212. package/src/tool/jpgAIco/i18n/pt.ts +9 -19
  213. package/src/tool/jpgAIco/i18n/ru.ts +11 -21
  214. package/src/tool/jpgAIco/i18n/sv.ts +9 -19
  215. package/src/tool/jpgAIco/i18n/tr.ts +3 -13
  216. package/src/tool/jpgAIco/i18n/zh.ts +9 -19
  217. package/src/tool/jpgAIco/seo.astro +2 -1
  218. package/src/tool/jpgAPng/bibliography.ts +12 -0
  219. package/src/tool/jpgAPng/entry.ts +2 -0
  220. package/src/tool/jpgAPng/i18n/de.ts +7 -17
  221. package/src/tool/jpgAPng/i18n/en.ts +9 -19
  222. package/src/tool/jpgAPng/i18n/es.ts +7 -17
  223. package/src/tool/jpgAPng/i18n/fr.ts +13 -23
  224. package/src/tool/jpgAPng/i18n/id.ts +7 -17
  225. package/src/tool/jpgAPng/i18n/it.ts +5 -15
  226. package/src/tool/jpgAPng/i18n/ja.ts +3 -13
  227. package/src/tool/jpgAPng/i18n/ko.ts +3 -13
  228. package/src/tool/jpgAPng/i18n/nl.ts +7 -17
  229. package/src/tool/jpgAPng/i18n/pl.ts +7 -17
  230. package/src/tool/jpgAPng/i18n/pt.ts +7 -17
  231. package/src/tool/jpgAPng/i18n/ru.ts +10 -20
  232. package/src/tool/jpgAPng/i18n/sv.ts +7 -17
  233. package/src/tool/jpgAPng/i18n/tr.ts +6 -16
  234. package/src/tool/jpgAPng/i18n/zh.ts +8 -18
  235. package/src/tool/jpgAPng/seo.astro +2 -1
  236. package/src/tool/jpgAWebp/bibliography.ts +12 -0
  237. package/src/tool/jpgAWebp/entry.ts +2 -0
  238. package/src/tool/jpgAWebp/i18n/de.ts +10 -20
  239. package/src/tool/jpgAWebp/i18n/en.ts +10 -20
  240. package/src/tool/jpgAWebp/i18n/es.ts +4 -14
  241. package/src/tool/jpgAWebp/i18n/fr.ts +16 -26
  242. package/src/tool/jpgAWebp/i18n/id.ts +10 -20
  243. package/src/tool/jpgAWebp/i18n/it.ts +6 -16
  244. package/src/tool/jpgAWebp/i18n/ja.ts +2 -12
  245. package/src/tool/jpgAWebp/i18n/ko.ts +3 -13
  246. package/src/tool/jpgAWebp/i18n/nl.ts +10 -20
  247. package/src/tool/jpgAWebp/i18n/pl.ts +10 -20
  248. package/src/tool/jpgAWebp/i18n/pt.ts +10 -20
  249. package/src/tool/jpgAWebp/i18n/ru.ts +10 -20
  250. package/src/tool/jpgAWebp/i18n/sv.ts +10 -20
  251. package/src/tool/jpgAWebp/i18n/tr.ts +5 -15
  252. package/src/tool/jpgAWebp/i18n/zh.ts +9 -19
  253. package/src/tool/jpgAWebp/seo.astro +2 -1
  254. package/src/tool/pngAIco/bibliography.ts +12 -0
  255. package/src/tool/pngAIco/entry.ts +2 -0
  256. package/src/tool/pngAIco/i18n/de.ts +8 -18
  257. package/src/tool/pngAIco/i18n/en.ts +8 -18
  258. package/src/tool/pngAIco/i18n/es.ts +8 -18
  259. package/src/tool/pngAIco/i18n/fr.ts +14 -24
  260. package/src/tool/pngAIco/i18n/id.ts +8 -18
  261. package/src/tool/pngAIco/i18n/it.ts +4 -14
  262. package/src/tool/pngAIco/i18n/ja.ts +2 -12
  263. package/src/tool/pngAIco/i18n/ko.ts +2 -12
  264. package/src/tool/pngAIco/i18n/nl.ts +8 -18
  265. package/src/tool/pngAIco/i18n/pl.ts +8 -18
  266. package/src/tool/pngAIco/i18n/pt.ts +8 -18
  267. package/src/tool/pngAIco/i18n/ru.ts +11 -21
  268. package/src/tool/pngAIco/i18n/sv.ts +8 -18
  269. package/src/tool/pngAIco/i18n/tr.ts +7 -17
  270. package/src/tool/pngAIco/i18n/zh.ts +8 -18
  271. package/src/tool/pngAIco/seo.astro +2 -1
  272. package/src/tool/pngAJpg/bibliography.ts +12 -0
  273. package/src/tool/pngAJpg/entry.ts +2 -0
  274. package/src/tool/pngAJpg/i18n/de.ts +1 -11
  275. package/src/tool/pngAJpg/i18n/en.ts +1 -11
  276. package/src/tool/pngAJpg/i18n/es.ts +1 -11
  277. package/src/tool/pngAJpg/i18n/fr.ts +3 -13
  278. package/src/tool/pngAJpg/i18n/id.ts +1 -11
  279. package/src/tool/pngAJpg/i18n/it.ts +1 -11
  280. package/src/tool/pngAJpg/i18n/ja.ts +1 -11
  281. package/src/tool/pngAJpg/i18n/ko.ts +1 -11
  282. package/src/tool/pngAJpg/i18n/nl.ts +1 -11
  283. package/src/tool/pngAJpg/i18n/pl.ts +7 -17
  284. package/src/tool/pngAJpg/i18n/pt.ts +1 -11
  285. package/src/tool/pngAJpg/i18n/ru.ts +9 -19
  286. package/src/tool/pngAJpg/i18n/sv.ts +1 -11
  287. package/src/tool/pngAJpg/i18n/tr.ts +1 -11
  288. package/src/tool/pngAJpg/i18n/zh.ts +6 -16
  289. package/src/tool/pngAJpg/seo.astro +2 -1
  290. package/src/tool/pngAWebp/bibliography.ts +16 -0
  291. package/src/tool/pngAWebp/entry.ts +2 -0
  292. package/src/tool/pngAWebp/i18n/de.ts +7 -21
  293. package/src/tool/pngAWebp/i18n/en.ts +7 -21
  294. package/src/tool/pngAWebp/i18n/es.ts +6 -20
  295. package/src/tool/pngAWebp/i18n/fr.ts +13 -27
  296. package/src/tool/pngAWebp/i18n/id.ts +7 -21
  297. package/src/tool/pngAWebp/i18n/it.ts +3 -17
  298. package/src/tool/pngAWebp/i18n/ja.ts +2 -16
  299. package/src/tool/pngAWebp/i18n/ko.ts +2 -16
  300. package/src/tool/pngAWebp/i18n/nl.ts +7 -21
  301. package/src/tool/pngAWebp/i18n/pl.ts +7 -21
  302. package/src/tool/pngAWebp/i18n/pt.ts +6 -20
  303. package/src/tool/pngAWebp/i18n/ru.ts +8 -22
  304. package/src/tool/pngAWebp/i18n/sv.ts +7 -21
  305. package/src/tool/pngAWebp/i18n/tr.ts +6 -20
  306. package/src/tool/pngAWebp/i18n/zh.ts +6 -20
  307. package/src/tool/pngAWebp/seo.astro +2 -1
  308. package/src/tool/svgAJpg/bibliography.ts +12 -0
  309. package/src/tool/svgAJpg/entry.ts +2 -0
  310. package/src/tool/svgAJpg/i18n/de.ts +2 -12
  311. package/src/tool/svgAJpg/i18n/en.ts +1 -11
  312. package/src/tool/svgAJpg/i18n/es.ts +1 -11
  313. package/src/tool/svgAJpg/i18n/fr.ts +6 -16
  314. package/src/tool/svgAJpg/i18n/id.ts +1 -11
  315. package/src/tool/svgAJpg/i18n/it.ts +1 -11
  316. package/src/tool/svgAJpg/i18n/ja.ts +1 -11
  317. package/src/tool/svgAJpg/i18n/ko.ts +1 -11
  318. package/src/tool/svgAJpg/i18n/nl.ts +1 -11
  319. package/src/tool/svgAJpg/i18n/pl.ts +1 -11
  320. package/src/tool/svgAJpg/i18n/pt.ts +1 -11
  321. package/src/tool/svgAJpg/i18n/ru.ts +3 -13
  322. package/src/tool/svgAJpg/i18n/sv.ts +1 -11
  323. package/src/tool/svgAJpg/i18n/tr.ts +1 -11
  324. package/src/tool/svgAJpg/i18n/zh.ts +1 -11
  325. package/src/tool/svgAJpg/seo.astro +2 -1
  326. package/src/tool/svgAPng/bibliography.ts +12 -0
  327. package/src/tool/svgAPng/entry.ts +2 -0
  328. package/src/tool/svgAPng/i18n/de.ts +3 -13
  329. package/src/tool/svgAPng/i18n/en.ts +3 -13
  330. package/src/tool/svgAPng/i18n/es.ts +1 -11
  331. package/src/tool/svgAPng/i18n/fr.ts +9 -19
  332. package/src/tool/svgAPng/i18n/id.ts +3 -13
  333. package/src/tool/svgAPng/i18n/it.ts +3 -13
  334. package/src/tool/svgAPng/i18n/ja.ts +1 -11
  335. package/src/tool/svgAPng/i18n/ko.ts +1 -11
  336. package/src/tool/svgAPng/i18n/nl.ts +3 -13
  337. package/src/tool/svgAPng/i18n/pl.ts +3 -13
  338. package/src/tool/svgAPng/i18n/pt.ts +3 -13
  339. package/src/tool/svgAPng/i18n/ru.ts +5 -15
  340. package/src/tool/svgAPng/i18n/sv.ts +3 -13
  341. package/src/tool/svgAPng/i18n/tr.ts +3 -13
  342. package/src/tool/svgAPng/i18n/zh.ts +3 -13
  343. package/src/tool/svgAPng/seo.astro +2 -1
  344. package/src/tool/webpAIco/bibliography.ts +12 -0
  345. package/src/tool/webpAIco/entry.ts +2 -0
  346. package/src/tool/webpAIco/i18n/de.ts +1 -11
  347. package/src/tool/webpAIco/i18n/en.ts +1 -11
  348. package/src/tool/webpAIco/i18n/es.ts +1 -11
  349. package/src/tool/webpAIco/i18n/fr.ts +5 -15
  350. package/src/tool/webpAIco/i18n/id.ts +1 -11
  351. package/src/tool/webpAIco/i18n/it.ts +1 -11
  352. package/src/tool/webpAIco/i18n/ja.ts +1 -11
  353. package/src/tool/webpAIco/i18n/ko.ts +1 -11
  354. package/src/tool/webpAIco/i18n/nl.ts +1 -11
  355. package/src/tool/webpAIco/i18n/pl.ts +1 -11
  356. package/src/tool/webpAIco/i18n/pt.ts +1 -11
  357. package/src/tool/webpAIco/i18n/ru.ts +3 -13
  358. package/src/tool/webpAIco/i18n/sv.ts +1 -11
  359. package/src/tool/webpAIco/i18n/tr.ts +1 -11
  360. package/src/tool/webpAIco/i18n/zh.ts +1 -12
  361. package/src/tool/webpAIco/seo.astro +2 -1
  362. package/src/tool/webpAJpg/bibliography.ts +16 -0
  363. package/src/tool/webpAJpg/entry.ts +2 -0
  364. package/src/tool/webpAJpg/i18n/de.ts +3 -17
  365. package/src/tool/webpAJpg/i18n/en.ts +3 -17
  366. package/src/tool/webpAJpg/i18n/es.ts +1 -15
  367. package/src/tool/webpAJpg/i18n/fr.ts +10 -24
  368. package/src/tool/webpAJpg/i18n/id.ts +3 -17
  369. package/src/tool/webpAJpg/i18n/it.ts +2 -16
  370. package/src/tool/webpAJpg/i18n/ja.ts +1 -15
  371. package/src/tool/webpAJpg/i18n/ko.ts +1 -15
  372. package/src/tool/webpAJpg/i18n/nl.ts +2 -16
  373. package/src/tool/webpAJpg/i18n/pl.ts +3 -17
  374. package/src/tool/webpAJpg/i18n/pt.ts +3 -17
  375. package/src/tool/webpAJpg/i18n/ru.ts +7 -21
  376. package/src/tool/webpAJpg/i18n/sv.ts +3 -17
  377. package/src/tool/webpAJpg/i18n/tr.ts +2 -16
  378. package/src/tool/webpAJpg/i18n/zh.ts +2 -16
  379. package/src/tool/webpAJpg/seo.astro +2 -1
  380. package/src/tool/webpAPng/bibliography.ts +16 -0
  381. package/src/tool/webpAPng/entry.ts +2 -0
  382. package/src/tool/webpAPng/i18n/de.ts +3 -17
  383. package/src/tool/webpAPng/i18n/en.ts +3 -17
  384. package/src/tool/webpAPng/i18n/es.ts +1 -15
  385. package/src/tool/webpAPng/i18n/fr.ts +9 -23
  386. package/src/tool/webpAPng/i18n/id.ts +3 -17
  387. package/src/tool/webpAPng/i18n/it.ts +3 -17
  388. package/src/tool/webpAPng/i18n/ja.ts +1 -15
  389. package/src/tool/webpAPng/i18n/ko.ts +1 -15
  390. package/src/tool/webpAPng/i18n/nl.ts +3 -17
  391. package/src/tool/webpAPng/i18n/pl.ts +3 -17
  392. package/src/tool/webpAPng/i18n/pt.ts +3 -17
  393. package/src/tool/webpAPng/i18n/ru.ts +4 -18
  394. package/src/tool/webpAPng/i18n/sv.ts +3 -17
  395. package/src/tool/webpAPng/i18n/tr.ts +2 -17
  396. package/src/tool/webpAPng/i18n/zh.ts +3 -17
  397. 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 { JpgAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: JpgAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: JpgAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google WebP komprimeringsstudie',
57
- url: 'https://developers.google.com/speed/webp/docs/webp_study',
58
- },
59
- {
60
- name: 'Web.dev: Leverera bilder i moderna format',
61
- url: 'https://web.dev/uses-webp-images/',
62
- },
63
- ];
64
-
65
55
  const seo: JpgAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -70,7 +60,7 @@ const seo: JpgAWebpLocaleContent['seo'] = [
70
60
  },
71
61
  {
72
62
  type: 'paragraph',
73
- html: '<strong>JPG</strong>-formatet har dominerat digital fotografering i årtionden universellt kompatibelt och brett stöttat. Men Google utvecklade <strong>WebP</strong> för att slå JPG på dess egen hemmaplan: samma visuella kvalitet vid 2535 % mindre filstorlek. För utvecklare och marknadsföringsteam som kämpar mot långsamma sidladdningar är konvertering av JPG till WebP den enskilt mest effektiva optimeringen du kan tillämpa utan att röra din design.',
63
+ html: '<strong>JPG</strong>-formatet har dominerat digital fotografering i årtionden - universellt kompatibelt och brett stöttat. Men Google utvecklade <strong>WebP</strong> för att slå JPG på dess egen hemmaplan: samma visuella kvalitet vid 25-35 % mindre filstorlek. För utvecklare och marknadsföringsteam som kämpar mot långsamma sidladdningar är konvertering av JPG till WebP den enskilt mest effektiva optimeringen du kan tillämpa utan att röra din design.',
74
64
  },
75
65
  {
76
66
  type: 'title',
@@ -79,11 +69,11 @@ const seo: JpgAWebpLocaleContent['seo'] = [
79
69
  },
80
70
  {
81
71
  type: 'paragraph',
82
- html: '<strong>JPG</strong> förblir det rätta valet när du behöver universell kompatibilitet: e-post till kunder, Word-dokument, äldre sociala medieplattformar eller CMS-system som ännu inte accepterar WebP. Dess trettioåriga ekosystem garanterar att alla skärmar, skrivare eller bildvisare kommer att öppna det utan problem. Den största nackdelen är storleken en header-JPG på 1,5 MB kan sänka din sidas LCP-poäng och missa tröskelvärdena för Core Web Vitals.',
72
+ html: '<strong>JPG</strong> förblir det rätta valet när du behöver universell kompatibilitet: e-post till kunder, Word-dokument, äldre sociala medieplattformar eller CMS-system som ännu inte accepterar WebP. Dess trettioåriga ekosystem garanterar att alla skärmar, skrivare eller bildvisare kommer att öppna det utan problem. Den största nackdelen är storleken - en header-JPG på 1,5 MB kan sänka din sidas LCP-poäng och missa tröskelvärdena för Core Web Vitals.',
83
73
  },
84
74
  {
85
75
  type: 'paragraph',
86
- html: '<strong>WebP</strong> är det smarta valet för allt innehåll som lever på din webbplats. Chrome, Firefox, Safari och Edge har stött det nativt i åratal. Produktbilder i e-handel, bloggbanners, videominiatyrer och alla foton som publiceras online drar direkt nytta: lättare sidor, bättre Google PageSpeed Insights-poäng och en smidigare användarupplevelse särskilt på långsamma mobilanslutningar.',
76
+ html: '<strong>WebP</strong> är det smarta valet för allt innehåll som lever på din webbplats. Chrome, Firefox, Safari och Edge har stött det nativt i åratal. Produktbilder i e-handel, bloggbanners, videominiatyrer och alla foton som publiceras online drar direkt nytta: lättare sidor, bättre Google PageSpeed Insights-poäng och en smidigare användarupplevelse - särskilt på långsamma mobilanslutningar.',
87
77
  },
88
78
  {
89
79
  type: 'title',
@@ -111,8 +101,8 @@ const seo: JpgAWebpLocaleContent['seo'] = [
111
101
  icon: 'mdi:laptop-mac',
112
102
  highlight: true,
113
103
  points: [
114
- 'Omedelbar hastighet noll nätverkslatens',
115
- 'Komplett integritet 0 byte skickas externt',
104
+ 'Omedelbar hastighet - noll nätverkslatens',
105
+ 'Komplett integritet - 0 byte skickas externt',
116
106
  'Inga MB-gränser eller begränsningar på antal filer',
117
107
  'Rent gränssnitt, inga annonser eller spårning',
118
108
  ],
@@ -126,16 +116,16 @@ const seo: JpgAWebpLocaleContent['seo'] = [
126
116
  },
127
117
  {
128
118
  type: 'paragraph',
129
- html: 'När du drar en JPG till verktyget skapar webbläsaren ett <strong>Blob-objekt</strong> som bara lever i ditt RAM-minne. Denna Blob avkodas och ritas på ett osynligt <strong>HTML5 Canvas</strong>-element. Eftersom JPG saknar en alfakanal är konverteringen till WebP direkt: motorn exporterar canvasen genom att anropa <code>toDataURL(\'image/webp\')</code>, vilket genererar en byteström som ditt operativsystem laddar ner omedelbart ingen server inblandad.',
119
+ html: 'När du drar en JPG till verktyget skapar webbläsaren ett <strong>Blob-objekt</strong> som bara lever i ditt RAM-minne. Denna Blob avkodas och ritas på ett osynligt <strong>HTML5 Canvas</strong>-element. Eftersom JPG saknar en alfakanal är konverteringen till WebP direkt: motorn exporterar canvasen genom att anropa <code>toDataURL(\'image/webp\')</code>, vilket genererar en byteström som ditt operativsystem laddar ner omedelbart - ingen server inblandad.',
130
120
  },
131
121
  {
132
122
  type: 'paragraph',
133
- html: 'WebP-komprimeringsalgoritmen kombinerar tekniker för blockförutsägelse (liknande de i VP8, Googles videocodec) med färgtransformationer och aritmetisk kodning. Resultatet är en fil som innehåller samma perceptuella information som den ursprungliga JPG-filen men förpackad mycket mer effektivt vilket innebär färre kilobyte överförda vid varje sidbesök.',
123
+ html: 'WebP-komprimeringsalgoritmen kombinerar tekniker för blockförutsägelse (liknande de i VP8, Googles videocodec) med färgtransformationer och aritmetisk kodning. Resultatet är en fil som innehåller samma perceptuella information som den ursprungliga JPG-filen men förpackad mycket mer effektivt - vilket innebär färre kilobyte överförda vid varje sidbesök.',
134
124
  },
135
125
  {
136
126
  type: 'tip',
137
127
  title: 'Core Web Vitals Tips: LCP och bildvikt',
138
- html: '<strong>Largest Contentful Paint (LCP)</strong> är det Google-mått som mäter hur lång tid det tar att ladda det största visuella elementet på din sida. En header-JPG på 1,5 MB kan bli en WebP på bara 900 KB eller till och med 600 KB utan märkbar visuell skillnad. Denna <strong>besparing på 2535 %</strong> kan flytta din LCP från "Behöver förbättras" till "Bra" och förbättra din sökrankning.',
128
+ html: '<strong>Largest Contentful Paint (LCP)</strong> är det Google-mått som mäter hur lång tid det tar att ladda det största visuella elementet på din sida. En header-JPG på 1,5 MB kan bli en WebP på bara 900 KB - eller till och med 600 KB - utan märkbar visuell skillnad. Denna <strong>besparing på 25-35 %</strong> kan flytta din LCP från "Behöver förbättras" till "Bra" och förbättra din sökrankning.',
139
129
  },
140
130
  {
141
131
  type: 'title',
@@ -160,7 +150,7 @@ const seo: JpgAWebpLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'Att konvertera dina JPG-filer till WebP är idag en av de enklaste och mest kostnadseffektiva optimeringarna du kan tillämpa på vilken webbplats som helst. Med detta verktyg gör du det på några sekunder, gratis, och utan att dina bilder någonsin lämnar din enhet. Färre kilobyte, bättre LCP, snabbare sidor allt med exakt samma visuella utseende som du redan hade.',
153
+ html: 'Att konvertera dina JPG-filer till WebP är idag en av de enklaste och mest kostnadseffektiva optimeringarna du kan tillämpa på vilken webbplats som helst. Med detta verktyg gör du det på några sekunder, gratis, och utan att dina bilder någonsin lämnar din enhet. Färre kilobyte, bättre LCP, snabbare sidor - allt med exakt samma visuella utseende som du redan hade.',
164
154
  },
165
155
  ];
166
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 { JpgAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: JpgAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: JpgAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google WebP Sıkıştırma Çalışması',
57
- url: 'https://developers.google.com/speed/webp/docs/webp_study',
58
- },
59
- {
60
- name: 'Web.dev: Görüntüleri modern formatlarda sunun',
61
- url: 'https://web.dev/uses-webp-images/',
62
- },
63
- ];
64
-
65
55
  const seo: JpgAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -70,7 +60,7 @@ const seo: JpgAWebpLocaleContent['seo'] = [
70
60
  },
71
61
  {
72
62
  type: 'paragraph',
73
- html: '<strong>JPG</strong> formatı onlarca yıldır dijital fotoğrafçılığa hakim oldu; evrensel olarak uyumlu ve yaygın olarak destekleniyor. Ancak Google, <strong>WebP</strong>\'yi JPG\'yi kendi oyununda yenmek için tasarladı: %2535 daha az dosya boyutunda aynı görsel kalite. Yavaş sayfa yüklemeleriyle mücadele eden geliştiriciler ve pazarlama ekipleri için JPG\'yi WebP\'ye dönüştürmek, tasarımınıza dokunmadan uygulayabileceğiniz en yüksek getirili optimizasyondur.',
63
+ html: '<strong>JPG</strong> formatı onlarca yıldır dijital fotoğrafçılığa hakim oldu; evrensel olarak uyumlu ve yaygın olarak destekleniyor. Ancak Google, <strong>WebP</strong>\'yi JPG\'yi kendi oyununda yenmek için tasarladı: %25-35 daha az dosya boyutunda aynı görsel kalite. Yavaş sayfa yüklemeleriyle mücadele eden geliştiriciler ve pazarlama ekipleri için JPG\'yi WebP\'ye dönüştürmek, tasarımınıza dokunmadan uygulayabileceğiniz en yüksek getirili optimizasyondur.',
74
64
  },
75
65
  {
76
66
  type: 'title',
@@ -111,8 +101,8 @@ const seo: JpgAWebpLocaleContent['seo'] = [
111
101
  icon: 'mdi:laptop-mac',
112
102
  highlight: true,
113
103
  points: [
114
- 'Anında hız sıfır ağ gecikmesi',
115
- 'Tam gizlilik harici olarak gönderilen 0 bayt',
104
+ 'Anında hız - sıfır ağ gecikmesi',
105
+ 'Tam gizlilik - harici olarak gönderilen 0 bayt',
116
106
  'MB sınırı veya dosya sayısı kısıtlaması yok',
117
107
  'Temiz arayüz, reklam veya izleme yok',
118
108
  ],
@@ -135,7 +125,7 @@ const seo: JpgAWebpLocaleContent['seo'] = [
135
125
  {
136
126
  type: 'tip',
137
127
  title: 'Core Web Vitals İpucu: LCP ve görüntü ağırlığı',
138
- html: '<strong>Largest Contentful Paint (LCP)</strong>, sayfanızdaki en büyük görsel öğenin yüklenmesinin ne kadar sürdüğünü ölçen Google metriğidir. 1,5 MB\'lık bir başlık JPG\'si, gözle görülür bir görsel fark olmadan sadece 900 KB hatta 600 KB bir WebP haline gelebilir. Bu <strong>%2535 tasarruf</strong>, LCP\'nizi "İyileştirme Gerekiyor" durumundan "İyi" durumuna taşıyabilir ve sizi arama sıralamalarında yukarı taşıyabilir.',
128
+ html: '<strong>Largest Contentful Paint (LCP)</strong>, sayfanızdaki en büyük görsel öğenin yüklenmesinin ne kadar sürdüğünü ölçen Google metriğidir. 1,5 MB\'lık bir başlık JPG\'si, gözle görülür bir görsel fark olmadan sadece 900 KB - hatta 600 KB - bir WebP haline gelebilir. Bu <strong>%25-35 tasarruf</strong>, LCP\'nizi "İyileştirme Gerekiyor" durumundan "İyi" durumuna taşıyabilir ve sizi arama sıralamalarında yukarı taşıyabilir.',
139
129
  },
140
130
  {
141
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 { JpgAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: JpgAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: JpgAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'Google WebP 压缩研究',
57
- url: 'https://developers.google.com/speed/webp/docs/webp_study',
58
- },
59
- {
60
- name: 'Web.dev: 使用现代格式提供图像',
61
- url: 'https://web.dev/uses-webp-images/',
62
- },
63
- ];
64
-
65
55
  const seo: JpgAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -70,7 +60,7 @@ const seo: JpgAWebpLocaleContent['seo'] = [
70
60
  },
71
61
  {
72
62
  type: 'paragraph',
73
- html: '<strong>JPG</strong> 格式在数字摄影领域占据统治地位已有数十年——兼容性极佳且获得广泛支持。但 Google 设计了 <strong>WebP</strong> 格式来在相同画质下挑战 JPG: 在相同视觉质量的前提下, 文件大小可减少 2535%。对于致力于解决网页加载缓慢问题的开发人员和营销团队来说, 将 JPG 转换为 WebP 是在不改变设计的前提下, 投资回报率最高的一项优化措施。',
63
+ html: '<strong>JPG</strong> 格式在数字摄影领域占据统治地位已有数十年-兼容性极佳且获得广泛支持。但 Google 设计了 <strong>WebP</strong> 格式来在相同画质下挑战 JPG: 在相同视觉质量的前提下, 文件大小可减少 25-35%。对于致力于解决网页加载缓慢问题的开发人员和营销团队来说, 将 JPG 转换为 WebP 是在不改变设计的前提下, 投资回报率最高的一项优化措施。',
74
64
  },
75
65
  {
76
66
  type: 'title',
@@ -79,7 +69,7 @@ const seo: JpgAWebpLocaleContent['seo'] = [
79
69
  },
80
70
  {
81
71
  type: 'paragraph',
82
- html: '当您需要极致的通用兼容性时, <strong>JPG</strong> 仍然是正确的选择: 例如发送给客户的电子邮件、Word 文档、旧版社交媒体平台或尚未接受 WebP 的 CMS 系统。它长达三十年的生态系统保证了任何屏幕、打印机或查看器都能无缝打开它。其主要缺点是体积——1.5 MB 的首屏 JPG 图片可能会降低页面的 LCP 评分, 从而无法达到 Core Web Vitals 的标准。',
72
+ html: '当您需要极致的通用兼容性时, <strong>JPG</strong> 仍然是正确的选择: 例如发送给客户的电子邮件、Word 文档、旧版社交媒体平台或尚未接受 WebP 的 CMS 系统。它长达三十年的生态系统保证了任何屏幕、打印机或查看器都能无缝打开它。其主要缺点是体积-1.5 MB 的首屏 JPG 图片可能会降低页面的 LCP 评分, 从而无法达到 Core Web Vitals 的标准。',
83
73
  },
84
74
  {
85
75
  type: 'paragraph',
@@ -111,8 +101,8 @@ const seo: JpgAWebpLocaleContent['seo'] = [
111
101
  icon: 'mdi:laptop-mac',
112
102
  highlight: true,
113
103
  points: [
114
- '即时处理——零网络延迟',
115
- '完全私密——数据向外发送量为 0 字节',
104
+ '即时处理-零网络延迟',
105
+ '完全私密-数据向外发送量为 0 字节',
116
106
  '没有 MB 限制或文件数量限制',
117
107
  '界面简洁, 无广告或追踪',
118
108
  ],
@@ -126,16 +116,16 @@ const seo: JpgAWebpLocaleContent['seo'] = [
126
116
  },
127
117
  {
128
118
  type: 'paragraph',
129
- html: '当您将 JPG 拖入工具时, 浏览器会创建一个仅存在于 RAM 中的 <strong>Blob 对象</strong>。该 Blob 会被解码并绘制到不可见的 <strong>HTML5 Canvas</strong> 元素中。由于 JPG 不含透明通道, 转换过程非常直接: 引擎通过调用 <code>toDataURL(\'image/webp\')</code> 导出画布, 生成一组由您的操作系统即时下载的字节流——整个过程完全不涉及服务器。',
119
+ html: '当您将 JPG 拖入工具时, 浏览器会创建一个仅存在于 RAM 中的 <strong>Blob 对象</strong>。该 Blob 会被解码并绘制到不可见的 <strong>HTML5 Canvas</strong> 元素中。由于 JPG 不含透明通道, 转换过程非常直接: 引擎通过调用 <code>toDataURL(\'image/webp\')</code> 导出画布, 生成一组由您的操作系统即时下载的字节流-整个过程完全不涉及服务器。',
130
120
  },
131
121
  {
132
122
  type: 'paragraph',
133
- html: 'WebP 压缩算法结合了块预测技术 (类似于 Google VP8 视频编解码器中的技术) 以及色彩转换和算术编码。其结果是生成的文件包含与原始 JPG 相同的视觉感知信息, 但封装效率要高得多——这意味着每次页面访问时传输的千字节更少。',
123
+ html: 'WebP 压缩算法结合了块预测技术 (类似于 Google VP8 视频编解码器中的技术) 以及色彩转换和算术编码。其结果是生成的文件包含与原始 JPG 相同的视觉感知信息, 但封装效率要高得多-这意味着每次页面访问时传输的千字节更少。',
134
124
  },
135
125
  {
136
126
  type: 'tip',
137
127
  title: 'Core Web Vitals 提示: LCP 与图像重量',
138
- html: '<strong>最大内容绘画 (LCP)</strong> 是 Google 衡量网页上最大视觉元素加载速度的指标。一个 1.5 MB 的首屏 JPG 可以在没有视觉差异的情况下转换成仅 900 KB (甚至 600 KB) 的 WebP。这 <strong>2535% 的空间节省</strong> 可以让您的 LCP 评分从“需要改进”变为“良好”, 并提升搜索排名。',
128
+ html: '<strong>最大内容绘画 (LCP)</strong> 是 Google 衡量网页上最大视觉元素加载速度的指标。一个 1.5 MB 的首屏 JPG 可以在没有视觉差异的情况下转换成仅 900 KB (甚至 600 KB) 的 WebP。这 <strong>25-35% 的空间节省</strong> 可以让您的 LCP 评分从\"需要改进\"变为\"良好\", 并提升搜索排名。',
139
129
  },
140
130
  {
141
131
  type: 'title',
@@ -160,7 +150,7 @@ const seo: JpgAWebpLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: '将您的 JPG 转换为 WebP 是当今任何网站能采用的最简单、最经济的优化措施之一。使用此工具, 您可以在几秒钟内免费完成, 且您的图像永远不会离开您的设备。更少的千字节, 更好的 LCP, 更快的网页——而这一切都建立在您已经拥有的完全相同的视觉效果之上。',
153
+ html: '将您的 JPG 转换为 WebP 是当今任何网站能采用的最简单、最经济的优化措施之一。使用此工具, 您可以在几秒钟内免费完成, 且您的图像永远不会离开您的设备。更少的千字节, 更好的 LCP, 更快的网页-而这一切都建立在您已经拥有的完全相同的视觉效果之上。',
164
154
  },
165
155
  ];
166
156
 
@@ -9,6 +9,7 @@ interface Props {
9
9
 
10
10
  const { locale = 'es' } = Astro.props;
11
11
  const content = await jpgAWebp.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,12 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ {
5
+ name: 'Microsoft ICO Format Technische Struktur',
6
+ url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
7
+ },
8
+ {
9
+ name: 'Favicon Standard - W3C',
10
+ url: 'https://www.w3.org/2005/10/howto-favicon',
11
+ },
12
+ ];
@@ -27,3 +27,5 @@ export const pngAIco: 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 { PngAIcoLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: PngAIcoLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAIcoLocaleContent['bibliography'] = [
55
- {
56
- name: 'Microsoft ICO Format Technische Struktur',
57
- url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
- },
59
- {
60
- name: 'Favicon Standard - W3C',
61
- url: 'https://www.w3.org/2005/10/howto-favicon',
62
- },
63
- ];
64
-
65
55
  const seo: PngAIcoLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -70,7 +60,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
70
60
  },
71
61
  {
72
62
  type: 'paragraph',
73
- html: '<strong>PNG mit Transparenz</strong> ist das ideale Ausgangsmaterial für die Erstellung professioneller ICO-Icons. Im Gegensatz zu JPG (das keinen Alpha-Kanal besitzt) oder verlustbehafteten Formaten bietet PNG genau das, was das ICO-Format benötigt: gestochen scharfe Pixel, saubere Kanten und einen 32-Bit-Alpha-Kanal, mit dem sich das Icon perfekt in jeden Hintergrund integrieren lässt egal ob in die weiße Lesezeichenleiste von Safari, die dunkle Leiste von Firefox oder den Desktop von Windows 11.',
63
+ html: '<strong>PNG mit Transparenz</strong> ist das ideale Ausgangsmaterial für die Erstellung professioneller ICO-Icons. Im Gegensatz zu JPG (das keinen Alpha-Kanal besitzt) oder verlustbehafteten Formaten bietet PNG genau das, was das ICO-Format benötigt: gestochen scharfe Pixel, saubere Kanten und einen 32-Bit-Alpha-Kanal, mit dem sich das Icon perfekt in jeden Hintergrund integrieren lässt - egal ob in die weiße Lesezeichenleiste von Safari, die dunkle Leiste von Firefox oder den Desktop von Windows 11.',
74
64
  },
75
65
  {
76
66
  type: 'title',
@@ -79,7 +69,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
79
69
  },
80
70
  {
81
71
  type: 'paragraph',
82
- html: '<strong>PNG</strong> ist das Arbeitsformat: Hier entwerfen Sie Ihr Logo, exportieren aus Figma oder Illustrator und speichern Ihre bearbeitbaren Versionen. Seine Transparenz, Pixelpräzision und verlustfreie Kompression machen es unschlagbar für den Designprozess. Aber Browser, Betriebssysteme und Windows-Anwendungen, die nach einem Favicon oder App-Icon suchen, akzeptieren PNG nicht direkt sie benötigen das ICO-Format.',
72
+ html: '<strong>PNG</strong> ist das Arbeitsformat: Hier entwerfen Sie Ihr Logo, exportieren aus Figma oder Illustrator und speichern Ihre bearbeitbaren Versionen. Seine Transparenz, Pixelpräzision und verlustfreie Kompression machen es unschlagbar für den Designprozess. Aber Browser, Betriebssysteme und Windows-Anwendungen, die nach einem Favicon oder App-Icon suchen, akzeptieren PNG nicht direkt - sie benötigen das ICO-Format.',
83
73
  },
84
74
  {
85
75
  type: 'paragraph',
@@ -111,8 +101,8 @@ const seo: PngAIcoLocaleContent['seo'] = [
111
101
  icon: 'mdi:laptop-mac',
112
102
  highlight: true,
113
103
  points: [
114
- 'Sofortige Geschwindigkeit keine Netzwerklatenz',
115
- 'Vollständige Privatsphäre 0 Byte werden extern gesendet',
104
+ 'Sofortige Geschwindigkeit - keine Netzwerklatenz',
105
+ 'Vollständige Privatsphäre - 0 Byte werden extern gesendet',
116
106
  'Keine Megabyte-Limits oder Dateianzahlbeschränkungen',
117
107
  'Saubere Benutzeroberfläche, keine Werbung oder Tracking',
118
108
  ],
@@ -130,12 +120,12 @@ const seo: PngAIcoLocaleContent['seo'] = [
130
120
  },
131
121
  {
132
122
  type: 'paragraph',
133
- html: 'Die Transparenz der PNG bleibt in der resultierenden ICO-Datei vollständig erhalten transparente Pixel bleiben transparent, halbtransparente Pixel behalten ihren exakten Alpha-Wert und opake Pixel behalten ihre ursprüngliche Farbe. Dies ist entscheidend für Logos auf variablen Hintergründen: Ihr Favicon wird im Light Mode, im Dark Mode und bei jeder Kombination von Browser-Farben korrekt aussehen.',
123
+ html: 'Die Transparenz der PNG bleibt in der resultierenden ICO-Datei vollständig erhalten - transparente Pixel bleiben transparent, halbtransparente Pixel behalten ihren exakten Alpha-Wert und opake Pixel behalten ihre ursprüngliche Farbe. Dies ist entscheidend für Logos auf variablen Hintergründen: Ihr Favicon wird im Light Mode, im Dark Mode und bei jeder Kombination von Browser-Farben korrekt aussehen.',
134
124
  },
135
125
  {
136
126
  type: 'tip',
137
127
  title: 'Tipp: Verwenden Sie eine 512×512 PNG als Quelle',
138
- html: 'Für das bestmögliche Ergebnis verwenden Sie ein <strong>quadratisches 512×512 PNG-Bild</strong> als Quelle. Diese Auflösung gibt dem Konverter genügend Informationen, um alle Standard-ICO-Größen scharf zu generieren vom 16×16 Favicon bis zum 256×256 Icon für hochauflösende Bildschirme ohne Pixelbildung oder Verlust von Kantendetails. Je größer die Quell-PNG, desto besser wirken die kleinen Icon-Größen.',
128
+ html: 'Für das bestmögliche Ergebnis verwenden Sie ein <strong>quadratisches 512×512 PNG-Bild</strong> als Quelle. Diese Auflösung gibt dem Konverter genügend Informationen, um alle Standard-ICO-Größen scharf zu generieren - vom 16×16 Favicon bis zum 256×256 Icon für hochauflösende Bildschirme - ohne Pixelbildung oder Verlust von Kantendetails. Je größer die Quell-PNG, desto besser wirken die kleinen Icon-Größen.',
139
129
  },
140
130
  {
141
131
  type: 'title',
@@ -160,7 +150,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'PNG mit Transparenz ist zweifellos der beste Ausgangspunkt für die Erstellung von ICO-Icons in Profiqualität. Mit diesem Tool erfolgt die Konvertierung sofort, Alpha-Kanäle bleiben vollständig erhalten und das Ergebnis ist eine echte ICO-Datei mit der korrekten binären Struktur. Kein Hochladen Ihres Logos auf einen Server, keine Wasserzeichen, keine Limits und perfekte Transparenz in allen Größen.',
153
+ html: 'PNG mit Transparenz ist zweifellos der beste Ausgangspunkt für die Erstellung von ICO-Icons in Profiqualität. Mit diesem Tool erfolgt die Konvertierung sofort, Alpha-Kanäle bleiben vollständig erhalten und das Ergebnis ist eine echte ICO-Datei mit der korrekten binären Struktur. Kein Hochladen Ihres Logos auf einen Server, keine Wasserzeichen, keine Limits - und perfekte Transparenz in allen Größen.',
164
154
  },
165
155
  ];
166
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 { PngAIcoLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: PngAIcoLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAIcoLocaleContent['bibliography'] = [
55
- {
56
- name: 'Microsoft ICO Format Technical Structure',
57
- url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
- },
59
- {
60
- name: 'Favicon Standard - W3C',
61
- url: 'https://www.w3.org/2005/10/howto-favicon',
62
- },
63
- ];
64
-
65
55
  const seo: PngAIcoLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -70,7 +60,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
70
60
  },
71
61
  {
72
62
  type: 'paragraph',
73
- html: '<strong>PNG with transparency</strong> is the ideal starting material for creating professional ICO icons. Unlike JPG (which has no alpha channel) or lossy formats, PNG gives you exactly what the ICO format needs: crisp pixels, clean edges, and a 32-bit alpha channel that lets the icon integrate perfectly over any background whether Safari\'s white bookmark bar, Firefox\'s dark bar, or the Windows 11 desktop.',
63
+ html: '<strong>PNG with transparency</strong> is the ideal starting material for creating professional ICO icons. Unlike JPG (which has no alpha channel) or lossy formats, PNG gives you exactly what the ICO format needs: crisp pixels, clean edges, and a 32-bit alpha channel that lets the icon integrate perfectly over any background - whether Safari\'s white bookmark bar, Firefox\'s dark bar, or the Windows 11 desktop.',
74
64
  },
75
65
  {
76
66
  type: 'title',
@@ -79,7 +69,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
79
69
  },
80
70
  {
81
71
  type: 'paragraph',
82
- html: '<strong>PNG</strong> is the working format: it\'s where you design your logo, export from Figma or Illustrator, and save your editable versions. Its transparency, pixel precision, and lossless compression make it unbeatable for the design process. But browsers, operating systems, and Windows applications looking for a favicon or app icon don\'t accept PNG directly they need ICO.',
72
+ html: '<strong>PNG</strong> is the working format: it\'s where you design your logo, export from Figma or Illustrator, and save your editable versions. Its transparency, pixel precision, and lossless compression make it unbeatable for the design process. But browsers, operating systems, and Windows applications looking for a favicon or app icon don\'t accept PNG directly - they need ICO.',
83
73
  },
84
74
  {
85
75
  type: 'paragraph',
@@ -111,8 +101,8 @@ const seo: PngAIcoLocaleContent['seo'] = [
111
101
  icon: 'mdi:laptop-mac',
112
102
  highlight: true,
113
103
  points: [
114
- 'Instant speed zero network latency',
115
- 'Complete privacy 0 bytes sent externally',
104
+ 'Instant speed - zero network latency',
105
+ 'Complete privacy - 0 bytes sent externally',
116
106
  'No MB limits or file count restrictions',
117
107
  'Clean interface, no ads or tracking',
118
108
  ],
@@ -130,12 +120,12 @@ const seo: PngAIcoLocaleContent['seo'] = [
130
120
  },
131
121
  {
132
122
  type: 'paragraph',
133
- html: 'The transparency of the PNG is fully preserved in the resulting ICO transparent pixels remain transparent, semi-transparent pixels retain their exact alpha value, and opaque pixels keep their original color. This is critical for logos on variable backgrounds: your favicon will look correct in light mode, dark mode, and any combination of browser interface colors.',
123
+ html: 'The transparency of the PNG is fully preserved in the resulting ICO - transparent pixels remain transparent, semi-transparent pixels retain their exact alpha value, and opaque pixels keep their original color. This is critical for logos on variable backgrounds: your favicon will look correct in light mode, dark mode, and any combination of browser interface colors.',
134
124
  },
135
125
  {
136
126
  type: 'tip',
137
127
  title: 'Tip: use a 512×512 PNG as your source',
138
- html: 'For the best possible result, use a <strong>512×512 square PNG</strong> as your source image. This resolution gives the converter enough information to generate all standard ICO sizes with sharpness from the 16×16 favicon up to the 256×256 for high-density screens without pixelation or edge detail loss. The larger the source PNG, the better the small icon sizes will look.',
128
+ html: 'For the best possible result, use a <strong>512×512 square PNG</strong> as your source image. This resolution gives the converter enough information to generate all standard ICO sizes with sharpness - from the 16×16 favicon up to the 256×256 for high-density screens - without pixelation or edge detail loss. The larger the source PNG, the better the small icon sizes will look.',
139
129
  },
140
130
  {
141
131
  type: 'title',
@@ -160,7 +150,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'PNG with transparency is undoubtedly the best starting point for creating professional-quality ICO icons. With this tool, the conversion is instant, alpha channels are fully preserved, and the resulting file is a genuine ICO with the correct binary structure. No uploading your logo to any server, no watermarks, no limits and perfect transparency at all sizes.',
153
+ html: 'PNG with transparency is undoubtedly the best starting point for creating professional-quality ICO icons. With this tool, the conversion is instant, alpha channels are fully preserved, and the resulting file is a genuine ICO with the correct binary structure. No uploading your logo to any server, no watermarks, no limits - and perfect transparency at all sizes.',
164
154
  },
165
155
  ];
166
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 { PngAIcoLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: PngAIcoLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAIcoLocaleContent['bibliography'] = [
55
- {
56
- name: 'Estructura Técnica del Microsoft ICO Format',
57
- url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
- },
59
- {
60
- name: 'Favicon Standard - W3C',
61
- url: 'https://www.w3.org/2005/10/howto-favicon',
62
- },
63
- ];
64
-
65
55
  const seo: PngAIcoLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -70,7 +60,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
70
60
  },
71
61
  {
72
62
  type: 'paragraph',
73
- html: 'El <strong>PNG con transparencia</strong> es el material de partida ideal para crear iconos ICO profesionales. A diferencia del JPG (que no tiene canal alfa) o de formatos con pérdida, el PNG te da exactamente lo que el formato ICO necesita: píxeles nítidos, bordes limpios y un canal alfa de 32 bits que permite que el icono se integre perfectamente sobre cualquier fondo ya sea la barra de favoritos blanca de Safari, la barra oscura de Firefox o el escritorio de Windows 11.',
63
+ html: 'El <strong>PNG con transparencia</strong> es el material de partida ideal para crear iconos ICO profesionales. A diferencia del JPG (que no tiene canal alfa) o de formatos con pérdida, el PNG te da exactamente lo que el formato ICO necesita: píxeles nítidos, bordes limpios y un canal alfa de 32 bits que permite que el icono se integre perfectamente sobre cualquier fondo - ya sea la barra de favoritos blanca de Safari, la barra oscura de Firefox o el escritorio de Windows 11.',
74
64
  },
75
65
  {
76
66
  type: 'title',
@@ -79,7 +69,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
79
69
  },
80
70
  {
81
71
  type: 'paragraph',
82
- html: 'El <strong>PNG</strong> es el formato de trabajo: es donde diseñas tu logo, exportas desde Figma o Illustrator y guardas las versiones editables. Sus transparencias, precisión de píxeles y compresión sin pérdida lo hacen insuperable para el proceso de diseño. Pero los navegadores, sistemas operativos y aplicaciones de Windows que buscan un favicon o un icono de aplicación no aceptan PNG directamente necesitan ICO.',
72
+ html: 'El <strong>PNG</strong> es el formato de trabajo: es donde diseñas tu logo, exportas desde Figma o Illustrator y guardas las versiones editables. Sus transparencias, precisión de píxeles y compresión sin pérdida lo hacen insuperable para el proceso de diseño. Pero los navegadores, sistemas operativos y aplicaciones de Windows que buscan un favicon o un icono de aplicación no aceptan PNG directamente - necesitan ICO.',
83
73
  },
84
74
  {
85
75
  type: 'paragraph',
@@ -111,8 +101,8 @@ const seo: PngAIcoLocaleContent['seo'] = [
111
101
  icon: 'mdi:laptop-mac',
112
102
  highlight: true,
113
103
  points: [
114
- 'Velocidad instantánea cero latencia de red',
115
- 'Privacidad total 0 bytes enviados al exterior',
104
+ 'Velocidad instantánea - cero latencia de red',
105
+ 'Privacidad total - 0 bytes enviados al exterior',
116
106
  'Sin límites de MB ni de número de archivos',
117
107
  'Interfaz limpia, sin anuncios ni rastreos',
118
108
  ],
@@ -130,12 +120,12 @@ const seo: PngAIcoLocaleContent['seo'] = [
130
120
  },
131
121
  {
132
122
  type: 'paragraph',
133
- html: 'La transparencia del PNG se preserva de forma completa en el ICO resultante los píxeles transparentes siguen siendo transparentes, los semitransparentes mantienen su valor alfa exacto und los opacos conservan su color original. Esto es crítico para logos sobre fondos variables: tu favicon se verá correctamente en modo claro, modo oscuro und cualquier combinación de colores de la interfaz del navegador.',
123
+ html: 'La transparencia del PNG se preserva de forma completa en el ICO resultante - los píxeles transparentes siguen siendo transparentes, los semitransparentes mantienen su valor alfa exacto und los opacos conservan su color original. Esto es crítico para logos sobre fondos variables: tu favicon se verá correctamente en modo claro, modo oscuro und cualquier combinación de colores de la interfaz del navegador.',
134
124
  },
135
125
  {
136
126
  type: 'tip',
137
127
  title: 'Consejo: usa un PNG de 512×512 como fuente',
138
- html: 'Para el mejor resultado posible, usa un <strong>PNG cuadrado de 512×512 píxeles</strong> como imagen de origen. Esta resolución da al convertidor suficiente información para generar con nitidez todos los tamaños ICO estándar desde el 16×16 del favicon hasta el 256×256 para pantallas de alta densidad sin pixelado ni pérdida de detalle en los bordes. Cuanto mayor sea el PNG de partida, mejores serán los iconos pequeños resultantes.',
128
+ html: 'Para el mejor resultado posible, usa un <strong>PNG cuadrado de 512×512 píxeles</strong> como imagen de origen. Esta resolución da al convertidor suficiente información para generar con nitidez todos los tamaños ICO estándar - desde el 16×16 del favicon hasta el 256×256 para pantallas de alta densidad - sin pixelado ni pérdida de detalle en los bordes. Cuanto mayor sea el PNG de partida, mejores serán los iconos pequeños resultantes.',
139
129
  },
140
130
  {
141
131
  type: 'title',
@@ -160,7 +150,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'El PNG con transparencia es, sin duda, el mejor punto de partida para crear iconos ICO de calidad profesional. Con esta herramienta, la conversión es instantánea, los canales alfa se preservan íntegramente und el archivo resultante es un ICO genuino con la estructura binaria correcta. Sin subir tu logo a ningún servidor, sin marcas de agua, sin límites und con transparencia perfecta en todos los tamaños.',
153
+ html: 'El PNG con transparencia es, sin duda, el mejor punto de partida para crear iconos ICO de calidad profesional. Con esta herramienta, la conversión es instantánea, los canales alfa se preservan íntegramente und el archivo resultante es un ICO genuino con la estructura binaria correcta. Sin subir tu logo a ningún servidor, sin marcas de agua, sin límites - und con transparencia perfecta en todos los tamaños.',
164
154
  },
165
155
  ];
166
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 { PngAIcoLocaleContent } from '../index';
@@ -51,26 +52,15 @@ const howTo: PngAIcoLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAIcoLocaleContent['bibliography'] = [
55
- {
56
- name: 'Structure Technique du Format Microsoft ICO',
57
- url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
- },
59
- {
60
- name: 'Standard Favicon - W3C',
61
- url: 'https://www.w3.org/2005/10/howto-favicon',
62
- },
63
- ];
64
-
65
55
  const seo: PngAIcoLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
68
- text: 'Convertisseur PNG vers ICO : La Meilleure Source pour des Favicons à Transparence Parfaite',
58
+ text: 'Convertisseur PNG vers ICO: La Meilleure Source pour des Favicons à Transparence Parfaite',
69
59
  level: 2,
70
60
  },
71
61
  {
72
62
  type: 'paragraph',
73
- html: 'Le <strong>PNG avec transparence</strong> est le matériau de départ idéal pour créer des icônes ICO professionnelles. Contrairement au JPG (qui n\'a pas de canal alpha) ou aux formats avec perte, le PNG vous offre exactement ce dont le format ICO a besoin : des pixels nets, des bords propres et un canal alpha 32 bits qui permet à l\'icône de s\'intégrer parfaitement sur n\'importe quel fond que ce soit la barre de favoris blanche de Safari, la barre sombre de Firefox ou le bureau Windows 11.',
63
+ html: 'Le <strong>PNG avec transparence</strong> est le matériau de départ idéal pour créer des icônes ICO professionnelles. Contrairement au JPG (qui n\'a pas de canal alpha) ou aux formats avec perte, le PNG vous offre exactement ce dont le format ICO a besoin: des pixels nets, des bords propres et un canal alpha 32 bits qui permet à l\'icône de s\'intégrer parfaitement sur n\'importe quel fond - que ce soit la barre de favoris blanche de Safari, la barre sombre de Firefox ou le bureau Windows 11.',
74
64
  },
75
65
  {
76
66
  type: 'title',
@@ -79,15 +69,15 @@ const seo: PngAIcoLocaleContent['seo'] = [
79
69
  },
80
70
  {
81
71
  type: 'paragraph',
82
- html: 'Le <strong>PNG</strong> est le format de travail : c\'est là que vous concevez votre logo, exportez depuis Figma ou Illustrator, et sauvegardez vos versions éditables. Sa transparence, sa précision de pixels et sa compression sans perte le rendent imbattable pour le processus de design. Mais les navigateurs, systèmes d\'exploitation et applications Windows cherchant un favicon ou une icône d\'application n\'acceptent pas directement le PNG ils ont besoin de l\'ICO.',
72
+ html: 'Le <strong>PNG</strong> est le format de travail: c\'est là que vous concevez votre logo, exportez depuis Figma ou Illustrator, et sauvegardez vos versions éditables. Sa transparence, sa précision de pixels et sa compression sans perte le rendent imbattable pour le processus de design. Mais les navigateurs, systèmes d\'exploitation et applications Windows cherchant un favicon ou une icône d\'application n\'acceptent pas directement le PNG - ils ont besoin de l\'ICO.',
83
73
  },
84
74
  {
85
75
  type: 'paragraph',
86
- html: 'L\'<strong>ICO</strong> est le format de distribution pour les icônes dans les environnements Microsoft und le web. Il contient une structure binaire spécifique permettant de regrouper plusieurs résolutions dans un seul fichier : le navigateur lit le répertoire interne du fichier ICO und sélectionne automatiquement <strong>16×16</strong> pour l\'onglet du navigateur, <strong>32×32</strong> pour les raccourcis, <strong>48×48</strong> pour l\'explorateur de fichiers und <strong>256×256</strong> pour les écrans Retina und 4K. Partir d\'un PNG transparent garantit que toutes ces résolutions auront des bords parfaits sans liseré blanc.',
76
+ html: 'L\'<strong>ICO</strong> est le format de distribution pour les icônes dans les environnements Microsoft und le web. Il contient une structure binaire spécifique permettant de regrouper plusieurs résolutions dans un seul fichier: le navigateur lit le répertoire interne du fichier ICO und sélectionne automatiquement <strong>16×16</strong> pour l\'onglet du navigateur, <strong>32×32</strong> pour les raccourcis, <strong>48×48</strong> pour l\'explorateur de fichiers und <strong>256×256</strong> pour les écrans Retina und 4K. Partir d\'un PNG transparent garantit que toutes ces résolutions auront des bords parfaits sans liseré blanc.',
87
77
  },
88
78
  {
89
79
  type: 'title',
90
- text: 'Comparatif : Conversion locale vs Cloud',
80
+ text: 'Comparatif: Conversion locale vs Cloud',
91
81
  level: 3,
92
82
  },
93
83
  {
@@ -111,8 +101,8 @@ const seo: PngAIcoLocaleContent['seo'] = [
111
101
  icon: 'mdi:laptop-mac',
112
102
  highlight: true,
113
103
  points: [
114
- 'Vitesse instantanée zéro latence réseau',
115
- 'Confidentialité totale 0 octet envoyé à l\'extérieur',
104
+ 'Vitesse instantanée - zéro latence réseau',
105
+ 'Confidentialité totale - 0 octet envoyé à l\'extérieur',
116
106
  'Aucune limite de taille ni de nombre de fichiers',
117
107
  'Interface épurée, sans publicités ni traçage',
118
108
  ],
@@ -130,12 +120,12 @@ const seo: PngAIcoLocaleContent['seo'] = [
130
120
  },
131
121
  {
132
122
  type: 'paragraph',
133
- html: 'La transparence du PNG est entièrement préservée dans l\'ICO résultant les pixels transparents restent transparents, les pixels semi-transparents conservent leur valeur alpha exacte und les pixels opaques gardent leur couleur d\'origine. C\'est crucial pour les logos sur des fonds variables : votre favicon s\'affichera correctement en mode clair, mode sombre und dans toute combinaison de couleurs de l\'interface du navigateur.',
123
+ html: 'La transparence du PNG est entièrement préservée dans l\'ICO résultant - les pixels transparents restent transparents, les pixels semi-transparents conservent leur valeur alpha exacte und les pixels opaques gardent leur couleur d\'origine. C\'est crucial pour les logos sur des fonds variables: votre favicon s\'affichera correctement en mode clair, mode sombre und dans toute combinaison de couleurs de l\'interface du navigateur.',
134
124
  },
135
125
  {
136
126
  type: 'tip',
137
- title: 'Conseil : utilisez un PNG de 512×512 comme source',
138
- html: 'Pour le meilleur résultat possible, utilisez un <strong>PNG carré de 512×512 pixels</strong> comme image source. Cette résolution donne au convertisseur suffisamment d\'informations pour générer toutes les tailles ICO standard avec netteté du favicon 16×16 jusqu\'au 256×256 pour les écrans haute densité sans pixelisation ni perte de détail sur les bords. Plus le PNG source est grand, meilleurs seront les petites icônes résultantes.',
127
+ title: 'Conseil: utilisez un PNG de 512×512 comme source',
128
+ html: 'Pour le meilleur résultat possible, utilisez un <strong>PNG carré de 512×512 pixels</strong> comme image source. Cette résolution donne au convertisseur suffisamment d\'informations pour générer toutes les tailles ICO standard avec netteté - du favicon 16×16 jusqu\'au 256×256 pour les écrans haute densité - sans pixelisation ni perte de détail sur les bords. Plus le PNG source est grand, meilleurs seront les petites icônes résultantes.',
139
129
  },
140
130
  {
141
131
  type: 'title',
@@ -146,8 +136,8 @@ const seo: PngAIcoLocaleContent['seo'] = [
146
136
  type: 'list',
147
137
  icon: 'mdi:check-circle',
148
138
  items: [
149
- 'Favicon transparent pour sites web : fonctionne dans Chrome, Firefox, Safari, Edge e Internet Explorer.',
150
- 'Icône d\'application PWA : le manifest.json référence l\'ICO pour l\'installation sur bureau.',
139
+ 'Favicon transparent pour sites web: fonctionne dans Chrome, Firefox, Safari, Edge e Internet Explorer.',
140
+ 'Icône d\'application PWA: le manifest.json référence l\'ICO pour l\'installation sur bureau.',
151
141
  'Personnalisation de dossiers Windows 10/11 avec logo d\'entreprise sans fond blanc.',
152
142
  'Icône de raccourci pour applications de bureau, installateurs und exécutables.',
153
143
  'Icône d\'extension navigateur pour les extensions Chrome und Firefox.',
@@ -160,7 +150,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'Le PNG avec transparence est sans conteste le meilleur point de départ pour créer des icônes ICO de qualité professionnelle. Avec cet outil, la conversion est instantanée, les canaux alpha sont entièrement préservés und le fichier résultant est un vrai ICO avec la structure binaire correcte. Sans envoyer votre logo sur aucun serveur, sans filigrane, sans limites und avec une transparence parfaite à toutes les tailles.',
153
+ html: 'Le PNG avec transparence est sans conteste le meilleur point de départ pour créer des icônes ICO de qualité professionnelle. Avec cet outil, la conversion est instantanée, les canaux alpha sont entièrement préservés und le fichier résultant est un vrai ICO avec la structure binaire correcte. Sans envoyer votre logo sur aucun serveur, sans filigrane, sans limites - und avec une transparence parfaite à toutes les tailles.',
164
154
  },
165
155
  ];
166
156