@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 { 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 Teknisk 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 med transparens</strong> är det ideala utgångsmaterialet för att skapa professionella ICO-ikoner. Till skillnad från JPG (som inte har någon alfakanal) eller format med dataförlust, ger PNG dig exakt vad ICO-formatet behöver: skarpa pixlar, rena kanter och en 32-bitars alfakanal som gör att ikonen kan integreras perfekt över vilken bakgrund som helst oavsett om det är Safaris vita bokmärkesfält, Firefox mörka fält eller Windows 11-skrivbordet.',
63
+ html: '<strong>PNG med transparens</strong> är det ideala utgångsmaterialet för att skapa professionella ICO-ikoner. Till skillnad från JPG (som inte har någon alfakanal) eller format med dataförlust, ger PNG dig exakt vad ICO-formatet behöver: skarpa pixlar, rena kanter och en 32-bitars alfakanal som gör att ikonen kan integreras perfekt över vilken bakgrund som helst - oavsett om det är Safaris vita bokmärkesfält, Firefox mörka fält eller Windows 11-skrivbordet.',
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> är arbetsformatet: det är där du designar din logotyp, exporterar från Figma eller Illustrator och sparar dina redigerbara versioner. Dess transparens, pixelprecision och förlustfria komprimering gör det oslagbart för designprocessen. Men webbläsare, operativsystem und Windows-applikationer som letar efter en favicon eller appikon accepterar inte PNG direkt de behöver ICO.',
72
+ html: '<strong>PNG</strong> är arbetsformatet: det är där du designar din logotyp, exporterar från Figma eller Illustrator och sparar dina redigerbara versioner. Dess transparens, pixelprecision och förlustfria komprimering gör det oslagbart för designprocessen. Men webbläsare, operativsystem und Windows-applikationer som letar efter en favicon eller appikon accepterar inte PNG direkt - de behöver 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
- '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
  ],
@@ -130,12 +120,12 @@ const seo: PngAIcoLocaleContent['seo'] = [
130
120
  },
131
121
  {
132
122
  type: 'paragraph',
133
- html: 'Transparensen i PNG-filen bevaras helt i den resulterande ICO-filen transparenta pixlar förblir transparenta, halvtransparenta pixlar behåller sitt exakta alfavärde und opaka pixlar behåller sin ursprungliga färg. Detta är avgörande för logotyper på varierande bakgrunder: din favicon kommer att se korrekt ut i ljust läge, mörkt läge und alla kombinationer av webbläsargränssnittets färger.',
123
+ html: 'Transparensen i PNG-filen bevaras helt i den resulterande ICO-filen - transparenta pixlar förblir transparenta, halvtransparenta pixlar behåller sitt exakta alfavärde und opaka pixlar behåller sin ursprungliga färg. Detta är avgörande för logotyper på varierande bakgrunder: din favicon kommer att se korrekt ut i ljust läge, mörkt läge und alla kombinationer av webbläsargränssnittets färger.',
134
124
  },
135
125
  {
136
126
  type: 'tip',
137
127
  title: 'Tips: använd en 512×512 PNG som källa',
138
- html: 'För bästa möjliga resultat, använd en <strong>kvadratisk 512×512 PNG</strong> som källbild. Denna upplösning ger konverteraren tillräckligt med information för att generera alla standard ICO-storlekar med skärpa från 16×16 favicon upp till 256×256 för högupplösta skärmar utan pixelering eller förlust av kantdetaljer. Ju större käll-PNG, desto bättre kommer de små ikonstorlekarna att se ut.',
128
+ html: 'För bästa möjliga resultat, använd en <strong>kvadratisk 512×512 PNG</strong> som källbild. Denna upplösning ger konverteraren tillräckligt med information för att generera alla standard ICO-storlekar med skärpa - från 16×16 favicon upp till 256×256 för högupplösta skärmar - utan pixelering eller förlust av kantdetaljer. Ju större käll-PNG, desto bättre kommer de små ikonstorlekarna att se ut.',
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 med transparens är utan tvekan den bästa utgångspunkten för att skapa ICO-ikoner av professionell kvalitet. Med detta verktyg sker konverteringen omedelbart, alfakanaler bevaras fullt ut und den resulterande filen är en äkta ICO met korrekt binär struktur. Ingen uppladdning av din logotyp till någon server, inga vattenstämplar, inga gränser und perfekt transparens i alla storlekar.',
153
+ html: 'PNG med transparens är utan tvekan den bästa utgångspunkten för att skapa ICO-ikoner av professionell kvalitet. Med detta verktyg sker konverteringen omedelbart, alfakanaler bevaras fullt ut und den resulterande filen är en äkta ICO met korrekt binär struktur. Ingen uppladdning av din logotyp till någon server, inga vattenstämplar, inga gränser - und perfekt transparens i alla storlekar.',
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ı Teknik Yapısı',
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>Şeffaf PNG</strong>, profesyonel ICO simgeleri oluşturmak için ideal başlangıç malzemesidir. JPG (alfa kanalı olmayan) veya kayıplı formatların aksine, PNG size tam olarak ICO formatının ihtiyaç duyduğu şeyi sunar: keskin pikseller, temiz kenarlar ve simgenin her türlü arka plan üzerinde mükemmel bir şekilde bütünleşmesini sağlayan 32 bitlik bir alfa kanalı ister Safari\'nin beyaz yer imi çubuğu, ister Firefox\'un koyu çubuğu veya Windows 11 masaüstü olsun.',
63
+ html: '<strong>Şeffaf PNG</strong>, profesyonel ICO simgeleri oluşturmak için ideal başlangıç malzemesidir. JPG (alfa kanalı olmayan) veya kayıplı formatların aksine, PNG size tam olarak ICO formatının ihtiyaç duyduğu şeyi sunar: keskin pikseller, temiz kenarlar ve simgenin her türlü arka plan üzerinde mükemmel bir şekilde bütünleşmesini sağlayan 32 bitlik bir alfa kanalı - ister Safari\'nin beyaz yer imi çubuğu, ister Firefox\'un koyu çubuğu veya Windows 11 masaüstü olsun.',
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> çalışma formatıdır: logonuzu tasarladığınız, Figma veya Illustrator\'dan dışa aktardığınız ve düzenlenebilir sürümlerinizi kaydettiğiniz yerdir. Şeffaflığı, piksel hassasiyeti ve kayıpsız sıkıştırması onu tasarım süreci için rakipsiz kılar. Ancak favicon veya uygulama simgesi arayan tarayıcılar, işletim sistemleri ve Windows uygulamaları PNG\'yi doğrudan kabul etmez ICO\'ya ihtiyaç duyarlar.',
72
+ html: '<strong>PNG</strong> çalışma formatıdır: logonuzu tasarladığınız, Figma veya Illustrator\'dan dışa aktardığınız ve düzenlenebilir sürümlerinizi kaydettiğiniz yerdir. Şeffaflığı, piksel hassasiyeti ve kayıpsız sıkıştırması onu tasarım süreci için rakipsiz kılar. Ancak favicon veya uygulama simgesi arayan tarayıcılar, işletim sistemleri ve Windows uygulamaları PNG\'yi doğrudan kabul etmez - ICO\'ya ihtiyaç duyarlar.',
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
- '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
  ],
@@ -130,7 +120,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
130
120
  },
131
121
  {
132
122
  type: 'paragraph',
133
- html: 'PNG\'nin şeffaflığı ortaya çıkan ICO\'da tamamen korunur şeffaf pikseller şeffaf kalır, yarı şeffaf pikseller tam alfa değerlerini korur und opak pikseller orijinal renklerini korur. Bu, değişken arka planlardaki logolar için kritik öneme sahiptir: favicon\'unuz açık modda, koyu modda und tarayıcı arayüz renklerinin any kombinasyonunda doğru görünecektir.',
123
+ html: 'PNG\'nin şeffaflığı ortaya çıkan ICO\'da tamamen korunur - şeffaf pikseller şeffaf kalır, yarı şeffaf pikseller tam alfa değerlerini korur und opak pikseller orijinal renklerini korur. Bu, değişken arka planlardaki logolar için kritik öneme sahiptir: favicon\'unuz açık modda, koyu modda und tarayıcı arayüz renklerinin any kombinasyonunda doğru görünecektir.',
134
124
  },
135
125
  {
136
126
  type: 'tip',
@@ -160,7 +150,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'Şeffaf PNG, hiç şüphesiz profesyonel kalitede ICO simgeleri oluşturmak için en iyi başlangıç noktasıdır. Bu araçla dönüştürme anlıktır, alfa kanalları tamamen korunur und elde edilen dosya doğru ikili yapıya sahip orijinal bir ICO\'dur. Logonuzun any sunucuya yüklenmesi yok, filigran yok, sınır yok und her boyutta mükemmel şeffaflık.',
153
+ html: 'Şeffaf PNG, hiç şüphesiz profesyonel kalitede ICO simgeleri oluşturmak için en iyi başlangıç noktasıdır. Bu araçla dönüştürme anlıktır, alfa kanalları tamamen korunur und elde edilen dosya doğru ikili yapıya sahip orijinal bir ICO\'dur. Logonuzun any sunucuya yüklenmesi yok, filigran yok, sınır yok - und her boyutta mükemmel şeffaflık.',
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 格式技术结构',
57
- url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
- },
59
- {
60
- name: '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',
@@ -70,7 +60,7 @@ const seo: PngAIcoLocaleContent['seo'] = [
70
60
  },
71
61
  {
72
62
  type: 'paragraph',
73
- html: '<strong>带透明度的 PNG</strong> 是制作专业 ICO 图标的理想原始素材。与不含 Alpha 通道的 JPG 或有损格式不同, PNG 能提供 ICO 格式所需的精准要素: 清晰的像素、干净的边缘以及 32 位 Alpha 通道。这使得图标能完美融入任何背景——无论是 Safari 的白色书签栏、Firefox 的深色栏, 还是 Windows 11 的桌面。',
63
+ html: '<strong>带透明度的 PNG</strong> 是制作专业 ICO 图标的理想原始素材。与不含 Alpha 通道的 JPG 或有损格式不同, PNG 能提供 ICO 格式所需的精准要素: 清晰的像素、干净的边缘以及 32 位 Alpha 通道。这使得图标能完美融入任何背景-无论是 Safari 的白色书签栏、Firefox 的深色栏, 还是 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> 是工作格式: 您可以在其中设计徽标、从 Figma 或 Illustrator 导出并保存可编辑版本。它的透明度、像素精确度和无损压缩特性使其在设计过程中无可替代。但浏览器、操作系统和 Windows 应用程序在寻找 Favicon 或应用图标时并不直接接受 PNG——它们需要 ICO。',
72
+ html: '<strong>PNG</strong> 是工作格式: 您可以在其中设计徽标、从 Figma 或 Illustrator 导出并保存可编辑版本。它的透明度、像素精确度和无损压缩特性使其在设计过程中无可替代。但浏览器、操作系统和 Windows 应用程序在寻找 Favicon 或应用图标时并不直接接受 PNG-它们需要 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
- '即时处理——零网络延迟',
115
- '完全私密——数据向外发送量为 0 字节',
104
+ '即时处理-零网络延迟',
105
+ '完全私密-数据向外发送量为 0 字节',
116
106
  '无 MB 限制或文件数量限制',
117
107
  '界面简洁, 无广告或追踪',
118
108
  ],
@@ -130,12 +120,12 @@ const seo: PngAIcoLocaleContent['seo'] = [
130
120
  },
131
121
  {
132
122
  type: 'paragraph',
133
- html: 'PNG 的透明度在生成的 ICO 中得到完整保留——透明像素保持透明, 半透明像素保留其精确的 Alpha 值, 而不透明像素保留其原始颜色。这对于在多变背景下展示徽标至关重要: 您的 Favicon 在浅色模式、深色模式以及浏览器界面的任何颜色组合下都能正确显示。',
123
+ html: 'PNG 的透明度在生成的 ICO 中得到完整保留-透明像素保持透明, 半透明像素保留其精确的 Alpha 值, 而不透明像素保留其原始颜色。这对于在多变背景下展示徽标至关重要: 您的 Favicon 在浅色模式、深色模式以及浏览器界面的任何颜色组合下都能正确显示。',
134
124
  },
135
125
  {
136
126
  type: 'tip',
137
127
  title: '提示: 使用 512×512 的 PNG 作为源文件',
138
- html: '为了获得最佳效果, 请使用 <strong>512×512 的正方形 PNG</strong> 作为源图像。此分辨率为转换器提供了足够的信息, 从而能够清晰地生成所有标准的 ICO 尺寸——从 16×16 的 Favicon 到 256×256 的高清屏幕图标——而不会出现像素化或边缘细节丢失。源 PNG 越大, 小尺寸图标的效果就越好。',
128
+ html: '为了获得最佳效果, 请使用 <strong>512×512 的正方形 PNG</strong> 作为源图像。此分辨率为转换器提供了足够的信息, 从而能够清晰地生成所有标准的 ICO 尺寸-从 16×16 的 Favicon 到 256×256 的高清屏幕图标-而不会出现像素化或边缘细节丢失。源 PNG 越大, 小尺寸图标的效果就越好。',
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 无疑是制作专业品质 ICO 图标的最佳起点。使用此工具, 转换是即时的, Alpha 通道得到完整保留, 生成的文件是具有正确二进制结构的真实 ICO。无需将徽标上传到任何服务器, 无水印, 无限制——并在所有尺寸下拥有完美的透明效果。',
153
+ html: '带透明度的 PNG 无疑是制作专业品质 ICO 图标的最佳起点。使用此工具, 转换是即时的, Alpha 通道得到完整保留, 生成的文件是具有正确二进制结构的真实 ICO。无需将徽标上传到任何服务器, 无水印, 无限制-并在所有尺寸下拥有完美的透明效果。',
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 pngAIco.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: 'PNG Consortium Spezifikationen',
6
+ url: 'http://www.libpng.org/pub/png/',
7
+ },
8
+ {
9
+ name: 'Das JPEG-Komitee',
10
+ url: 'https://jpeg.org/',
11
+ },
12
+ ];
@@ -27,3 +27,5 @@ export const pngAJpg: 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 { PngAJpgLocaleContent } from '../index';
@@ -56,17 +57,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
57
  },
57
58
  ];
58
59
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'PNG Consortium Spezifikationen',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'Das JPEG-Komitee',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  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 { PngAJpgLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'PNG Consortium Specifications',
57
- url: 'http://www.libpng.org/pub/png/',
58
- },
59
- {
60
- name: 'The JPEG committee',
61
- url: 'https://jpeg.org/',
62
- },
63
- ];
64
-
65
55
  const seo: PngAJpgLocaleContent['seo'] = [
66
56
  {
67
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 { PngAJpgLocaleContent } from '../index';
@@ -56,17 +57,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
57
  },
57
58
  ];
58
59
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'Especificaciones PNG Consortium',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'The JPEG committee',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  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 { PngAJpgLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'Spécifications du PNG Consortium',
57
- url: 'http://www.libpng.org/pub/png/',
58
- },
59
- {
60
- name: 'Le comité JPEG',
61
- url: 'https://jpeg.org/',
62
- },
63
- ];
64
-
65
55
  const seo: PngAJpgLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -70,7 +60,7 @@ const seo: PngAJpgLocaleContent['seo'] = [
70
60
  {
71
61
  type: 'paragraph',
72
62
  html:
73
- 'Le format PNG (Portable Network Graphics) est largement utilisé pour sa qualité sans perte et son support de la transparence (canal alpha). Cependant, cette fidélité a un coût : les fichiers PNG sont considérablement plus grands que leurs équivalents JPG, notamment pour les photographies ou les images avec des dégradés complexes.',
63
+ 'Le format PNG (Portable Network Graphics) est largement utilisé pour sa qualité sans perte et son support de la transparence (canal alpha). Cependant, cette fidélité a un coût: les fichiers PNG sont considérablement plus grands que leurs équivalents JPG, notamment pour les photographies ou les images avec des dégradés complexes.',
74
64
  },
75
65
  {
76
66
  type: 'paragraph',
@@ -95,7 +85,7 @@ const seo: PngAJpgLocaleContent['seo'] = [
95
85
  {
96
86
  type: 'paragraph',
97
87
  html:
98
- 'Les cas d\'utilisation typiques pour la conversion PNG vers JPG comprennent : préparer des images pour l\'e-mail, optimiser les photos de produits pour les boutiques en ligne, réduire le poids des captures d\'écran avant de les partager, et compresser les images pour un chargement plus rapide des pages web.',
88
+ 'Les cas d\'utilisation typiques pour la conversion PNG vers JPG comprennent: préparer des images pour l\'e-mail, optimiser les photos de produits pour les boutiques en ligne, réduire le poids des captures d\'écran avant de les partager, et compresser les images pour un chargement plus rapide des pages web.',
99
89
  },
100
90
  {
101
91
  type: 'paragraph',
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
3
  import { generateSchemas } from '../../../shared/logic/schemas';
3
4
  import type { PngAJpgLocaleContent } from '../index';
@@ -56,17 +57,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
57
  },
57
58
  ];
58
59
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'Spesifikasi PNG Consortium',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'Komite JPEG',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  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 { PngAJpgLocaleContent } from '../index';
@@ -56,17 +57,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
57
  },
57
58
  ];
58
59
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'Specifiche PNG Consortium',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'Il comitato JPEG',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  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 { PngAJpgLocaleContent } from '../index';
@@ -56,17 +57,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
57
  },
57
58
  ];
58
59
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'PNGコンソーシアム仕様書',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'JPEG委員会',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  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 { PngAJpgLocaleContent } from '../index';
@@ -56,17 +57,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
57
  },
57
58
  ];
58
59
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'PNG 컨소시엄 사양',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'JPEG 위원회',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  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 { PngAJpgLocaleContent } from '../index';
@@ -56,17 +57,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
57
  },
57
58
  ];
58
59
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'PNG Consortium Specificaties',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'Het JPEG-comité',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  type: 'title',
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
3
  import { generateSchemas } from '../../../shared/logic/schemas';
3
4
  import type { PngAJpgLocaleContent } from '../index';
@@ -37,7 +38,7 @@ const faq: PngAJpgLocaleContent['faq'] = [
37
38
  {
38
39
  question: 'Czy jest to bezpieczne dla dokumentów poufnych?',
39
40
  answer:
40
- 'Tak, to najbezpieczniejsza opcja dla profesjonalistów z branży bankowej, służby zdrowia czy prawa. Będąc czarną skrzynką”, która używa tylko Twojej pamięci RAM, to, co dzieje się wewnątrz, znika wraz z zamknięciem karty, co zapobiega wyciekom w chmurach zewnętrznych.',
41
+ 'Tak, to najbezpieczniejsza opcja dla profesjonalistów z branży bankowej, służby zdrowia czy prawa. Będąc \"czarną skrzynką\", która używa tylko Twojej pamięci RAM, to, co dzieje się wewnątrz, znika wraz z zamknięciem karty, co zapobiega wyciekom w chmurach zewnętrznych.',
41
42
  },
42
43
  ];
43
44
 
@@ -48,22 +49,11 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
48
49
  },
49
50
  {
50
51
  name: 'Błyskawiczne przetwarzanie',
51
- text: 'Sprawdź, czy status zmieni się na Gotowe dla każdego pliku, podczas gdy przeglądarka optymalizuje wagę lokalnie.',
52
+ text: 'Sprawdź, czy status zmieni się na \"Gotowe\" dla każdego pliku, podczas gdy przeglądarka optymalizuje wagę lokalnie.',
52
53
  },
53
54
  {
54
55
  name: 'Zoptymalizowane pobieranie',
55
- text: 'Zapisz swoje nowe pliki JPG jeden po drugim lub użyj przycisku Pobierz wszystko”, aby uzyskać skompresowany plik ZIP ze wszystkimi obrazami.',
56
- },
57
- ];
58
-
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'Specyfikacje PNG Consortium',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'Komitet JPEG',
66
- url: 'https://jpeg.org/',
56
+ text: 'Zapisz swoje nowe pliki JPG jeden po drugim lub użyj przycisku \"Pobierz wszystko\", aby uzyskać skompresowany plik ZIP ze wszystkimi obrazami.',
67
57
  },
68
58
  ];
69
59
 
@@ -75,7 +65,7 @@ const seo: PngAJpgLocaleContent['seo'] = [
75
65
  },
76
66
  {
77
67
  type: 'paragraph',
78
- html: 'W świecie cyfrowego projektowania i tworzenia stron internetowych wydajność jest wszystkim. Format PNG (Portable Network Graphics) jest ceniony za zdolność zachowania przezroczystości i kompresję bezstratną, ale ma jednego wielkiego wroga: wagę pliku. Gdy chcesz, aby Twoja strona internetowa latała lub Twoje e-maile ładowały się błyskawicznie, przejście z PNG na JPG jest najmądrzejszą decyzją techniczną.',
68
+ html: 'W świecie cyfrowego projektowania i tworzenia stron internetowych wydajność jest wszystkim. Format PNG (Portable Network Graphics) jest ceniony za zdolność zachowania przezroczystości i kompresję bezstratną, ale ma jednego wielkiego wroga: wagę pliku. Gdy chcesz, aby Twoja strona internetowa \"latała\" lub Twoje e-maile ładowały się błyskawicznie, przejście z PNG na JPG jest najmądrzejszą decyzją techniczną.',
79
69
  },
80
70
  {
81
71
  type: 'title',
@@ -135,7 +125,7 @@ const seo: PngAJpgLocaleContent['seo'] = [
135
125
  },
136
126
  {
137
127
  type: 'paragraph',
138
- html: 'Ponieważ JPG nie obsługuje przezroczystości, nasz algorytm wypełnia tło jednolitym białym kolorem przed namalowaniem na nim obrazu PNG. Po skomponowaniu obrazu uruchamiamy natywną metodę eksportu, generując strumień bajtów, który Twój komputer pobiera bezpośrednio.',
128
+ html: 'Ponieważ JPG nie obsługuje przezroczystości, nasz algorytm wypełnia tło jednolitym białym kolorem przed \"namalowaniem\" na nim obrazu PNG. Po skomponowaniu obrazu uruchamiamy natywną metodę eksportu, generując strumień bajtów, który Twój komputer pobiera bezpośrednio.',
139
129
  },
140
130
  {
141
131
  type: 'tip',
@@ -149,7 +139,7 @@ const seo: PngAJpgLocaleContent['seo'] = [
149
139
  },
150
140
  {
151
141
  type: 'paragraph',
152
- html: 'Jeśli pracujesz w sektorach wrażliwych, takich jak bankowość, służba zdrowia czy prawo, przesyłanie plików do konwerterów online jest naruszeniem bezpieczeństwa. Nasze narzędzie działa jak czarna skrzynka”: to, co dzieje się wewnątrz, pozostaje w Twojej pamięci RAM. To jedyny bezpieczny sposób pracy z poufnymi dokumentami.',
142
+ html: 'Jeśli pracujesz w sektorach wrażliwych, takich jak bankowość, służba zdrowia czy prawo, przesyłanie plików do konwerterów online jest naruszeniem bezpieczeństwa. Nasze narzędzie działa jak \"czarna skrzynka\": to, co dzieje się wewnątrz, pozostaje w Twojej pamięci RAM. To jedyny bezpieczny sposób pracy z poufnymi dokumentami.',
153
143
  },
154
144
  {
155
145
  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 { PngAJpgLocaleContent } from '../index';
@@ -56,17 +57,6 @@ const howTo: PngAJpgLocaleContent['howTo'] = [
56
57
  },
57
58
  ];
58
59
 
59
- const bibliography: PngAJpgLocaleContent['bibliography'] = [
60
- {
61
- name: 'Especificações PNG Consortium',
62
- url: 'http://www.libpng.org/pub/png/',
63
- },
64
- {
65
- name: 'O comité JPEG',
66
- url: 'https://jpeg.org/',
67
- },
68
- ];
69
-
70
60
  const seo: PngAJpgLocaleContent['seo'] = [
71
61
  {
72
62
  type: 'title',