@jjlmoya/utils-converters 1.7.0 → 1.8.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 (345) hide show
  1. package/package.json +60 -59
  2. package/src/shared/logic/schemas.ts +57 -0
  3. package/src/tests/faq_count.test.ts +13 -4
  4. package/src/tests/i18n_coverage.test.ts +36 -0
  5. package/src/tests/locale_completeness.test.ts +42 -0
  6. package/src/tests/no_h1_in_components.test.ts +48 -0
  7. package/src/tests/schemas_fulfillment.test.ts +23 -0
  8. package/src/tests/seo_length.test.ts +1 -1
  9. package/src/tests/title_quality.test.ts +55 -0
  10. package/src/tool/avifAJpg/i18n/de.ts +178 -0
  11. package/src/tool/avifAJpg/i18n/en.ts +2 -12
  12. package/src/tool/avifAJpg/i18n/es.ts +2 -12
  13. package/src/tool/avifAJpg/i18n/fr.ts +2 -12
  14. package/src/tool/avifAJpg/i18n/id.ts +178 -0
  15. package/src/tool/avifAJpg/i18n/it.ts +178 -0
  16. package/src/tool/avifAJpg/i18n/ja.ts +178 -0
  17. package/src/tool/avifAJpg/i18n/ko.ts +178 -0
  18. package/src/tool/avifAJpg/i18n/nl.ts +178 -0
  19. package/src/tool/avifAJpg/i18n/pl.ts +178 -0
  20. package/src/tool/avifAJpg/i18n/pt.ts +178 -0
  21. package/src/tool/avifAJpg/i18n/ru.ts +178 -0
  22. package/src/tool/avifAJpg/i18n/sv.ts +178 -0
  23. package/src/tool/avifAJpg/i18n/tr.ts +178 -0
  24. package/src/tool/avifAJpg/i18n/zh.ts +178 -0
  25. package/src/tool/avifAJpg/index.ts +13 -1
  26. package/src/tool/avifAPng/i18n/de.ts +178 -0
  27. package/src/tool/avifAPng/i18n/en.ts +2 -12
  28. package/src/tool/avifAPng/i18n/es.ts +2 -12
  29. package/src/tool/avifAPng/i18n/fr.ts +2 -12
  30. package/src/tool/avifAPng/i18n/id.ts +178 -0
  31. package/src/tool/avifAPng/i18n/it.ts +178 -0
  32. package/src/tool/avifAPng/i18n/ja.ts +178 -0
  33. package/src/tool/avifAPng/i18n/ko.ts +178 -0
  34. package/src/tool/avifAPng/i18n/nl.ts +178 -0
  35. package/src/tool/avifAPng/i18n/pl.ts +178 -0
  36. package/src/tool/avifAPng/i18n/pt.ts +178 -0
  37. package/src/tool/avifAPng/i18n/ru.ts +178 -0
  38. package/src/tool/avifAPng/i18n/sv.ts +178 -0
  39. package/src/tool/avifAPng/i18n/tr.ts +178 -0
  40. package/src/tool/avifAPng/i18n/zh.ts +178 -0
  41. package/src/tool/avifAPng/index.ts +13 -1
  42. package/src/tool/avifAWebp/i18n/de.ts +178 -0
  43. package/src/tool/avifAWebp/i18n/en.ts +2 -12
  44. package/src/tool/avifAWebp/i18n/es.ts +2 -12
  45. package/src/tool/avifAWebp/i18n/fr.ts +2 -12
  46. package/src/tool/avifAWebp/i18n/id.ts +178 -0
  47. package/src/tool/avifAWebp/i18n/it.ts +178 -0
  48. package/src/tool/avifAWebp/i18n/ja.ts +178 -0
  49. package/src/tool/avifAWebp/i18n/ko.ts +178 -0
  50. package/src/tool/avifAWebp/i18n/nl.ts +178 -0
  51. package/src/tool/avifAWebp/i18n/pl.ts +178 -0
  52. package/src/tool/avifAWebp/i18n/pt.ts +178 -0
  53. package/src/tool/avifAWebp/i18n/ru.ts +178 -0
  54. package/src/tool/avifAWebp/i18n/sv.ts +178 -0
  55. package/src/tool/avifAWebp/i18n/tr.ts +178 -0
  56. package/src/tool/avifAWebp/i18n/zh.ts +178 -0
  57. package/src/tool/avifAWebp/index.ts +13 -1
  58. package/src/tool/bmpAJpg/i18n/de.ts +178 -0
  59. package/src/tool/bmpAJpg/i18n/en.ts +2 -12
  60. package/src/tool/bmpAJpg/i18n/es.ts +2 -12
  61. package/src/tool/bmpAJpg/i18n/fr.ts +2 -12
  62. package/src/tool/bmpAJpg/i18n/id.ts +178 -0
  63. package/src/tool/bmpAJpg/i18n/it.ts +178 -0
  64. package/src/tool/bmpAJpg/i18n/ja.ts +178 -0
  65. package/src/tool/bmpAJpg/i18n/ko.ts +178 -0
  66. package/src/tool/bmpAJpg/i18n/nl.ts +178 -0
  67. package/src/tool/bmpAJpg/i18n/pl.ts +178 -0
  68. package/src/tool/bmpAJpg/i18n/pt.ts +178 -0
  69. package/src/tool/bmpAJpg/i18n/ru.ts +178 -0
  70. package/src/tool/bmpAJpg/i18n/sv.ts +178 -0
  71. package/src/tool/bmpAJpg/i18n/tr.ts +178 -0
  72. package/src/tool/bmpAJpg/i18n/zh.ts +178 -0
  73. package/src/tool/bmpAJpg/index.ts +13 -1
  74. package/src/tool/bmpAPng/i18n/de.ts +177 -0
  75. package/src/tool/bmpAPng/i18n/en.ts +2 -12
  76. package/src/tool/bmpAPng/i18n/es.ts +2 -12
  77. package/src/tool/bmpAPng/i18n/fr.ts +2 -12
  78. package/src/tool/bmpAPng/i18n/id.ts +177 -0
  79. package/src/tool/bmpAPng/i18n/it.ts +177 -0
  80. package/src/tool/bmpAPng/i18n/ja.ts +177 -0
  81. package/src/tool/bmpAPng/i18n/ko.ts +177 -0
  82. package/src/tool/bmpAPng/i18n/nl.ts +177 -0
  83. package/src/tool/bmpAPng/i18n/pl.ts +177 -0
  84. package/src/tool/bmpAPng/i18n/pt.ts +177 -0
  85. package/src/tool/bmpAPng/i18n/ru.ts +177 -0
  86. package/src/tool/bmpAPng/i18n/sv.ts +177 -0
  87. package/src/tool/bmpAPng/i18n/tr.ts +177 -0
  88. package/src/tool/bmpAPng/i18n/zh.ts +177 -0
  89. package/src/tool/bmpAPng/index.ts +13 -1
  90. package/src/tool/bmpAWebp/i18n/de.ts +178 -0
  91. package/src/tool/bmpAWebp/i18n/en.ts +2 -12
  92. package/src/tool/bmpAWebp/i18n/es.ts +2 -12
  93. package/src/tool/bmpAWebp/i18n/fr.ts +2 -12
  94. package/src/tool/bmpAWebp/i18n/id.ts +178 -0
  95. package/src/tool/bmpAWebp/i18n/it.ts +178 -0
  96. package/src/tool/bmpAWebp/i18n/ja.ts +178 -0
  97. package/src/tool/bmpAWebp/i18n/ko.ts +178 -0
  98. package/src/tool/bmpAWebp/i18n/nl.ts +178 -0
  99. package/src/tool/bmpAWebp/i18n/pl.ts +178 -0
  100. package/src/tool/bmpAWebp/i18n/pt.ts +178 -0
  101. package/src/tool/bmpAWebp/i18n/ru.ts +178 -0
  102. package/src/tool/bmpAWebp/i18n/sv.ts +178 -0
  103. package/src/tool/bmpAWebp/i18n/tr.ts +178 -0
  104. package/src/tool/bmpAWebp/i18n/zh.ts +178 -0
  105. package/src/tool/bmpAWebp/index.ts +13 -1
  106. package/src/tool/gifAJpg/i18n/de.ts +178 -0
  107. package/src/tool/gifAJpg/i18n/en.ts +2 -12
  108. package/src/tool/gifAJpg/i18n/es.ts +2 -12
  109. package/src/tool/gifAJpg/i18n/fr.ts +2 -12
  110. package/src/tool/gifAJpg/i18n/id.ts +178 -0
  111. package/src/tool/gifAJpg/i18n/it.ts +178 -0
  112. package/src/tool/gifAJpg/i18n/ja.ts +178 -0
  113. package/src/tool/gifAJpg/i18n/ko.ts +178 -0
  114. package/src/tool/gifAJpg/i18n/nl.ts +178 -0
  115. package/src/tool/gifAJpg/i18n/pl.ts +178 -0
  116. package/src/tool/gifAJpg/i18n/pt.ts +178 -0
  117. package/src/tool/gifAJpg/i18n/ru.ts +178 -0
  118. package/src/tool/gifAJpg/i18n/sv.ts +178 -0
  119. package/src/tool/gifAJpg/i18n/tr.ts +178 -0
  120. package/src/tool/gifAJpg/i18n/zh.ts +178 -0
  121. package/src/tool/gifAJpg/index.ts +13 -1
  122. package/src/tool/gifAPng/i18n/de.ts +178 -0
  123. package/src/tool/gifAPng/i18n/en.ts +2 -12
  124. package/src/tool/gifAPng/i18n/es.ts +2 -12
  125. package/src/tool/gifAPng/i18n/fr.ts +2 -12
  126. package/src/tool/gifAPng/i18n/id.ts +178 -0
  127. package/src/tool/gifAPng/i18n/it.ts +178 -0
  128. package/src/tool/gifAPng/i18n/ja.ts +178 -0
  129. package/src/tool/gifAPng/i18n/ko.ts +178 -0
  130. package/src/tool/gifAPng/i18n/nl.ts +178 -0
  131. package/src/tool/gifAPng/i18n/pl.ts +178 -0
  132. package/src/tool/gifAPng/i18n/pt.ts +178 -0
  133. package/src/tool/gifAPng/i18n/ru.ts +178 -0
  134. package/src/tool/gifAPng/i18n/sv.ts +178 -0
  135. package/src/tool/gifAPng/i18n/tr.ts +178 -0
  136. package/src/tool/gifAPng/i18n/zh.ts +178 -0
  137. package/src/tool/gifAPng/index.ts +12 -0
  138. package/src/tool/gifAWebp/i18n/de.ts +178 -0
  139. package/src/tool/gifAWebp/i18n/en.ts +2 -12
  140. package/src/tool/gifAWebp/i18n/es.ts +2 -12
  141. package/src/tool/gifAWebp/i18n/fr.ts +2 -12
  142. package/src/tool/gifAWebp/i18n/id.ts +178 -0
  143. package/src/tool/gifAWebp/i18n/it.ts +178 -0
  144. package/src/tool/gifAWebp/i18n/ja.ts +178 -0
  145. package/src/tool/gifAWebp/i18n/ko.ts +178 -0
  146. package/src/tool/gifAWebp/i18n/nl.ts +178 -0
  147. package/src/tool/gifAWebp/i18n/pl.ts +178 -0
  148. package/src/tool/gifAWebp/i18n/pt.ts +178 -0
  149. package/src/tool/gifAWebp/i18n/ru.ts +178 -0
  150. package/src/tool/gifAWebp/i18n/sv.ts +178 -0
  151. package/src/tool/gifAWebp/i18n/tr.ts +178 -0
  152. package/src/tool/gifAWebp/i18n/zh.ts +178 -0
  153. package/src/tool/gifAWebp/index.ts +12 -0
  154. package/src/tool/imagenBase64/i18n/de.ts +168 -0
  155. package/src/tool/imagenBase64/i18n/en.ts +2 -12
  156. package/src/tool/imagenBase64/i18n/es.ts +2 -12
  157. package/src/tool/imagenBase64/i18n/fr.ts +2 -12
  158. package/src/tool/imagenBase64/i18n/id.ts +168 -0
  159. package/src/tool/imagenBase64/i18n/it.ts +168 -0
  160. package/src/tool/imagenBase64/i18n/ja.ts +168 -0
  161. package/src/tool/imagenBase64/i18n/ko.ts +168 -0
  162. package/src/tool/imagenBase64/i18n/nl.ts +168 -0
  163. package/src/tool/imagenBase64/i18n/pl.ts +168 -0
  164. package/src/tool/imagenBase64/i18n/pt.ts +173 -0
  165. package/src/tool/imagenBase64/i18n/ru.ts +168 -0
  166. package/src/tool/imagenBase64/i18n/sv.ts +168 -0
  167. package/src/tool/imagenBase64/i18n/tr.ts +168 -0
  168. package/src/tool/imagenBase64/i18n/zh.ts +168 -0
  169. package/src/tool/imagenBase64/index.ts +12 -0
  170. package/src/tool/jpgAIco/i18n/de.ts +183 -0
  171. package/src/tool/jpgAIco/i18n/en.ts +8 -13
  172. package/src/tool/jpgAIco/i18n/es.ts +13 -18
  173. package/src/tool/jpgAIco/i18n/fr.ts +9 -14
  174. package/src/tool/jpgAIco/i18n/id.ts +183 -0
  175. package/src/tool/jpgAIco/i18n/it.ts +183 -0
  176. package/src/tool/jpgAIco/i18n/ja.ts +183 -0
  177. package/src/tool/jpgAIco/i18n/ko.ts +183 -0
  178. package/src/tool/jpgAIco/i18n/nl.ts +183 -0
  179. package/src/tool/jpgAIco/i18n/pl.ts +183 -0
  180. package/src/tool/jpgAIco/i18n/pt.ts +183 -0
  181. package/src/tool/jpgAIco/i18n/ru.ts +183 -0
  182. package/src/tool/jpgAIco/i18n/sv.ts +183 -0
  183. package/src/tool/jpgAIco/i18n/tr.ts +183 -0
  184. package/src/tool/jpgAIco/i18n/zh.ts +183 -0
  185. package/src/tool/jpgAIco/index.ts +12 -0
  186. package/src/tool/jpgAPng/i18n/de.ts +178 -0
  187. package/src/tool/jpgAPng/i18n/en.ts +2 -12
  188. package/src/tool/jpgAPng/i18n/es.ts +2 -12
  189. package/src/tool/jpgAPng/i18n/fr.ts +2 -12
  190. package/src/tool/jpgAPng/i18n/id.ts +178 -0
  191. package/src/tool/jpgAPng/i18n/it.ts +178 -0
  192. package/src/tool/jpgAPng/i18n/ja.ts +178 -0
  193. package/src/tool/jpgAPng/i18n/ko.ts +178 -0
  194. package/src/tool/jpgAPng/i18n/nl.ts +178 -0
  195. package/src/tool/jpgAPng/i18n/pl.ts +178 -0
  196. package/src/tool/jpgAPng/i18n/pt.ts +178 -0
  197. package/src/tool/jpgAPng/i18n/ru.ts +178 -0
  198. package/src/tool/jpgAPng/i18n/sv.ts +178 -0
  199. package/src/tool/jpgAPng/i18n/tr.ts +178 -0
  200. package/src/tool/jpgAPng/i18n/zh.ts +178 -0
  201. package/src/tool/jpgAPng/index.ts +13 -1
  202. package/src/tool/jpgAWebp/i18n/de.ts +178 -0
  203. package/src/tool/jpgAWebp/i18n/en.ts +2 -12
  204. package/src/tool/jpgAWebp/i18n/es.ts +2 -12
  205. package/src/tool/jpgAWebp/i18n/fr.ts +2 -12
  206. package/src/tool/jpgAWebp/i18n/id.ts +178 -0
  207. package/src/tool/jpgAWebp/i18n/it.ts +178 -0
  208. package/src/tool/jpgAWebp/i18n/ja.ts +178 -0
  209. package/src/tool/jpgAWebp/i18n/ko.ts +178 -0
  210. package/src/tool/jpgAWebp/i18n/nl.ts +178 -0
  211. package/src/tool/jpgAWebp/i18n/pl.ts +178 -0
  212. package/src/tool/jpgAWebp/i18n/pt.ts +178 -0
  213. package/src/tool/jpgAWebp/i18n/ru.ts +178 -0
  214. package/src/tool/jpgAWebp/i18n/sv.ts +178 -0
  215. package/src/tool/jpgAWebp/i18n/tr.ts +178 -0
  216. package/src/tool/jpgAWebp/i18n/zh.ts +178 -0
  217. package/src/tool/jpgAWebp/index.ts +12 -0
  218. package/src/tool/pngAIco/i18n/de.ts +183 -0
  219. package/src/tool/pngAIco/i18n/en.ts +8 -13
  220. package/src/tool/pngAIco/i18n/es.ts +19 -24
  221. package/src/tool/pngAIco/i18n/fr.ts +20 -25
  222. package/src/tool/pngAIco/i18n/id.ts +183 -0
  223. package/src/tool/pngAIco/i18n/it.ts +183 -0
  224. package/src/tool/pngAIco/i18n/ja.ts +183 -0
  225. package/src/tool/pngAIco/i18n/ko.ts +183 -0
  226. package/src/tool/pngAIco/i18n/nl.ts +183 -0
  227. package/src/tool/pngAIco/i18n/pl.ts +183 -0
  228. package/src/tool/pngAIco/i18n/pt.ts +183 -0
  229. package/src/tool/pngAIco/i18n/ru.ts +183 -0
  230. package/src/tool/pngAIco/i18n/sv.ts +183 -0
  231. package/src/tool/pngAIco/i18n/tr.ts +183 -0
  232. package/src/tool/pngAIco/i18n/zh.ts +183 -0
  233. package/src/tool/pngAIco/index.ts +12 -0
  234. package/src/tool/pngAJpg/i18n/de.ts +191 -0
  235. package/src/tool/pngAJpg/i18n/en.ts +2 -12
  236. package/src/tool/pngAJpg/i18n/es.ts +2 -12
  237. package/src/tool/pngAJpg/i18n/fr.ts +2 -12
  238. package/src/tool/pngAJpg/i18n/id.ts +191 -0
  239. package/src/tool/pngAJpg/i18n/it.ts +191 -0
  240. package/src/tool/pngAJpg/i18n/ja.ts +191 -0
  241. package/src/tool/pngAJpg/i18n/ko.ts +191 -0
  242. package/src/tool/pngAJpg/i18n/nl.ts +191 -0
  243. package/src/tool/pngAJpg/i18n/pl.ts +191 -0
  244. package/src/tool/pngAJpg/i18n/pt.ts +191 -0
  245. package/src/tool/pngAJpg/i18n/ru.ts +191 -0
  246. package/src/tool/pngAJpg/i18n/sv.ts +191 -0
  247. package/src/tool/pngAJpg/i18n/tr.ts +191 -0
  248. package/src/tool/pngAJpg/i18n/zh.ts +191 -0
  249. package/src/tool/pngAJpg/index.ts +13 -1
  250. package/src/tool/pngAWebp/i18n/de.ts +182 -0
  251. package/src/tool/pngAWebp/i18n/en.ts +2 -12
  252. package/src/tool/pngAWebp/i18n/es.ts +2 -12
  253. package/src/tool/pngAWebp/i18n/fr.ts +2 -12
  254. package/src/tool/pngAWebp/i18n/id.ts +182 -0
  255. package/src/tool/pngAWebp/i18n/it.ts +182 -0
  256. package/src/tool/pngAWebp/i18n/ja.ts +182 -0
  257. package/src/tool/pngAWebp/i18n/ko.ts +182 -0
  258. package/src/tool/pngAWebp/i18n/nl.ts +182 -0
  259. package/src/tool/pngAWebp/i18n/pl.ts +182 -0
  260. package/src/tool/pngAWebp/i18n/pt.ts +182 -0
  261. package/src/tool/pngAWebp/i18n/ru.ts +182 -0
  262. package/src/tool/pngAWebp/i18n/sv.ts +182 -0
  263. package/src/tool/pngAWebp/i18n/tr.ts +182 -0
  264. package/src/tool/pngAWebp/i18n/zh.ts +182 -0
  265. package/src/tool/pngAWebp/index.ts +12 -0
  266. package/src/tool/svgAJpg/i18n/de.ts +178 -0
  267. package/src/tool/svgAJpg/i18n/en.ts +8 -13
  268. package/src/tool/svgAJpg/i18n/es.ts +8 -13
  269. package/src/tool/svgAJpg/i18n/fr.ts +2 -12
  270. package/src/tool/svgAJpg/i18n/id.ts +178 -0
  271. package/src/tool/svgAJpg/i18n/it.ts +178 -0
  272. package/src/tool/svgAJpg/i18n/ja.ts +178 -0
  273. package/src/tool/svgAJpg/i18n/ko.ts +178 -0
  274. package/src/tool/svgAJpg/i18n/nl.ts +178 -0
  275. package/src/tool/svgAJpg/i18n/pl.ts +178 -0
  276. package/src/tool/svgAJpg/i18n/pt.ts +178 -0
  277. package/src/tool/svgAJpg/i18n/ru.ts +178 -0
  278. package/src/tool/svgAJpg/i18n/sv.ts +178 -0
  279. package/src/tool/svgAJpg/i18n/tr.ts +178 -0
  280. package/src/tool/svgAJpg/i18n/zh.ts +178 -0
  281. package/src/tool/svgAJpg/index.ts +12 -0
  282. package/src/tool/svgAPng/i18n/de.ts +178 -0
  283. package/src/tool/svgAPng/i18n/en.ts +8 -13
  284. package/src/tool/svgAPng/i18n/es.ts +31 -36
  285. package/src/tool/svgAPng/i18n/fr.ts +2 -12
  286. package/src/tool/svgAPng/i18n/id.ts +178 -0
  287. package/src/tool/svgAPng/i18n/it.ts +178 -0
  288. package/src/tool/svgAPng/i18n/ja.ts +178 -0
  289. package/src/tool/svgAPng/i18n/ko.ts +178 -0
  290. package/src/tool/svgAPng/i18n/nl.ts +178 -0
  291. package/src/tool/svgAPng/i18n/pl.ts +178 -0
  292. package/src/tool/svgAPng/i18n/pt.ts +178 -0
  293. package/src/tool/svgAPng/i18n/ru.ts +178 -0
  294. package/src/tool/svgAPng/i18n/sv.ts +178 -0
  295. package/src/tool/svgAPng/i18n/tr.ts +178 -0
  296. package/src/tool/svgAPng/i18n/zh.ts +178 -0
  297. package/src/tool/svgAPng/index.ts +12 -0
  298. package/src/tool/webpAIco/i18n/de.ts +183 -0
  299. package/src/tool/webpAIco/i18n/en.ts +8 -13
  300. package/src/tool/webpAIco/i18n/es.ts +9 -14
  301. package/src/tool/webpAIco/i18n/fr.ts +11 -16
  302. package/src/tool/webpAIco/i18n/id.ts +183 -0
  303. package/src/tool/webpAIco/i18n/it.ts +183 -0
  304. package/src/tool/webpAIco/i18n/ja.ts +183 -0
  305. package/src/tool/webpAIco/i18n/ko.ts +183 -0
  306. package/src/tool/webpAIco/i18n/nl.ts +183 -0
  307. package/src/tool/webpAIco/i18n/pl.ts +183 -0
  308. package/src/tool/webpAIco/i18n/pt.ts +183 -0
  309. package/src/tool/webpAIco/i18n/ru.ts +183 -0
  310. package/src/tool/webpAIco/i18n/sv.ts +183 -0
  311. package/src/tool/webpAIco/i18n/tr.ts +183 -0
  312. package/src/tool/webpAIco/i18n/zh.ts +183 -0
  313. package/src/tool/webpAIco/index.ts +12 -0
  314. package/src/tool/webpAJpg/i18n/de.ts +187 -0
  315. package/src/tool/webpAJpg/i18n/en.ts +9 -13
  316. package/src/tool/webpAJpg/i18n/es.ts +37 -42
  317. package/src/tool/webpAJpg/i18n/fr.ts +35 -40
  318. package/src/tool/webpAJpg/i18n/id.ts +182 -0
  319. package/src/tool/webpAJpg/i18n/it.ts +182 -0
  320. package/src/tool/webpAJpg/i18n/ja.ts +182 -0
  321. package/src/tool/webpAJpg/i18n/ko.ts +182 -0
  322. package/src/tool/webpAJpg/i18n/nl.ts +182 -0
  323. package/src/tool/webpAJpg/i18n/pl.ts +182 -0
  324. package/src/tool/webpAJpg/i18n/pt.ts +182 -0
  325. package/src/tool/webpAJpg/i18n/ru.ts +182 -0
  326. package/src/tool/webpAJpg/i18n/sv.ts +182 -0
  327. package/src/tool/webpAJpg/i18n/tr.ts +182 -0
  328. package/src/tool/webpAJpg/i18n/zh.ts +182 -0
  329. package/src/tool/webpAJpg/index.ts +12 -0
  330. package/src/tool/webpAPng/i18n/de.ts +182 -0
  331. package/src/tool/webpAPng/i18n/en.ts +8 -13
  332. package/src/tool/webpAPng/i18n/es.ts +35 -40
  333. package/src/tool/webpAPng/i18n/fr.ts +2 -12
  334. package/src/tool/webpAPng/i18n/id.ts +182 -0
  335. package/src/tool/webpAPng/i18n/it.ts +182 -0
  336. package/src/tool/webpAPng/i18n/ja.ts +182 -0
  337. package/src/tool/webpAPng/i18n/ko.ts +182 -0
  338. package/src/tool/webpAPng/i18n/nl.ts +182 -0
  339. package/src/tool/webpAPng/i18n/pl.ts +182 -0
  340. package/src/tool/webpAPng/i18n/pt.ts +182 -0
  341. package/src/tool/webpAPng/i18n/ru.ts +182 -0
  342. package/src/tool/webpAPng/i18n/sv.ts +182 -0
  343. package/src/tool/webpAPng/i18n/tr.ts +182 -0
  344. package/src/tool/webpAPng/i18n/zh.ts +182 -0
  345. package/src/tool/webpAPng/index.ts +12 -0
@@ -0,0 +1,178 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { AvifAWebpLocaleContent } from '../index';
4
+
5
+ const slug = 'conversor-avif-para-webp';
6
+ const title = 'Converter AVIF para WebP Online';
7
+ const description =
8
+ 'Converta imagens AVIF para WebP com melhor compatibilidade. Processamento local sem servidores. Grátis, privado e ilimitado.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Arraste os ficheiros AVIF...',
12
+ convertText: 'Para convertê-los para WebP instantaneamente',
13
+ selectFiles: 'Selecionar ficheiros',
14
+ processedFiles: 'Ficheiros processados',
15
+ downloadAll: 'Descarregar Tudo (.zip)',
16
+ pending: 'Pendente',
17
+ bibliographyTitle: 'Referências Bibliográficas',
18
+ faqTitle: 'Perguntas Frequentes',
19
+ };
20
+
21
+ const faq: AvifAWebpLocaleContent['faq'] = [
22
+ {
23
+ question: 'Qual é a diferença real entre converter para WebP e para outros formatos?',
24
+ answer:
25
+ 'O WebP oferece o melhor de dois mundos: compressões tão espantosas como o JPG, mas conservando a capacidade de albergar transparências limpas como um PNG. Mudar o seu AVIF para WebP maximiza a sua compatibilidade para a web, preservando todas as suas vantagens.',
26
+ },
27
+ {
28
+ question: 'Como conseguem mudar isto sem servidor e de forma rápida?',
29
+ answer:
30
+ 'Aproveitamos os módulos de descodificação incorporados e o objeto Image de JavaScript HTML5, o que permite ler o seu AVIF em memória local e extrair um ficheiro WebP otimizado em tempo recorde.',
31
+ },
32
+ {
33
+ question: 'O formato WebP é completamente compatível hoje em dia?',
34
+ answer:
35
+ 'Ao contrário do nascente AVIF, o formato WebP desfruta de um amplíssimo suporte entre navegadores como Chrome, Firefox e Safari.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAWebpLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Insira os seus ficheiros fotográficos',
42
+ text: 'Mova e solte todas as seleções de formato AVIF para a nossa área de trabalho.',
43
+ },
44
+ {
45
+ name: 'Tradução de Bytes Algorítmicos',
46
+ text: 'O nosso motor processa os algoritmos sem carregar nada e cria iterações exatas baseadas em WebP comprimido.',
47
+ },
48
+ {
49
+ name: 'Acumule as suas Descarregamentos Prontos',
50
+ text: 'Pressione o painel e receba lotes em pastas ZIP ou soltos para publicá-los diretamente.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: AvifAWebpLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'AV1 Image File Format',
57
+ url: 'https://aomediacodec.github.io/av1-avif/',
58
+ },
59
+ {
60
+ name: 'Google WebP Format Overview',
61
+ url: 'https://developers.google.com/speed/webp',
62
+ },
63
+ ];
64
+
65
+ const seo: AvifAWebpLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'Conversor AVIF para WebP: A Alternativa Moderna e Segura para a Web',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'O AVIF é o formato de imagem mais avançado disponível hoje: mais pequeno que o WebP, mais pequeno que o JPG, com uma qualidade visual superior. No entanto, a sua adoção tem sido irregular — o Safari não o suportou até 2024, e muitos dispositivos móveis mais antigos não o reconhecem. O WebP, por outro lado, está consolidado há anos como o padrão moderno da web com mais de 95% de suporte global. Converter AVIF para WebP é a decisão pragmática quando precisa de modernidade sem arriscar a compatibilidade.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs WebP: O Mais Novo vs O Mais Seguro',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'O AVIF oferece a compressão mais avançada disponível — tipicamente 20-30% mais pequeno que o WebP com a mesma qualidade. A sua tecnologia baseada em AV1 é a mais moderna do setor. No entanto, o suporte de AVIF ainda tem pontos cegos: versões antigas do Safari, alguns navegadores em Android mais antigo e certos visualizadores de imagem de ambiente de trabalho não o reconhecem. Para produção web com audiências amplas e diversas, isto representa um risco.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'O WebP tem uma história de suporte muito mais sólida. O Chrome adotou-o em 2010, o Firefox e o Edge seguiram-no, e o Safari incorporou-o em 2020. Com mais de 95% de cobertura global em navegadores, o WebP é a escolha segura para qualquer sítio web que não queira servir formatos de reserva. Suporta transparências, compressão com e sem perda, e consegue ficheiros muito mais pequenos do que o JPG ou o PNG.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Comparativo: Conversores Cloud vs A Nossa Arquitetura Local',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Conversores Cloud',
98
+ description: 'Ferramentas que carregam os seus ficheiros AVIF para um servidor remoto para processá-los.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'As suas imagens privadas transitam por servidores externos',
103
+ 'Latência de rede que abranda o fluxo de trabalho',
104
+ 'Limites de ficheiros por conversão gratuita',
105
+ 'Dependência de serviços de terceiros que podem mudar',
106
+ ],
107
+ },
108
+ {
109
+ title: 'A Nossa Arquitetura Local',
110
+ description: 'Processamento direto no seu navegador através de tecnologia Vanilla JS e Canvas API.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Privacidade total — 0 bytes saem do seu dispositivo',
115
+ 'Velocidade instantânea sem dependência de rede',
116
+ 'Sem limites de tamanho nem de número de ficheiros',
117
+ 'Funciona sem ligação à Internet',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Como funciona a conversão técnica no navegador',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'O Chrome, o Firefox e o Edge incluem descodificadores AVIF nativos. Ao carregar o ficheiro, o motor de imagens do navegador descodifica-o em RAM, mantendo a informação de canal alfa. A imagem é desenhada sobre um <code>Canvas</code> HTML5 invisível usando o contexto 2D, que preserva as transparências corretamente.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'A exportação é feita com <code>toBlob(\'image/webp\', quality)</code>. O navegador aplica o algoritmo de compressão WebP internamente, gerando um Blob que inclui o canal alfa se a imagem original o tivesse. Este Blob é convertido num link de descarregamento direto. O processo completo ocorre em microssegundos sem qualquer comunicação com servidores externos.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'WebP: a escolha pragmática do programador moderno',
138
+ html: 'O WebP tem mais de 95% de suporte em navegadores — o AVIF está a crescer mas ainda não chega a esse número. Para sítios em produção sem deteção de formato adaptativa, o WebP é a escolha segura que cobre quase qualquer audiência. Converta os seus AVIF para WebP e sirva imagens modernas com confiança.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Casos de uso: quando escolher WebP sobre AVIF',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Sítios web que precisam de suporte em navegadores desde 2020 sem polyfills.',
150
+ 'CDNs e sistemas de entrega de imagens que aceitam WebP mas não AVIF.',
151
+ 'Aplicações móveis híbridas com WebViews que podem não suportar AVIF.',
152
+ 'Emails HTML modernos onde o WebP tem maior suporte do que o AVIF.',
153
+ 'Plataformas CMS e ecommerce com suporte de imagem WebP estabelecido.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Conclusão: Modernidade com compatibilidade garantida',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'O AVIF é a vanguarda da compressão de imagens, mas o WebP é a escolha fiável e universal do ecossistema web moderno. Com a nossa ferramenta, converte do mais novo para o mais suportado num instante — sem carregar nada para nenhum servidor, com privacidade total e sem limites de tamanho.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: AvifAWebpLocaleContent = {
169
+ slug,
170
+ title,
171
+ description,
172
+ ui,
173
+ seo,
174
+ faq,
175
+ bibliography,
176
+ howTo,
177
+ schemas: generateSchemas({ title, description, inLanguage: 'pt', faq, howTo }),
178
+ };
@@ -0,0 +1,178 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { AvifAWebpLocaleContent } from '../index';
4
+
5
+ const slug = 'konverter-avif-v-webp';
6
+ const title = 'Конвертировать AVIF в WebP Онлайн';
7
+ const description =
8
+ 'Конвертируйте ваши AVIF-изображения в WebP для лучшей совместимости. Локальная обработка без серверов. Бесплатно, приватно и без ограничений.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Перетащите файлы AVIF...',
12
+ convertText: 'Чтобы мгновенно конвертировать их в WebP',
13
+ selectFiles: 'Выбрать файлы',
14
+ processedFiles: 'Обработанные файлы',
15
+ downloadAll: 'Скачать всё (.zip)',
16
+ pending: 'В ожидании',
17
+ bibliographyTitle: 'Библиографические ссылки',
18
+ faqTitle: 'Часто задаваемые вопросы',
19
+ };
20
+
21
+ const faq: AvifAWebpLocaleContent['faq'] = [
22
+ {
23
+ question: 'В чем реальная разница между конвертацией в WebP и другие форматы?',
24
+ answer:
25
+ 'WebP предлагает лучшее из обоих миров: сжатие столь же потрясающее, как у JPG, но сохраняющее возможность содержать чистые прозрачности, как у PNG. Перевод вашего AVIF в WebP максимизирует его совместимость для веба, сохраняя все его преимущества.',
26
+ },
27
+ {
28
+ question: 'Как вам удается изменить формат без сервера и так быстро?',
29
+ answer:
30
+ 'Мы используем встроенные модули декодирования и объект Image JavaScript HTML5, что позволяет считывать ваш AVIF в локальной памяти и извлекать оптимизированный файл WebP в рекордные сроки.',
31
+ },
32
+ {
33
+ question: 'Является ли формат WebP полностью совместимым сегодня?',
34
+ answer:
35
+ 'В отличие от зарождающегося AVIF, формат WebP пользуется широчайшей поддержкой среди браузеров, таких как Chrome, Firefox и Safari.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAWebpLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Вставьте ваши фотофайлы',
42
+ text: 'Переместите и отпустите все выбранные файлы в формате AVIF на нашу рабочую область.',
43
+ },
44
+ {
45
+ name: 'Алгоритмическое преобразование байтов',
46
+ text: 'Наш движок обрабатывает алгоритмы, ничего не загружая, и создает точные итерации на основе сжатого WebP.',
47
+ },
48
+ {
49
+ name: 'Получите ваши готовые файлы',
50
+ text: 'Нажмите на панель и получите пакеты в ZIP-архивах или по отдельности для их прямой публикации.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: AvifAWebpLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'AV1 Image File Format',
57
+ url: 'https://aomediacodec.github.io/av1-avif/',
58
+ },
59
+ {
60
+ name: 'Google WebP Format Overview',
61
+ url: 'https://developers.google.com/speed/webp',
62
+ },
63
+ ];
64
+
65
+ const seo: AvifAWebpLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'Конвертер AVIF в WebP: Современная и безопасная альтернатива для веба',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'AVIF — самый продвинутый формат изображений, доступный сегодня: меньше, чем WebP, меньше, чем JPG, с превосходным визуальным качеством. Однако его принятие было неравномерным — Safari не поддерживал его до 2024 года, и многие старые мобильные устройства его не узнают. WebP, напротив, уже многие годы является современным веб-стандартом с глобальной поддержкой более 95%. Конвертация AVIF в WebP — это прагматичное решение, когда вам нужна современность без риска совместимости.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs WebP: Самый новый против Самого безопасного',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'AVIF предлагает самое продвинутое сжатие — обычно на 20-30% меньше, чем WebP при том же качестве. Его технология на основе AV1 является самой современной в отрасли. Однако в поддержке AVIF все еще есть слепые пятна: старые версии Safari, некоторые браузеры на устаревшем Android и определенные настольные проигрыватели изображений его не распознают. Для веб-продакшна с широкой и разнообразной аудиторией это представляет риск.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'WebP имеет гораздо более солидную историю поддержки. Chrome принял его в 2010 году, Firefox и Edge последовали его примеру, а Safari включил его в 2020 году. С глобальным охватом более 95% в браузерах, WebP — это безопасный выбор для любого веб-сайта, который не хочет предоставлять резервные форматы. Он поддерживает прозрачность, сжатие с потерями и без потерь, и позволяет получать файлы гораздо меньшего размера, чем JPG или PNG.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Сравнение: Облачные конвертеры против нашей локальной архитектуры',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Облачные конвертеры',
98
+ description: 'Инструменты, которые загружают ваши файлы AVIF на удаленный сервер для их обработки.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Ваши приватные изображения проходят через внешние серверы',
103
+ 'Задержка сети, замедляющая рабочий процесс',
104
+ 'Ограничения на количество файлов при бесплатной конвертации',
105
+ 'Зависимость от сторонних сервисов, которые могут измениться',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Наша локальная архитектура',
110
+ description: 'Прямая обработка в вашем браузере с использованием технологии Vanilla JS и Canvas API.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Полная конфиденциальность — 0 байт покидает ваше устройство',
115
+ 'Мгновенная скорость без зависимости от сети',
116
+ 'Без ограничений по весу или количеству файлов',
117
+ 'Работает без подключения к Интернету',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Как работает техническая конвертация в браузере',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Chrome, Firefox и Edge имеют встроенные декодеры AVIF. При загрузке файла движок изображений браузера декодирует его в ОЗУ, сохраняя информацию об альфа-канале. Изображение отрисовывается на невидимом элементе HTML5 <code>Canvas</code> с использованием контекста 2D, который корректно сохраняет прозрачность.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Экспорт выполняется с помощью <code>toBlob(\'image/webp\', quality)</code>. Браузер внутренне применяет алгоритм сжатия WebP, создавая Blob, включающий альфа-канал, если он был у исходного изображения. Этот Blob преобразуется в прямую ссылку для скачивания. Весь процесс происходит за микросекунды без какого-либо взаимодействия с внешними серверами.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'WebP: прагматичный выбор современного разработчика',
138
+ html: 'WebP имеет более 95% поддержки в браузерах — AVIF растет, но еще не достиг этого числа. Для сайтов в продакшне без адаптивного определения формата WebP — это безопасный выбор, охватывающий почти любую аудиторию. Конвертируйте ваши AVIF в WebP и уверенно предоставляйте современные изображения.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Случаи использования: когда следует выбирать WebP вместо AVIF',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Веб-сайты, которым нужна поддержка в браузерах с 2020 года без полифиллов.',
150
+ 'CDN и системы доставки изображений, которые принимают WebP, но не AVIF.',
151
+ 'Гибридные мобильные приложения с WebViews, которые могут не поддерживать AVIF.',
152
+ 'Современные HTML-письма, где WebP имеет более широкую поддержку, чем AVIF.',
153
+ 'Платформы CMS и e-commerce с устоявшейся поддержкой изображений WebP.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Заключение: Современность с гарантированной совместимостью',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'AVIF — это авангард сжатия изображений, но WebP — это надежный и универсальный выбор современной веб-экосистемы. С нашим инструментом вы мгновенно переходите от самого нового формата к наиболее поддерживаемому — без загрузки чего-либо на сервер, с полной конфиденциальностью и без ограничений по размеру.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: AvifAWebpLocaleContent = {
169
+ slug,
170
+ title,
171
+ description,
172
+ ui,
173
+ seo,
174
+ faq,
175
+ bibliography,
176
+ howTo,
177
+ schemas: generateSchemas({ title, description, inLanguage: 'ru', faq, howTo }),
178
+ };
@@ -0,0 +1,178 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { AvifAWebpLocaleContent } from '../index';
4
+
5
+ const slug = 'avif-till-webp-konverterare';
6
+ const title = 'Konvertera AVIF till WebP Online';
7
+ const description =
8
+ 'Konvertera AVIF-bilder till WebP för bättre kompatibilitet. Lokal bearbetning utan servrar. Gratis, privat och obegränsat.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Dra AVIF-filer hit...',
12
+ convertText: 'För att konvertera dem till WebP direkt',
13
+ selectFiles: 'Välj filer',
14
+ processedFiles: 'Bearbetade filer',
15
+ downloadAll: 'Ladda ner alla (.zip)',
16
+ pending: 'Väntande',
17
+ bibliographyTitle: 'Bibliografiska Referenser',
18
+ faqTitle: 'Vanliga Frågor',
19
+ };
20
+
21
+ const faq: AvifAWebpLocaleContent['faq'] = [
22
+ {
23
+ question: 'Vad är den faktiska skillnaden mellan att konvertera till WebP och andra format?',
24
+ answer:
25
+ 'WebP erbjuder det bästa av två världar: kompressioner som är lika fantastiska som JPG, men med möjligheten att innehålla rena transparensen som en PNG. Genom att ändra din AVIF till WebP maximerar du dess kompatibilitet för webben och bevarar samtidigt alla dess fördelar.',
26
+ },
27
+ {
28
+ question: 'Hur lyckas ni ändra detta utan server och så snabbt?',
29
+ answer:
30
+ 'Vi utnyttjar de inbyggda avkodningsmodulerna och JavaScript HTML5 Image-objektet, vilket gör det möjligt att läsa din AVIF i lokalt minne och extrahera en optimerad WebP-fil på rekordtid.',
31
+ },
32
+ {
33
+ question: 'Är WebP-formatet helt kompatibelt idag?',
34
+ answer:
35
+ 'Till skillnad från det begynnande AVIF-formatet har WebP-formatet ett mycket brett stöd bland webbläsare som Chrome, Firefox och Safari.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAWebpLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Infoga dina fotofiler',
42
+ text: 'Flytta och släpp alla AVIF-filval till vår arbetsyta.',
43
+ },
44
+ {
45
+ name: 'Algoritmisk byte-översättning',
46
+ text: 'Vår motor bearbetar algoritmerna utan att ladda upp något och skapar exakta iterationer baserade på komprimerad WebP.',
47
+ },
48
+ {
49
+ name: 'Hämta dina färdiga nedladdningar',
50
+ text: 'Klicka på panelen och få dina filer i ZIP-arkiv eller enskilt för att publicera dem direkt.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: AvifAWebpLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'AV1 Image File Format',
57
+ url: 'https://aomediacodec.github.io/av1-avif/',
58
+ },
59
+ {
60
+ name: 'Google WebP Format Overview',
61
+ url: 'https://developers.google.com/speed/webp',
62
+ },
63
+ ];
64
+
65
+ const seo: AvifAWebpLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'AVIF till WebP-konverterare: Det moderna och säkra alternativet för webben',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'AVIF är det mest avancerade bildformatet som finns tillgängligt idag: mindre än WebP, mindre än JPG, med överlägsen visuell kvalitet. Adoptionen har dock varit ojämn – Safari stödde det inte förrän 2024, och många äldre mobila enheter känner inte till det. WebP däremot har varit etablerat i åratal som den moderna webbstandarden med över 95 % globalt stöd. Att konvertera AVIF till WebP är det pragmatiska beslutet när du behöver modernitet utan att riskera kompatibiliteten.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs WebP: Det nyaste vs Det säkraste',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'AVIF erbjuder den mest avancerade kompressionen som finns tillgänglig – vanligtvis 20–30 % mindre än WebP vid samma kvalitet. Dess teknologi baserad på AV1 är den modernaste i branschen. AVIF-stödet har dock fortfarande blinda fläckar: äldre Safari-versioner, vissa webbläsare på äldre Android-enheter och vissa bildvisare för skrivbordet känner inte igen det. För webbproduktion med bred och varierad publik innebär detta en risk.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'WebP har en mycket mer solid supporthistorik. Chrome antog det 2010, Firefox och Edge följde efter, och Safari införlivade det 2020. Med över 95 % global täckning i webbläsare är WebP det säkra valet för alla webbplatser som inte vill leverera fallback-format. Det stöder transparens, förlustbehaftad och förlustfri kompression, och ger mycket mindre filer än JPG eller PNG.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Jämförelse: Molnkonverterare vs Vår lokala arkitektur',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Molnkonverterare',
98
+ description: 'Verktyg som laddar upp dina AVIF-filer till en fjärrserver för att bearbeta dem.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Dina privata bilder skickas via externa servrar',
103
+ 'Nätverksfördröjning som saktar ner arbetsflödet',
104
+ 'Filbegränsningar per gratis konvertering',
105
+ 'Beroende av tredjepartstjänster som kan ändras',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Vår lokala arkitektur',
110
+ description: 'Direkt bearbetning i din webbläsare via Vanilla JS-teknik och Canvas API.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Total integritet – 0 byte lämnar din enhet',
115
+ 'Omedelbar hastighet utan nätverksberoende',
116
+ 'Inga begränsningar för storlek eller antal filer',
117
+ 'Fungerar utan internetanslutning',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Hur den tekniska konverteringen i webbläsaren fungerar',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Chrome, Firefox och Edge inkluderar inbyggda AVIF-avkodare. Vid laddning av filen avkodar webbläsarens bildmotor den i RAM och bevarar informationen från alfakanalen. Bilden ritas på ett osynligt HTML5 <code>Canvas</code> med hjälp av 2D-kontexten, vilket bevarar transparens korrekt.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Exporten görs med <code>toBlob(\'image/webp\', quality)</code>. Webbläsaren tillämpar WebP-komprimeringsalgoritmen internt och genererar en Blob som inkluderar alfakanalen om originalbilden hade en. Denna Blob omvandlas till en direkt nedladdningslänk. Hela processen sker på mikrosekunder utan någon kommunikation med externa servrar.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'WebP: den moderna utvecklarens pragmatiska val',
138
+ html: 'WebP har över 95 % stöd i webbläsare – AVIF växer men når ännu inte den siffran. För produktionssajter utan adaptiv formatdetektering är WebP det säkra valet som täcker nästan alla målgrupper. Konvertera dina AVIF till WebP och leverera moderna bilder med förtroende.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Användningsområden: när du ska välja WebP framför AVIF',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Webbplatser som behöver stöd i webbläsare från 2020 utan polyfills.',
150
+ 'CDN:er och bildleveranssystem som accepterar WebP men inte AVIF.',
151
+ 'Hybrida mobilappar med WebViews som eventuellt inte stöder AVIF.',
152
+ 'Moderna HTML-e-postmeddelanden där WebP har större stöd än AVIF.',
153
+ 'CMS-plattformar och e-handel med etablerat WebP-bildstöd.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Slutsats: Modernitet med garanterad kompatibilitet',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'AVIF är framkanten av bildkompression, men WebP är det pålitliga och universella valet för det moderna webbechosystemet. Med vårt verktyg konverterar du från det senaste till det mest stödda på ett ögonblick – utan att ladda upp något till någon server, med total integritet och utan storleksbegränsningar.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: AvifAWebpLocaleContent = {
169
+ slug,
170
+ title,
171
+ description,
172
+ ui,
173
+ seo,
174
+ faq,
175
+ bibliography,
176
+ howTo,
177
+ schemas: generateSchemas({ title, description, inLanguage: 'sv', faq, howTo }),
178
+ };