@jjlmoya/utils-converters 1.16.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/package.json +5 -3
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/fr.ts +9 -9
  4. package/src/category/i18n/ru.ts +1 -1
  5. package/src/category/i18n/sv.ts +1 -1
  6. package/src/data.ts +0 -21
  7. package/src/layouts/PreviewLayout.astro +2 -1
  8. package/src/pages/[locale]/[slug].astro +28 -12
  9. package/src/tests/diacritics_density.test.ts +118 -0
  10. package/src/tests/inverted_punctuation.test.ts +84 -0
  11. package/src/tests/no_en_dash.test.ts +70 -0
  12. package/src/tests/pagespeed_best_practices.test.ts +198 -0
  13. package/src/tests/script_density.test.ts +94 -0
  14. package/src/tests/seo_parity.test.ts +60 -0
  15. package/src/tests/shared-test-helpers.ts +56 -0
  16. package/src/tests/tool_exports.test.ts +34 -0
  17. package/src/tool/avifAJpg/bibliography.ts +12 -0
  18. package/src/tool/avifAJpg/entry.ts +2 -0
  19. package/src/tool/avifAJpg/i18n/de.ts +2 -12
  20. package/src/tool/avifAJpg/i18n/en.ts +2 -12
  21. package/src/tool/avifAJpg/i18n/es.ts +2 -12
  22. package/src/tool/avifAJpg/i18n/fr.ts +11 -21
  23. package/src/tool/avifAJpg/i18n/id.ts +2 -12
  24. package/src/tool/avifAJpg/i18n/it.ts +2 -12
  25. package/src/tool/avifAJpg/i18n/ja.ts +1 -11
  26. package/src/tool/avifAJpg/i18n/ko.ts +1 -11
  27. package/src/tool/avifAJpg/i18n/nl.ts +2 -12
  28. package/src/tool/avifAJpg/i18n/pl.ts +2 -12
  29. package/src/tool/avifAJpg/i18n/pt.ts +2 -12
  30. package/src/tool/avifAJpg/i18n/ru.ts +7 -17
  31. package/src/tool/avifAJpg/i18n/sv.ts +2 -12
  32. package/src/tool/avifAJpg/i18n/tr.ts +1 -11
  33. package/src/tool/avifAJpg/i18n/zh.ts +4 -14
  34. package/src/tool/avifAJpg/seo.astro +2 -1
  35. package/src/tool/avifAPng/bibliography.ts +12 -0
  36. package/src/tool/avifAPng/entry.ts +2 -0
  37. package/src/tool/avifAPng/i18n/de.ts +4 -14
  38. package/src/tool/avifAPng/i18n/en.ts +4 -14
  39. package/src/tool/avifAPng/i18n/es.ts +4 -14
  40. package/src/tool/avifAPng/i18n/fr.ts +10 -20
  41. package/src/tool/avifAPng/i18n/id.ts +4 -14
  42. package/src/tool/avifAPng/i18n/it.ts +1 -11
  43. package/src/tool/avifAPng/i18n/ja.ts +1 -11
  44. package/src/tool/avifAPng/i18n/ko.ts +1 -11
  45. package/src/tool/avifAPng/i18n/nl.ts +4 -14
  46. package/src/tool/avifAPng/i18n/pl.ts +4 -14
  47. package/src/tool/avifAPng/i18n/pt.ts +4 -14
  48. package/src/tool/avifAPng/i18n/ru.ts +5 -15
  49. package/src/tool/avifAPng/i18n/sv.ts +4 -14
  50. package/src/tool/avifAPng/i18n/tr.ts +1 -11
  51. package/src/tool/avifAPng/i18n/zh.ts +3 -13
  52. package/src/tool/avifAPng/seo.astro +2 -1
  53. package/src/tool/avifAWebp/bibliography.ts +12 -0
  54. package/src/tool/avifAWebp/entry.ts +2 -0
  55. package/src/tool/avifAWebp/i18n/de.ts +6 -16
  56. package/src/tool/avifAWebp/i18n/en.ts +6 -16
  57. package/src/tool/avifAWebp/i18n/es.ts +6 -16
  58. package/src/tool/avifAWebp/i18n/fr.ts +13 -23
  59. package/src/tool/avifAWebp/i18n/id.ts +6 -16
  60. package/src/tool/avifAWebp/i18n/it.ts +1 -11
  61. package/src/tool/avifAWebp/i18n/ja.ts +1 -11
  62. package/src/tool/avifAWebp/i18n/ko.ts +2 -12
  63. package/src/tool/avifAWebp/i18n/nl.ts +6 -16
  64. package/src/tool/avifAWebp/i18n/pl.ts +6 -16
  65. package/src/tool/avifAWebp/i18n/pt.ts +6 -16
  66. package/src/tool/avifAWebp/i18n/ru.ts +7 -17
  67. package/src/tool/avifAWebp/i18n/sv.ts +6 -16
  68. package/src/tool/avifAWebp/i18n/tr.ts +2 -12
  69. package/src/tool/avifAWebp/i18n/zh.ts +6 -16
  70. package/src/tool/avifAWebp/seo.astro +2 -1
  71. package/src/tool/bmpAJpg/bibliography.ts +12 -0
  72. package/src/tool/bmpAJpg/entry.ts +2 -0
  73. package/src/tool/bmpAJpg/i18n/de.ts +1 -11
  74. package/src/tool/bmpAJpg/i18n/en.ts +1 -11
  75. package/src/tool/bmpAJpg/i18n/es.ts +1 -11
  76. package/src/tool/bmpAJpg/i18n/fr.ts +9 -19
  77. package/src/tool/bmpAJpg/i18n/id.ts +1 -11
  78. package/src/tool/bmpAJpg/i18n/it.ts +1 -11
  79. package/src/tool/bmpAJpg/i18n/ja.ts +1 -11
  80. package/src/tool/bmpAJpg/i18n/ko.ts +1 -11
  81. package/src/tool/bmpAJpg/i18n/nl.ts +1 -11
  82. package/src/tool/bmpAJpg/i18n/pl.ts +1 -11
  83. package/src/tool/bmpAJpg/i18n/pt.ts +1 -11
  84. package/src/tool/bmpAJpg/i18n/ru.ts +5 -15
  85. package/src/tool/bmpAJpg/i18n/sv.ts +1 -11
  86. package/src/tool/bmpAJpg/i18n/tr.ts +1 -11
  87. package/src/tool/bmpAJpg/i18n/zh.ts +1 -11
  88. package/src/tool/bmpAJpg/seo.astro +2 -1
  89. package/src/tool/bmpAPng/bibliography.ts +12 -0
  90. package/src/tool/bmpAPng/entry.ts +2 -0
  91. package/src/tool/bmpAPng/i18n/de.ts +2 -12
  92. package/src/tool/bmpAPng/i18n/en.ts +3 -13
  93. package/src/tool/bmpAPng/i18n/es.ts +2 -12
  94. package/src/tool/bmpAPng/i18n/fr.ts +12 -22
  95. package/src/tool/bmpAPng/i18n/id.ts +2 -12
  96. package/src/tool/bmpAPng/i18n/it.ts +2 -12
  97. package/src/tool/bmpAPng/i18n/ja.ts +1 -11
  98. package/src/tool/bmpAPng/i18n/ko.ts +1 -11
  99. package/src/tool/bmpAPng/i18n/nl.ts +2 -12
  100. package/src/tool/bmpAPng/i18n/pl.ts +2 -12
  101. package/src/tool/bmpAPng/i18n/pt.ts +2 -12
  102. package/src/tool/bmpAPng/i18n/ru.ts +9 -19
  103. package/src/tool/bmpAPng/i18n/sv.ts +2 -12
  104. package/src/tool/bmpAPng/i18n/tr.ts +1 -11
  105. package/src/tool/bmpAPng/i18n/zh.ts +1 -11
  106. package/src/tool/bmpAPng/seo.astro +2 -1
  107. package/src/tool/bmpAWebp/bibliography.ts +12 -0
  108. package/src/tool/bmpAWebp/entry.ts +2 -0
  109. package/src/tool/bmpAWebp/i18n/de.ts +8 -18
  110. package/src/tool/bmpAWebp/i18n/en.ts +8 -18
  111. package/src/tool/bmpAWebp/i18n/es.ts +8 -18
  112. package/src/tool/bmpAWebp/i18n/fr.ts +13 -23
  113. package/src/tool/bmpAWebp/i18n/id.ts +8 -18
  114. package/src/tool/bmpAWebp/i18n/it.ts +8 -18
  115. package/src/tool/bmpAWebp/i18n/ja.ts +7 -17
  116. package/src/tool/bmpAWebp/i18n/ko.ts +7 -17
  117. package/src/tool/bmpAWebp/i18n/nl.ts +8 -18
  118. package/src/tool/bmpAWebp/i18n/pl.ts +8 -18
  119. package/src/tool/bmpAWebp/i18n/pt.ts +8 -18
  120. package/src/tool/bmpAWebp/i18n/ru.ts +10 -20
  121. package/src/tool/bmpAWebp/i18n/sv.ts +8 -18
  122. package/src/tool/bmpAWebp/i18n/tr.ts +8 -18
  123. package/src/tool/bmpAWebp/i18n/zh.ts +8 -18
  124. package/src/tool/bmpAWebp/seo.astro +2 -1
  125. package/src/tool/gifAJpg/bibliography.ts +12 -0
  126. package/src/tool/gifAJpg/entry.ts +2 -0
  127. package/src/tool/gifAJpg/i18n/de.ts +1 -11
  128. package/src/tool/gifAJpg/i18n/en.ts +1 -11
  129. package/src/tool/gifAJpg/i18n/es.ts +1 -11
  130. package/src/tool/gifAJpg/i18n/fr.ts +9 -19
  131. package/src/tool/gifAJpg/i18n/id.ts +1 -11
  132. package/src/tool/gifAJpg/i18n/it.ts +1 -11
  133. package/src/tool/gifAJpg/i18n/ja.ts +1 -11
  134. package/src/tool/gifAJpg/i18n/ko.ts +1 -11
  135. package/src/tool/gifAJpg/i18n/nl.ts +1 -11
  136. package/src/tool/gifAJpg/i18n/pl.ts +1 -11
  137. package/src/tool/gifAJpg/i18n/pt.ts +1 -11
  138. package/src/tool/gifAJpg/i18n/ru.ts +2 -12
  139. package/src/tool/gifAJpg/i18n/sv.ts +1 -11
  140. package/src/tool/gifAJpg/i18n/tr.ts +1 -11
  141. package/src/tool/gifAJpg/i18n/zh.ts +1 -11
  142. package/src/tool/gifAJpg/seo.astro +2 -1
  143. package/src/tool/gifAPng/bibliography.ts +12 -0
  144. package/src/tool/gifAPng/entry.ts +2 -0
  145. package/src/tool/gifAPng/i18n/de.ts +2 -12
  146. package/src/tool/gifAPng/i18n/en.ts +3 -13
  147. package/src/tool/gifAPng/i18n/es.ts +2 -12
  148. package/src/tool/gifAPng/i18n/fr.ts +11 -21
  149. package/src/tool/gifAPng/i18n/id.ts +2 -12
  150. package/src/tool/gifAPng/i18n/it.ts +2 -12
  151. package/src/tool/gifAPng/i18n/ja.ts +1 -11
  152. package/src/tool/gifAPng/i18n/ko.ts +1 -11
  153. package/src/tool/gifAPng/i18n/nl.ts +2 -12
  154. package/src/tool/gifAPng/i18n/pl.ts +3 -13
  155. package/src/tool/gifAPng/i18n/pt.ts +2 -12
  156. package/src/tool/gifAPng/i18n/ru.ts +3 -13
  157. package/src/tool/gifAPng/i18n/sv.ts +3 -13
  158. package/src/tool/gifAPng/i18n/tr.ts +1 -11
  159. package/src/tool/gifAPng/i18n/zh.ts +2 -12
  160. package/src/tool/gifAPng/seo.astro +2 -1
  161. package/src/tool/gifAWebp/bibliography.ts +12 -0
  162. package/src/tool/gifAWebp/entry.ts +2 -0
  163. package/src/tool/gifAWebp/i18n/de.ts +3 -13
  164. package/src/tool/gifAWebp/i18n/en.ts +3 -13
  165. package/src/tool/gifAWebp/i18n/es.ts +1 -11
  166. package/src/tool/gifAWebp/i18n/fr.ts +11 -21
  167. package/src/tool/gifAWebp/i18n/id.ts +3 -13
  168. package/src/tool/gifAWebp/i18n/it.ts +1 -11
  169. package/src/tool/gifAWebp/i18n/ja.ts +1 -11
  170. package/src/tool/gifAWebp/i18n/ko.ts +1 -11
  171. package/src/tool/gifAWebp/i18n/nl.ts +3 -13
  172. package/src/tool/gifAWebp/i18n/pl.ts +3 -13
  173. package/src/tool/gifAWebp/i18n/pt.ts +3 -13
  174. package/src/tool/gifAWebp/i18n/ru.ts +7 -17
  175. package/src/tool/gifAWebp/i18n/sv.ts +3 -13
  176. package/src/tool/gifAWebp/i18n/tr.ts +1 -11
  177. package/src/tool/gifAWebp/i18n/zh.ts +4 -14
  178. package/src/tool/gifAWebp/seo.astro +2 -1
  179. package/src/tool/imagenBase64/bibliography.ts +12 -0
  180. package/src/tool/imagenBase64/entry.ts +2 -0
  181. package/src/tool/imagenBase64/i18n/de.ts +7 -17
  182. package/src/tool/imagenBase64/i18n/en.ts +7 -17
  183. package/src/tool/imagenBase64/i18n/es.ts +7 -17
  184. package/src/tool/imagenBase64/i18n/fr.ts +17 -27
  185. package/src/tool/imagenBase64/i18n/id.ts +7 -17
  186. package/src/tool/imagenBase64/i18n/it.ts +6 -16
  187. package/src/tool/imagenBase64/i18n/ja.ts +1 -11
  188. package/src/tool/imagenBase64/i18n/ko.ts +1 -11
  189. package/src/tool/imagenBase64/i18n/nl.ts +7 -17
  190. package/src/tool/imagenBase64/i18n/pl.ts +7 -17
  191. package/src/tool/imagenBase64/i18n/pt.ts +7 -17
  192. package/src/tool/imagenBase64/i18n/ru.ts +9 -19
  193. package/src/tool/imagenBase64/i18n/sv.ts +7 -17
  194. package/src/tool/imagenBase64/i18n/tr.ts +2 -12
  195. package/src/tool/imagenBase64/i18n/zh.ts +7 -17
  196. package/src/tool/imagenBase64/seo.astro +2 -1
  197. package/src/tool/jpgAIco/bibliography.ts +12 -0
  198. package/src/tool/jpgAIco/entry.ts +2 -0
  199. package/src/tool/jpgAIco/i18n/de.ts +9 -19
  200. package/src/tool/jpgAIco/i18n/en.ts +9 -19
  201. package/src/tool/jpgAIco/i18n/es.ts +7 -17
  202. package/src/tool/jpgAIco/i18n/fr.ts +13 -23
  203. package/src/tool/jpgAIco/i18n/id.ts +9 -19
  204. package/src/tool/jpgAIco/i18n/it.ts +3 -13
  205. package/src/tool/jpgAIco/i18n/ja.ts +2 -12
  206. package/src/tool/jpgAIco/i18n/ko.ts +2 -12
  207. package/src/tool/jpgAIco/i18n/nl.ts +9 -19
  208. package/src/tool/jpgAIco/i18n/pl.ts +9 -19
  209. package/src/tool/jpgAIco/i18n/pt.ts +9 -19
  210. package/src/tool/jpgAIco/i18n/ru.ts +11 -21
  211. package/src/tool/jpgAIco/i18n/sv.ts +9 -19
  212. package/src/tool/jpgAIco/i18n/tr.ts +3 -13
  213. package/src/tool/jpgAIco/i18n/zh.ts +9 -19
  214. package/src/tool/jpgAIco/seo.astro +2 -1
  215. package/src/tool/jpgAPng/bibliography.ts +12 -0
  216. package/src/tool/jpgAPng/entry.ts +2 -0
  217. package/src/tool/jpgAPng/i18n/de.ts +7 -17
  218. package/src/tool/jpgAPng/i18n/en.ts +9 -19
  219. package/src/tool/jpgAPng/i18n/es.ts +7 -17
  220. package/src/tool/jpgAPng/i18n/fr.ts +13 -23
  221. package/src/tool/jpgAPng/i18n/id.ts +7 -17
  222. package/src/tool/jpgAPng/i18n/it.ts +5 -15
  223. package/src/tool/jpgAPng/i18n/ja.ts +3 -13
  224. package/src/tool/jpgAPng/i18n/ko.ts +3 -13
  225. package/src/tool/jpgAPng/i18n/nl.ts +7 -17
  226. package/src/tool/jpgAPng/i18n/pl.ts +7 -17
  227. package/src/tool/jpgAPng/i18n/pt.ts +7 -17
  228. package/src/tool/jpgAPng/i18n/ru.ts +10 -20
  229. package/src/tool/jpgAPng/i18n/sv.ts +7 -17
  230. package/src/tool/jpgAPng/i18n/tr.ts +6 -16
  231. package/src/tool/jpgAPng/i18n/zh.ts +8 -18
  232. package/src/tool/jpgAPng/seo.astro +2 -1
  233. package/src/tool/jpgAWebp/bibliography.ts +12 -0
  234. package/src/tool/jpgAWebp/entry.ts +2 -0
  235. package/src/tool/jpgAWebp/i18n/de.ts +10 -20
  236. package/src/tool/jpgAWebp/i18n/en.ts +10 -20
  237. package/src/tool/jpgAWebp/i18n/es.ts +4 -14
  238. package/src/tool/jpgAWebp/i18n/fr.ts +16 -26
  239. package/src/tool/jpgAWebp/i18n/id.ts +10 -20
  240. package/src/tool/jpgAWebp/i18n/it.ts +6 -16
  241. package/src/tool/jpgAWebp/i18n/ja.ts +2 -12
  242. package/src/tool/jpgAWebp/i18n/ko.ts +3 -13
  243. package/src/tool/jpgAWebp/i18n/nl.ts +10 -20
  244. package/src/tool/jpgAWebp/i18n/pl.ts +10 -20
  245. package/src/tool/jpgAWebp/i18n/pt.ts +10 -20
  246. package/src/tool/jpgAWebp/i18n/ru.ts +10 -20
  247. package/src/tool/jpgAWebp/i18n/sv.ts +10 -20
  248. package/src/tool/jpgAWebp/i18n/tr.ts +5 -15
  249. package/src/tool/jpgAWebp/i18n/zh.ts +9 -19
  250. package/src/tool/jpgAWebp/seo.astro +2 -1
  251. package/src/tool/pngAIco/bibliography.ts +12 -0
  252. package/src/tool/pngAIco/entry.ts +2 -0
  253. package/src/tool/pngAIco/i18n/de.ts +8 -18
  254. package/src/tool/pngAIco/i18n/en.ts +8 -18
  255. package/src/tool/pngAIco/i18n/es.ts +8 -18
  256. package/src/tool/pngAIco/i18n/fr.ts +14 -24
  257. package/src/tool/pngAIco/i18n/id.ts +8 -18
  258. package/src/tool/pngAIco/i18n/it.ts +4 -14
  259. package/src/tool/pngAIco/i18n/ja.ts +2 -12
  260. package/src/tool/pngAIco/i18n/ko.ts +2 -12
  261. package/src/tool/pngAIco/i18n/nl.ts +8 -18
  262. package/src/tool/pngAIco/i18n/pl.ts +8 -18
  263. package/src/tool/pngAIco/i18n/pt.ts +8 -18
  264. package/src/tool/pngAIco/i18n/ru.ts +11 -21
  265. package/src/tool/pngAIco/i18n/sv.ts +8 -18
  266. package/src/tool/pngAIco/i18n/tr.ts +7 -17
  267. package/src/tool/pngAIco/i18n/zh.ts +8 -18
  268. package/src/tool/pngAIco/seo.astro +2 -1
  269. package/src/tool/pngAJpg/bibliography.ts +12 -0
  270. package/src/tool/pngAJpg/entry.ts +2 -0
  271. package/src/tool/pngAJpg/i18n/de.ts +41 -51
  272. package/src/tool/pngAJpg/i18n/en.ts +98 -41
  273. package/src/tool/pngAJpg/i18n/es.ts +1 -11
  274. package/src/tool/pngAJpg/i18n/fr.ts +93 -30
  275. package/src/tool/pngAJpg/i18n/id.ts +41 -51
  276. package/src/tool/pngAJpg/i18n/it.ts +41 -51
  277. package/src/tool/pngAJpg/i18n/ja.ts +81 -95
  278. package/src/tool/pngAJpg/i18n/ko.ts +81 -95
  279. package/src/tool/pngAJpg/i18n/nl.ts +41 -51
  280. package/src/tool/pngAJpg/i18n/pl.ts +43 -53
  281. package/src/tool/pngAJpg/i18n/pt.ts +41 -51
  282. package/src/tool/pngAJpg/i18n/ru.ts +83 -97
  283. package/src/tool/pngAJpg/i18n/sv.ts +41 -51
  284. package/src/tool/pngAJpg/i18n/tr.ts +41 -51
  285. package/src/tool/pngAJpg/i18n/zh.ts +83 -97
  286. package/src/tool/pngAJpg/seo.astro +2 -1
  287. package/src/tool/pngAWebp/bibliography.ts +16 -0
  288. package/src/tool/pngAWebp/entry.ts +2 -0
  289. package/src/tool/pngAWebp/i18n/de.ts +7 -21
  290. package/src/tool/pngAWebp/i18n/en.ts +7 -21
  291. package/src/tool/pngAWebp/i18n/es.ts +6 -20
  292. package/src/tool/pngAWebp/i18n/fr.ts +13 -27
  293. package/src/tool/pngAWebp/i18n/id.ts +7 -21
  294. package/src/tool/pngAWebp/i18n/it.ts +3 -17
  295. package/src/tool/pngAWebp/i18n/ja.ts +2 -16
  296. package/src/tool/pngAWebp/i18n/ko.ts +2 -16
  297. package/src/tool/pngAWebp/i18n/nl.ts +7 -21
  298. package/src/tool/pngAWebp/i18n/pl.ts +7 -21
  299. package/src/tool/pngAWebp/i18n/pt.ts +6 -20
  300. package/src/tool/pngAWebp/i18n/ru.ts +8 -22
  301. package/src/tool/pngAWebp/i18n/sv.ts +7 -21
  302. package/src/tool/pngAWebp/i18n/tr.ts +6 -20
  303. package/src/tool/pngAWebp/i18n/zh.ts +6 -20
  304. package/src/tool/pngAWebp/seo.astro +2 -1
  305. package/src/tool/svgAJpg/bibliography.ts +12 -0
  306. package/src/tool/svgAJpg/entry.ts +2 -0
  307. package/src/tool/svgAJpg/i18n/de.ts +2 -12
  308. package/src/tool/svgAJpg/i18n/en.ts +1 -11
  309. package/src/tool/svgAJpg/i18n/es.ts +1 -11
  310. package/src/tool/svgAJpg/i18n/fr.ts +6 -16
  311. package/src/tool/svgAJpg/i18n/id.ts +1 -11
  312. package/src/tool/svgAJpg/i18n/it.ts +1 -11
  313. package/src/tool/svgAJpg/i18n/ja.ts +1 -11
  314. package/src/tool/svgAJpg/i18n/ko.ts +1 -11
  315. package/src/tool/svgAJpg/i18n/nl.ts +1 -11
  316. package/src/tool/svgAJpg/i18n/pl.ts +1 -11
  317. package/src/tool/svgAJpg/i18n/pt.ts +1 -11
  318. package/src/tool/svgAJpg/i18n/ru.ts +3 -13
  319. package/src/tool/svgAJpg/i18n/sv.ts +1 -11
  320. package/src/tool/svgAJpg/i18n/tr.ts +1 -11
  321. package/src/tool/svgAJpg/i18n/zh.ts +1 -11
  322. package/src/tool/svgAJpg/seo.astro +2 -1
  323. package/src/tool/svgAPng/bibliography.ts +12 -0
  324. package/src/tool/svgAPng/entry.ts +2 -0
  325. package/src/tool/svgAPng/i18n/de.ts +3 -13
  326. package/src/tool/svgAPng/i18n/en.ts +3 -13
  327. package/src/tool/svgAPng/i18n/es.ts +1 -11
  328. package/src/tool/svgAPng/i18n/fr.ts +9 -19
  329. package/src/tool/svgAPng/i18n/id.ts +3 -13
  330. package/src/tool/svgAPng/i18n/it.ts +3 -13
  331. package/src/tool/svgAPng/i18n/ja.ts +1 -11
  332. package/src/tool/svgAPng/i18n/ko.ts +1 -11
  333. package/src/tool/svgAPng/i18n/nl.ts +3 -13
  334. package/src/tool/svgAPng/i18n/pl.ts +3 -13
  335. package/src/tool/svgAPng/i18n/pt.ts +3 -13
  336. package/src/tool/svgAPng/i18n/ru.ts +5 -15
  337. package/src/tool/svgAPng/i18n/sv.ts +3 -13
  338. package/src/tool/svgAPng/i18n/tr.ts +3 -13
  339. package/src/tool/svgAPng/i18n/zh.ts +3 -13
  340. package/src/tool/svgAPng/seo.astro +2 -1
  341. package/src/tool/webpAIco/bibliography.ts +12 -0
  342. package/src/tool/webpAIco/entry.ts +2 -0
  343. package/src/tool/webpAIco/i18n/de.ts +1 -11
  344. package/src/tool/webpAIco/i18n/en.ts +1 -11
  345. package/src/tool/webpAIco/i18n/es.ts +1 -11
  346. package/src/tool/webpAIco/i18n/fr.ts +5 -15
  347. package/src/tool/webpAIco/i18n/id.ts +1 -11
  348. package/src/tool/webpAIco/i18n/it.ts +1 -11
  349. package/src/tool/webpAIco/i18n/ja.ts +1 -11
  350. package/src/tool/webpAIco/i18n/ko.ts +1 -11
  351. package/src/tool/webpAIco/i18n/nl.ts +1 -11
  352. package/src/tool/webpAIco/i18n/pl.ts +1 -11
  353. package/src/tool/webpAIco/i18n/pt.ts +1 -11
  354. package/src/tool/webpAIco/i18n/ru.ts +3 -13
  355. package/src/tool/webpAIco/i18n/sv.ts +1 -11
  356. package/src/tool/webpAIco/i18n/tr.ts +1 -11
  357. package/src/tool/webpAIco/i18n/zh.ts +1 -12
  358. package/src/tool/webpAIco/seo.astro +2 -1
  359. package/src/tool/webpAJpg/bibliography.ts +16 -0
  360. package/src/tool/webpAJpg/entry.ts +2 -0
  361. package/src/tool/webpAJpg/i18n/de.ts +3 -17
  362. package/src/tool/webpAJpg/i18n/en.ts +3 -17
  363. package/src/tool/webpAJpg/i18n/es.ts +1 -15
  364. package/src/tool/webpAJpg/i18n/fr.ts +10 -24
  365. package/src/tool/webpAJpg/i18n/id.ts +3 -17
  366. package/src/tool/webpAJpg/i18n/it.ts +2 -16
  367. package/src/tool/webpAJpg/i18n/ja.ts +1 -15
  368. package/src/tool/webpAJpg/i18n/ko.ts +1 -15
  369. package/src/tool/webpAJpg/i18n/nl.ts +2 -16
  370. package/src/tool/webpAJpg/i18n/pl.ts +3 -17
  371. package/src/tool/webpAJpg/i18n/pt.ts +3 -17
  372. package/src/tool/webpAJpg/i18n/ru.ts +7 -21
  373. package/src/tool/webpAJpg/i18n/sv.ts +3 -17
  374. package/src/tool/webpAJpg/i18n/tr.ts +2 -16
  375. package/src/tool/webpAJpg/i18n/zh.ts +2 -16
  376. package/src/tool/webpAJpg/seo.astro +2 -1
  377. package/src/tool/webpAPng/bibliography.ts +16 -0
  378. package/src/tool/webpAPng/entry.ts +2 -0
  379. package/src/tool/webpAPng/i18n/de.ts +3 -17
  380. package/src/tool/webpAPng/i18n/en.ts +3 -17
  381. package/src/tool/webpAPng/i18n/es.ts +1 -15
  382. package/src/tool/webpAPng/i18n/fr.ts +9 -23
  383. package/src/tool/webpAPng/i18n/id.ts +3 -17
  384. package/src/tool/webpAPng/i18n/it.ts +3 -17
  385. package/src/tool/webpAPng/i18n/ja.ts +1 -15
  386. package/src/tool/webpAPng/i18n/ko.ts +1 -15
  387. package/src/tool/webpAPng/i18n/nl.ts +3 -17
  388. package/src/tool/webpAPng/i18n/pl.ts +3 -17
  389. package/src/tool/webpAPng/i18n/pt.ts +3 -17
  390. package/src/tool/webpAPng/i18n/ru.ts +4 -18
  391. package/src/tool/webpAPng/i18n/sv.ts +3 -17
  392. package/src/tool/webpAPng/i18n/tr.ts +2 -17
  393. package/src/tool/webpAPng/i18n/zh.ts +3 -17
  394. package/src/tool/webpAPng/seo.astro +2 -1
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
3
  import { generateSchemas } from '../../../shared/logic/schemas';
3
4
  import type { BmpAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: BmpAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: BmpAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'BMP File Format',
57
- url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
- },
59
- {
60
- name: 'Google WebP Documentation',
61
- url: 'https://developers.google.com/speed/webp',
62
- },
63
- ];
64
-
65
55
  const seo: BmpAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -112,7 +102,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
112
102
  highlight: true,
113
103
  points: [
114
104
  '네트워크 전송 없이 실시간 즉시 변환 수행',
115
- '철저한 개인정보 보호 — 외부로 0바이트 전송',
105
+ '철저한 개인정보 보호 - 외부로 0바이트 전송',
116
106
  '파일당 용량이나 개수에 대한 인위적인 제한 없음',
117
107
  '인터넷 연결 없이도 오프라인에서도 작동',
118
108
  ],
@@ -146,11 +136,11 @@ const seo: BmpAWebpLocaleContent['seo'] = [
146
136
  type: 'list',
147
137
  icon: 'mdi:check-circle',
148
138
  items: [
149
- '웹 기반 서비스 — 크롬, 사파리, 엣지 등 모든 현대적 브라우저 지원.',
150
- '소셜 네트워크 — 인스타그램, X(트위터), 페이스북 등에서의 네이티브 지원.',
151
- '앱 개발 및 PWA — 빠른 로딩을 위한 최소 용량 이미지 구축.',
152
- '효율적인 아카이브 — 대용량 BMP 컬렉션을 기가바이트 단위로 절약하며 보관.',
153
- '이메일 마케팅 — 모든 메일 클라이언트에서 빠르게 로딩되는 고화질 이미지.',
139
+ '웹 기반 서비스 - 크롬, 사파리, 엣지 등 모든 현대적 브라우저 지원.',
140
+ '소셜 네트워크 - 인스타그램, X(트위터), 페이스북 등에서의 네이티브 지원.',
141
+ '앱 개발 및 PWA - 빠른 로딩을 위한 최소 용량 이미지 구축.',
142
+ '효율적인 아카이브 - 대용량 BMP 컬렉션을 기가바이트 단위로 절약하며 보관.',
143
+ '이메일 마케팅 - 모든 메일 클라이언트에서 빠르게 로딩되는 고화질 이미지.',
154
144
  ],
155
145
  },
156
146
  {
@@ -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 { BmpAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: BmpAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: BmpAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'BMP File Format',
57
- url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
- },
59
- {
60
- name: 'Google WebP Documentation',
61
- url: 'https://developers.google.com/speed/webp',
62
- },
63
- ];
64
-
65
55
  const seo: BmpAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -112,7 +102,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
112
102
  highlight: true,
113
103
  points: [
114
104
  'Directe conversie zonder netwerkoverdracht',
115
- 'Absolute privacy — 0 bytes verlaten je apparaat',
105
+ 'Absolute privacy - 0 bytes verlaten je apparaat',
116
106
  'Zonder groottebeperkingen per bestand',
117
107
  'Werkt zonder internetverbinding',
118
108
  ],
@@ -146,11 +136,11 @@ const seo: BmpAWebpLocaleContent['seo'] = [
146
136
  type: 'list',
147
137
  icon: 'mdi:check-circle',
148
138
  items: [
149
- 'Webpublicatie — Chrome, Firefox, Safari, Edge en alle moderne browsers.',
150
- 'Sociale netwerken — Instagram, Twitter, Facebook accepteren WebP op eigen wijze.',
151
- 'Web-apps en PWA — minimale groottes voor direct laden.',
152
- 'Efficiënte archivering — vervangt collecties van oude BMP\'s en bespaart gigabytes.',
153
- 'E-mailmarketing — lichte afbeeldingen die snel laden in elke moderne e-mailclient.',
139
+ 'Webpublicatie - Chrome, Firefox, Safari, Edge en alle moderne browsers.',
140
+ 'Sociale netwerken - Instagram, Twitter, Facebook accepteren WebP op eigen wijze.',
141
+ 'Web-apps en PWA - minimale groottes voor direct laden.',
142
+ 'Efficiënte archivering - vervangt collecties van oude BMP\'s en bespaart gigabytes.',
143
+ 'E-mailmarketing - lichte afbeeldingen die snel laden in elke moderne e-mailclient.',
154
144
  ],
155
145
  },
156
146
  {
@@ -160,7 +150,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'Als je oude BMP-bestanden van Windows, ongecomprimeerde screenshots of afbeeldingen van oude tools hebt, is het converteren naar WebP de meest impactvolle actie die je kunt ondernemen om je opslag en webprestaties te optimaliseren. Met onze tool is de conversie direct, privé en zonder beperkingen — precies zoals het zou moeten zijn.',
153
+ html: 'Als je oude BMP-bestanden van Windows, ongecomprimeerde screenshots of afbeeldingen van oude tools hebt, is het converteren naar WebP de meest impactvolle actie die je kunt ondernemen om je opslag en webprestaties te optimaliseren. Met onze tool is de conversie direct, privé en zonder beperkingen - precies zoals het zou moeten zijn.',
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 { BmpAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: BmpAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: BmpAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'BMP File Format',
57
- url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
- },
59
- {
60
- name: 'Google WebP Documentation',
61
- url: 'https://developers.google.com/speed/webp',
62
- },
63
- ];
64
-
65
55
  const seo: BmpAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -112,7 +102,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
112
102
  highlight: true,
113
103
  points: [
114
104
  'Natychmiastowa konwersja bez transmisji sieciowej',
115
- 'Absolutna prywatność — 0 bajtów opuszcza Twoje urządzenie',
105
+ 'Absolutna prywatność - 0 bajtów opuszcza Twoje urządzenie',
116
106
  'Brak limitów rozmiaru na plik',
117
107
  'Działa bez połączenia z internetem',
118
108
  ],
@@ -146,11 +136,11 @@ const seo: BmpAWebpLocaleContent['seo'] = [
146
136
  type: 'list',
147
137
  icon: 'mdi:check-circle',
148
138
  items: [
149
- 'Publikowanie w internecie — Chrome, Firefox, Safari, Edge i wszystkie nowoczesne przeglądarki.',
150
- 'Media społecznościowe — Instagram, Twitter, Facebook natywnie akceptują format WebP.',
151
- 'Aplikacje internetowe i PWA — minimalne rozmiary dla natychmiastowego ładowania.',
152
- 'Wydajne archiwizowanie — zastępuje kolekcje starych plików BMP, oszczędzając gigabajty.',
153
- 'Marketing e-mailowy — lekkie obrazy, które ładują się szybko w każdym nowoczesnym kliencie pocztowym.',
139
+ 'Publikowanie w internecie - Chrome, Firefox, Safari, Edge i wszystkie nowoczesne przeglądarki.',
140
+ 'Media społecznościowe - Instagram, Twitter, Facebook natywnie akceptują format WebP.',
141
+ 'Aplikacje internetowe i PWA - minimalne rozmiary dla natychmiastowego ładowania.',
142
+ 'Wydajne archiwizowanie - zastępuje kolekcje starych plików BMP, oszczędzając gigabajty.',
143
+ 'Marketing e-mailowy - lekkie obrazy, które ładują się szybko w każdym nowoczesnym kliencie pocztowym.',
154
144
  ],
155
145
  },
156
146
  {
@@ -160,7 +150,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'Jeśli posiadasz stare pliki BMP z systemu Windows, nieskompresowane zrzuty ekranu lub obrazy ze starych narzędzi, konwersja ich na format WebP to najbardziej uderzające działanie, jakie możesz podjąć, aby zoptymalizować miejsce na dysku i wydajność strony internetowej. Dzięki naszemu narzędziu konwersja jest natychmiastowa, prywatna i bez limitów — dokładnie tak, jak powinno być.',
153
+ html: 'Jeśli posiadasz stare pliki BMP z systemu Windows, nieskompresowane zrzuty ekranu lub obrazy ze starych narzędzi, konwersja ich na format WebP to najbardziej uderzające działanie, jakie możesz podjąć, aby zoptymalizować miejsce na dysku i wydajność strony internetowej. Dzięki naszemu narzędziu konwersja jest natychmiastowa, prywatna i bez limitów - dokładnie tak, jak powinno być.',
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 { BmpAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: BmpAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: BmpAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'BMP File Format',
57
- url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
- },
59
- {
60
- name: 'Google WebP Documentation',
61
- url: 'https://developers.google.com/speed/webp',
62
- },
63
- ];
64
-
65
55
  const seo: BmpAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -112,7 +102,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
112
102
  highlight: true,
113
103
  points: [
114
104
  'Conversão instantânea sem transferência de rede',
115
- 'Privacidade absoluta — 0 bytes saem do seu dispositivo',
105
+ 'Privacidade absoluta - 0 bytes saem do seu dispositivo',
116
106
  'Sem limites de tamanho por ficheiro',
117
107
  'Funciona sem ligação à internet',
118
108
  ],
@@ -146,11 +136,11 @@ const seo: BmpAWebpLocaleContent['seo'] = [
146
136
  type: 'list',
147
137
  icon: 'mdi:check-circle',
148
138
  items: [
149
- 'Publicação web — Chrome, Firefox, Safari, Edge e todos os navegadores modernos.',
150
- 'Redes sociais — Instagram, Twitter, Facebook aceitam WebP de forma nativa.',
151
- 'Aplicações web e PWA — tamanhos mínimos para carga instantânea.',
152
- 'Arquivamento eficiente — substitui coleções de BMPs herdados poupando gigabytes.',
153
- 'Email marketing — imagens leves que carregam rápido em qualquer cliente de correio moderno.',
139
+ 'Publicação web - Chrome, Firefox, Safari, Edge e todos os navegadores modernos.',
140
+ 'Redes sociais - Instagram, Twitter, Facebook aceitam WebP de forma nativa.',
141
+ 'Aplicações web e PWA - tamanhos mínimos para carga instantânea.',
142
+ 'Arquivamento eficiente - substitui coleções de BMPs herdados poupando gigabytes.',
143
+ 'Email marketing - imagens leves que carregam rápido em qualquer cliente de correio moderno.',
154
144
  ],
155
145
  },
156
146
  {
@@ -160,7 +150,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'Se tem ficheiros BMP herdados do Windows, capturas de ecrã sem comprimir ou imagens de ferramentas antigas, convertê-los para WebP é a ação mais impactante que pode tomar para otimizar o seu armazenamento e desempenho web. Com a nossa ferramenta, a conversão é instantânea, privada e sem limites — exatamente como deveria ser.',
153
+ html: 'Se tem ficheiros BMP herdados do Windows, capturas de ecrã sem comprimir ou imagens de ferramentas antigas, convertê-los para WebP é a ação mais impactante que pode tomar para otimizar o seu armazenamento e desempenho web. Com a nossa ferramenta, a conversão é instantânea, privada e sem limites - exatamente como deveria ser.',
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 { BmpAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: BmpAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: BmpAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'BMP File Format',
57
- url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
- },
59
- {
60
- name: 'Google WebP Documentation',
61
- url: 'https://developers.google.com/speed/webp',
62
- },
63
- ];
64
-
65
55
  const seo: BmpAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -70,7 +60,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
70
60
  },
71
61
  {
72
62
  type: 'paragraph',
73
- html: 'Конвертация BMP в WebP — это, без сомнения, самая впечатляющая трансформация, которую можно сделать с изображением. Формат BMP (Bitmap) является одним из старейших и тяжелейших в цифровой экосистеме: он хранит каждый пиксель без какого-либо сжатия, что приводит к файлам, которые могут весить в 20, 50 или даже 100 раз больше своего современного эквивалента. WebP, разработанный Google, применяет алгоритмы сжатия последнего поколения, которые сокращают размер до абсолютно минимального значения при сохранении отличного визуального качества.',
63
+ html: 'Конвертация BMP в WebP - это, без сомнения, самая впечатляющая трансформация, которую можно сделать с изображением. Формат BMP (Bitmap) является одним из старейших и тяжелейших в цифровой экосистеме: он хранит каждый пиксель без какого-либо сжатия, что приводит к файлам, которые могут весить в 20, 50 или даже 100 раз больше своего современного эквивалента. WebP, разработанный Google, применяет алгоритмы сжатия последнего поколения, которые сокращают размер до абсолютно минимального значения при сохранении отличного визуального качества.',
74
64
  },
75
65
  {
76
66
  type: 'title',
@@ -83,7 +73,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
83
73
  },
84
74
  {
85
75
  type: 'paragraph',
86
- html: 'WebP использует предиктивное сжатие на основе блоков и преобразований DCT (та же технология, что лежит в основе цифрового видео), благодаря чему то же изображение 1920x1080 занимает от 80 КБ до 300 КБ. Это означает сокращение на 95–99 % относительно оригинала BMP. Кроме того, WebP поддерживает альфа-канал для прозрачности и сжатие как с потерями, так и без, предлагая полную универсальность.',
76
+ html: 'WebP использует предиктивное сжатие на основе блоков и преобразований DCT (та же технология, что лежит в основе цифрового видео), благодаря чему то же изображение 1920x1080 занимает от 80 КБ до 300 КБ. Это означает сокращение на 95-99 % относительно оригинала BMP. Кроме того, WebP поддерживает альфа-канал для прозрачности и сжатие как с потерями, так и без, предлагая полную универсальность.',
87
77
  },
88
78
  {
89
79
  type: 'title',
@@ -112,7 +102,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
112
102
  highlight: true,
113
103
  points: [
114
104
  'Мгновенная конвертация без передачи по сети',
115
- 'Абсолютная приватность — 0 байт покидает ваше устройство',
105
+ 'Абсолютная приватность - 0 байт покидает ваше устройство',
116
106
  'Без лимитов на размер файла',
117
107
  'Работает без подключения к интернету',
118
108
  ],
@@ -146,11 +136,11 @@ const seo: BmpAWebpLocaleContent['seo'] = [
146
136
  type: 'list',
147
137
  icon: 'mdi:check-circle',
148
138
  items: [
149
- 'Веб-публикация — Chrome, Firefox, Safari, Edge и все современные браузеры.',
150
- 'Социальные сети — Instagram, Twitter, Facebook принимают WebP нативно.',
151
- 'Веб-приложения и PWA — минимальные размеры для мгновенной загрузки.',
152
- 'Эффективное архивирование — заменяет коллекции старых BMP, экономя гигабайты.',
153
- 'Email-маркетинг — легкие изображения, которые быстро загружаются в любом почтовом клиенте.',
139
+ 'Веб-публикация - Chrome, Firefox, Safari, Edge и все современные браузеры.',
140
+ 'Социальные сети - Instagram, Twitter, Facebook принимают WebP нативно.',
141
+ 'Веб-приложения и PWA - минимальные размеры для мгновенной загрузки.',
142
+ 'Эффективное архивирование - заменяет коллекции старых BMP, экономя гигабайты.',
143
+ 'Email-маркетинг - легкие изображения, которые быстро загружаются в любом почтовом клиенте.',
154
144
  ],
155
145
  },
156
146
  {
@@ -160,7 +150,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'Если у вас есть старые файлы BMP из Windows, несжатые скриншоты или изображения из старого софта, их конвертация в WebP — это самое эффективное действие для оптимизации вашего хранилища и производительности веба. С помощью нашего инструмента конвертация мгновенна, приватна и не имеет лимитов — именно так, как и должно быть.',
153
+ html: 'Если у вас есть старые файлы BMP из Windows, несжатые скриншоты или изображения из старого софта, их конвертация в WebP - это самое эффективное действие для оптимизации вашего хранилища и производительности веба. С помощью нашего инструмента конвертация мгновенна, приватна и не имеет лимитов - именно так, как и должно быть.',
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 { BmpAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: BmpAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: BmpAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'BMP File Format',
57
- url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
- },
59
- {
60
- name: 'Google WebP Documentation',
61
- url: 'https://developers.google.com/speed/webp',
62
- },
63
- ];
64
-
65
55
  const seo: BmpAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -112,7 +102,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
112
102
  highlight: true,
113
103
  points: [
114
104
  'Omedelbar konvertering utan nätverksöverföring',
115
- 'Absolut integritet — 0 byte lämnar din enhet',
105
+ 'Absolut integritet - 0 byte lämnar din enhet',
116
106
  'Inga storleksbegränsningar per fil',
117
107
  'Fungerar utan internetanslutning',
118
108
  ],
@@ -146,11 +136,11 @@ const seo: BmpAWebpLocaleContent['seo'] = [
146
136
  type: 'list',
147
137
  icon: 'mdi:check-circle',
148
138
  items: [
149
- 'Webbpublicering — Chrome, Firefox, Safari, Edge och alla moderna webbläsare.',
150
- 'Sociala nätverk — Instagram, Twitter, Facebook accepterar WebP lokalt.',
151
- 'Webbappar och PWA — minimala storlekar för omedelbar laddning.',
152
- 'Effektiv arkivering — ersätter kollektioner av gamla BMP:er och sparar gigabyte.',
153
- 'E-postmarknadsföring — lätta bilder som laddas snabbt i alla moderna e-postklienter.',
139
+ 'Webbpublicering - Chrome, Firefox, Safari, Edge och alla moderna webbläsare.',
140
+ 'Sociala nätverk - Instagram, Twitter, Facebook accepterar WebP lokalt.',
141
+ 'Webbappar och PWA - minimala storlekar för omedelbar laddning.',
142
+ 'Effektiv arkivering - ersätter kollektioner av gamla BMP:er och sparar gigabyte.',
143
+ 'E-postmarknadsföring - lätta bilder som laddas snabbt i alla moderna e-postklienter.',
154
144
  ],
155
145
  },
156
146
  {
@@ -160,7 +150,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'Om du har gamla BMP-filer från Windows, okomprimerade skärmdumpar eller bilder från gamla verktyg, är konvertering till WebP den mest effektfulla åtgärden du kan vidta för att optimera din lagring och webbprestanda. Med vårt verktyg är konverteringen omedelbar, privat och utan begränsningar — precis som den ska vara.',
153
+ html: 'Om du har gamla BMP-filer från Windows, okomprimerade skärmdumpar eller bilder från gamla verktyg, är konvertering till WebP den mest effektfulla åtgärden du kan vidta för att optimera din lagring och webbprestanda. Med vårt verktyg är konverteringen omedelbar, privat och utan begränsningar - precis som den ska vara.',
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 { BmpAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: BmpAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: BmpAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'BMP File Format',
57
- url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
- },
59
- {
60
- name: 'Google WebP Documentation',
61
- url: 'https://developers.google.com/speed/webp',
62
- },
63
- ];
64
-
65
55
  const seo: BmpAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -112,7 +102,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
112
102
  highlight: true,
113
103
  points: [
114
104
  'Ağ aktarımı olmadan anında dönüşüm',
115
- 'Mutlak gizlilik — cihazınızdan 0 bayt çıkar',
105
+ 'Mutlak gizlilik - cihazınızdan 0 bayt çıkar',
116
106
  'Dosya başına boyut sınırı yok',
117
107
  'İnternet bağlantısı olmadan çalışır',
118
108
  ],
@@ -146,11 +136,11 @@ const seo: BmpAWebpLocaleContent['seo'] = [
146
136
  type: 'list',
147
137
  icon: 'mdi:check-circle',
148
138
  items: [
149
- 'Web yayını — Chrome, Firefox, Safari, Edge ve tüm modern tarayıcılar.',
150
- 'Sosyal ağlar — Instagram, Twitter, Facebook WebP\'yi yerel olarak kabul eder.',
151
- 'Web uygulamaları ve PWA — anında yükleme için minimum boyutlar.',
152
- 'Verimli arşivleme — eski BMP koleksiyonlarını değiştirerek gigabaytlarca tasarruf sağlar.',
153
- 'E-posta pazarlaması — herhangi bir modern e-posta istemcisinde hızlı yüklenen hafif görüntüler.',
139
+ 'Web yayını - Chrome, Firefox, Safari, Edge ve tüm modern tarayıcılar.',
140
+ 'Sosyal ağlar - Instagram, Twitter, Facebook WebP\'yi yerel olarak kabul eder.',
141
+ 'Web uygulamaları ve PWA - anında yükleme için minimum boyutlar.',
142
+ 'Verimli arşivleme - eski BMP koleksiyonlarını değiştirerek gigabaytlarca tasarruf sağlar.',
143
+ 'E-posta pazarlaması - herhangi bir modern e-posta istemcisinde hızlı yüklenen hafif görüntüler.',
154
144
  ],
155
145
  },
156
146
  {
@@ -160,7 +150,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: 'Eğer elinizde Windows\'tan kalma eski BMP dosyaları, sıkıştırılmamış ekran görüntüleri veya eski araçlardan görüntüler varsa, bunları WebP\'ye dönüştürmek, depolama alanınızı ve web performansınızı optimize etmek için atabileceğiniz en etkili adımdır. Aracımızla dönüşüm anında, özel ve sınırsızdır — tam olması gerektiği gibi.',
153
+ html: 'Eğer elinizde Windows\'tan kalma eski BMP dosyaları, sıkıştırılmamış ekran görüntüleri veya eski araçlardan görüntüler varsa, bunları WebP\'ye dönüştürmek, depolama alanınızı ve web performansınızı optimize etmek için atabileceğiniz en etkili adımdır. Aracımızla dönüşüm anında, özel ve sınırsızdır - tam olması gerektiği gibi.',
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 { BmpAWebpLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: BmpAWebpLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: BmpAWebpLocaleContent['bibliography'] = [
55
- {
56
- name: 'BMP File Format',
57
- url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
- },
59
- {
60
- name: 'Google WebP Documentation',
61
- url: 'https://developers.google.com/speed/webp',
62
- },
63
- ];
64
-
65
55
  const seo: BmpAWebpLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',
@@ -112,7 +102,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
112
102
  highlight: true,
113
103
  points: [
114
104
  '无需网络传输,即时转换',
115
- '绝对隐私——0 字节离开您的设备',
105
+ '绝对隐私-0 字节离开您的设备',
116
106
  '不限单个文件的大小',
117
107
  '无需互联网连接即可工作',
118
108
  ],
@@ -146,11 +136,11 @@ const seo: BmpAWebpLocaleContent['seo'] = [
146
136
  type: 'list',
147
137
  icon: 'mdi:check-circle',
148
138
  items: [
149
- '网页发布——Chrome、Firefox、Safari、Edge 及所有现代浏览器均支持。',
150
- '社交网络——Instagram、Twitter、Facebook 原生接受 WebP。',
151
- '网页应用与 PWA——极小体积实现即时加载。',
152
- '高效归档——替换陈旧的 BMP 集合,节省数以 GB 计的空间。',
153
- '邮件营销——轻量级图像,在任何现代邮件客户端中都能快速加载。',
139
+ '网页发布-Chrome、Firefox、Safari、Edge 及所有现代浏览器均支持。',
140
+ '社交网络-Instagram、Twitter、Facebook 原生接受 WebP。',
141
+ '网页应用与 PWA-极小体积实现即时加载。',
142
+ '高效归档-替换陈旧的 BMP 集合,节省数以 GB 计的空间。',
143
+ '邮件营销-轻量级图像,在任何现代邮件客户端中都能快速加载。',
154
144
  ],
155
145
  },
156
146
  {
@@ -160,7 +150,7 @@ const seo: BmpAWebpLocaleContent['seo'] = [
160
150
  },
161
151
  {
162
152
  type: 'paragraph',
163
- html: '如果您有来自 Windows 的陈旧 BMP 文件、未经压缩的截图或来自旧工具的图像,将它们转换为 WebP 是优化存储和网页性能的最有效行动。使用我们的工具,转换是即时的、私密的且无限制的——正应如此。',
153
+ html: '如果您有来自 Windows 的陈旧 BMP 文件、未经压缩的截图或来自旧工具的图像,将它们转换为 WebP 是优化存储和网页性能的最有效行动。使用我们的工具,转换是即时的、私密的且无限制的-正应如此。',
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 bmpAWebp.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: 'Technische Spezifikation Joint Photographic Experts Group',
6
+ url: 'https://en.wikipedia.org/wiki/JPEG',
7
+ },
8
+ {
9
+ name: 'CompuServe GIF Information',
10
+ url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
11
+ },
12
+ ];
@@ -27,3 +27,5 @@ export const gifAJpg: 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 { GifAJpgLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: GifAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: GifAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'Technische Spezifikation Joint Photographic Experts Group',
57
- url: 'https://en.wikipedia.org/wiki/JPEG',
58
- },
59
- {
60
- name: 'CompuServe GIF Information',
61
- url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
62
- },
63
- ];
64
-
65
55
  const seo: BigIntajpgLocaleContent['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 { GifAJpgLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: GifAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: GifAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'Joint Photographic Experts Group Technical Specification',
57
- url: 'https://en.wikipedia.org/wiki/JPEG',
58
- },
59
- {
60
- name: 'CompuServe GIF Information',
61
- url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
62
- },
63
- ];
64
-
65
55
  const seo: GifAJpgLocaleContent['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 { GifAJpgLocaleContent } from '../index';
@@ -51,17 +52,6 @@ const howTo: GifAJpgLocaleContent['howTo'] = [
51
52
  },
52
53
  ];
53
54
 
54
- const bibliography: GifAJpgLocaleContent['bibliography'] = [
55
- {
56
- name: 'Especificación Técnica Joint Photographic Experts Group',
57
- url: 'https://en.wikipedia.org/wiki/JPEG',
58
- },
59
- {
60
- name: 'CompuServe GIF Information',
61
- url: 'https://www.w3.org/Graphics/GIF/spec-gif89a.txt',
62
- },
63
- ];
64
-
65
55
  const seo: GifAJpgLocaleContent['seo'] = [
66
56
  {
67
57
  type: 'title',