@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 { AvifAPngLocaleContent } from '../index';
4
+
5
+ const slug = 'conversor-avif-para-png';
6
+ const title = 'Converter AVIF para PNG Online';
7
+ const description =
8
+ 'Converta imagens AVIF para PNG preservando transparências. Sem carregar ficheiros. Processamento local no seu navegador. Grátis e ilimitado.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Arraste os ficheiros AVIF...',
12
+ convertText: 'Para convertê-los para PNG 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: AvifAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Por que deveria converter AVIF para PNG?',
24
+ answer:
25
+ 'O AVIF é excelente para compressão, mas a sua compatibilidade é limitada em navegadores antigos e editores clássicos. Ao converter de AVIF para PNG, garante que o seu ficheiro manterá a transparência original e todas as aplicações poderão abri-lo.',
26
+ },
27
+ {
28
+ question: 'As transparências do ficheiro AVIF original são mantidas?',
29
+ answer:
30
+ 'Sim. Ao contrário do JPG, que elimina o fundo transparente, ao exportar para PNG o nosso conversor mantém intacto o canal alfa.',
31
+ },
32
+ {
33
+ question: 'É verdade que não carregam as minhas imagens para a Internet?',
34
+ answer:
35
+ 'Absolutamente verdade. O nosso conversor é executado de forma 100% local no seu dispositivo, utilizando o motor JavaScript interno.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Adicione os seus ficheiros AVIF',
42
+ text: 'Pode arrastá-los diretamente para a área delimitada ou usar o botão para explorar as pastas do seu equipamento.',
43
+ },
44
+ {
45
+ name: 'Processamento imediato',
46
+ text: 'Deixe o processador HTML5 renderizar a imagem; o formato mudará automaticamente para PNG em microssegundos.',
47
+ },
48
+ {
49
+ name: 'Obtenha os seus PNGs',
50
+ text: 'Descarregue as imagens convertidas uma a uma ou descarregue um bloco completo através do botão ZIP.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: AvifAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Alliance for Open Media: Formato AVIF',
57
+ url: 'https://aomediacodec.github.io/av1-avif/',
58
+ },
59
+ {
60
+ name: 'W3C - Especificação Portable Network Graphics (PNG)',
61
+ url: 'https://www.w3.org/TR/png/',
62
+ },
63
+ ];
64
+
65
+ const seo: AvifAPngLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'Conversor AVIF para PNG: Da Entrega Web à Edição Profissional',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'O AVIF é o formato ideal para servir imagens na web — pequeno, eficiente e de alta qualidade. Mas quando chega o momento de editar, retocar ou trabalhar com essas imagens em ferramentas de design, o AVIF torna-se um obstáculo. Figma, Photoshop, Illustrator, Sketch e praticamente qualquer ferramenta de design profissional esperam receber PNG para o trabalho com transparências e edição sem perda. Converter AVIF para PNG é a ponte entre o mundo da entrega web e o da edição criativa.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs PNG: Entrega vs Edição',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'O AVIF destaca-se como formato de entrega: ficheiros pequenos, carregamento rápido, suporte de canal alfa e qualidade visual excecional. No entanto, o seu ecossistema de ferramentas é limitado. A maioria dos softwares de design não consegue importar AVIF diretamente, o que interrompe os fluxos de trabalho criativos. Tentar abrir um AVIF no Figma ou importá-lo como camada no Photoshop simplesmente não funciona.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'O PNG é o formato nativo do design digital. Com compressão sem perda, suporte completo de canal alfa e compatibilidade universal com todas as ferramentas criativas, o PNG é o formato de trabalho por excelência. Quando precisa de escalar, retocar, exportar para múltiplos formatos ou trabalhar em camadas, o PNG garante que não perderá nenhum detalhe nem pixel no processo.',
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 de design viajam para servidores de terceiros',
103
+ 'Tempo de espera por latência de rede',
104
+ 'Possível perda ou alteração do canal alfa',
105
+ 'Limites de tamanho que complicam a conversão por lotes',
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
+ 'Canal alfa preservado com fidelidade perfeita',
115
+ 'Conversão instantânea sem transferência de dados',
116
+ 'Sem limites de ficheiros, tamanho nem lotes',
117
+ 'Privacidade total para ativos de design proprietários',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Como funciona a conversão técnica com transparências',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Os navegadores modernos descodificam AVIF de forma nativa graças aos seus motores AV1 integrados. Ao carregar o ficheiro, o navegador descodifica-o na memória, preservando toda a informação do canal alfa. A imagem descodificada — incluindo as suas transparências — é desenhada sobre um elemento <code>Canvas</code> HTML5 com o modo de composição correto para preservar o canal alfa.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Diferente da exportação para JPG (que destrói as transparências preenchendo com branco), a exportação para PNG através de <code>toBlob(\'image/png\')</code> preserva integralmente o canal alfa. O resultado é um PNG com compressão sem perda que mantém cada pixel, cada semitransparência e cada detalhe do AVIF original.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'O passo prévio obrigatório para qualquer ferramenta de design',
138
+ html: 'Converta os seus AVIF para PNG antes de os importar para o Figma, Photoshop, Illustrator ou qualquer ferramenta de design. Estas aplicações não leem AVIF diretamente, mas o PNG funciona de forma nativa em todas elas, preservando transparências e qualidade perfeitamente.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Casos de uso: quando precisa de AVIF convertido para PNG',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Importar no Figma, Sketch, Adobe XD ou outras ferramentas de design UI.',
150
+ 'Editar como camada no Photoshop, Affinity Photo ou GIMP preservando transparências.',
151
+ 'Usar como fonte para a geração de ícones ou sprites.',
152
+ 'Enviar a clientes ou colaboradores que trabalham com software de design padrão.',
153
+ 'Arquivar imagens com transparências em formato de edição sem perda.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Conclusão: A ponte entre a web e o design',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'AVIF e PNG são parceiros perfeitos num fluxo de trabalho moderno: AVIF para a entrega eficiente na web, PNG para a edição e colaboração em ferramentas de design. Com o nosso conversor, a passagem de um para o outro é instantânea, privada e preserva cada detalhe — exatamente o que precisa quando os seus ativos visuais são importantes.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: AvifAPngLocaleContent = {
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 { AvifAPngLocaleContent } from '../index';
4
+
5
+ const slug = 'konverter-avif-v-png';
6
+ const title = 'Конвертировать AVIF в PNG Онлайн';
7
+ const description =
8
+ 'Конвертируйте ваши AVIF-изображения в PNG с сохранением прозрачности. Без загрузки файлов. Локальная обработка в вашем браузере. Бесплатно и без ограничений.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Перетащите файлы AVIF...',
12
+ convertText: 'Чтобы мгновенно конвертировать их в PNG',
13
+ selectFiles: 'Выбрать файлы',
14
+ processedFiles: 'Обработанные файлы',
15
+ downloadAll: 'Скачать всё (.zip)',
16
+ pending: 'В ожидании',
17
+ bibliographyTitle: 'Библиографические ссылки',
18
+ faqTitle: 'Часто задаваемые вопросы',
19
+ };
20
+
21
+ const faq: AvifAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Почему стоит конвертировать AVIF в PNG?',
24
+ answer:
25
+ 'AVIF отлично подходит для сжатия, но его совместимость ограничена в старых браузерах и классических редакторах. Конвертируя AVIF в PNG, вы гарантируете, что ваш файл сохранит исходную прозрачность и все приложения смогут его открыть.',
26
+ },
27
+ {
28
+ question: 'Сохраняется ли прозрачность из исходного файла AVIF?',
29
+ answer:
30
+ 'Да. В отличие от JPG, который удаляет прозрачный фон, при экспорте в PNG наш конвертер сохраняет альфа-канал нетронутым.',
31
+ },
32
+ {
33
+ question: 'Правда ли, что мои изображения не загружаются в Интернет?',
34
+ answer:
35
+ 'Абсолютно верно. Наш конвертер работает на 100% локально на вашем устройстве, используя встроенный движок JavaScript.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Добавьте ваши файлы AVIF',
42
+ text: 'Вы можете перетащить их прямо в выделенную область или воспользоваться кнопкой для просмотра папок на вашем компьютере.',
43
+ },
44
+ {
45
+ name: 'Мгновенная обработка',
46
+ text: 'Позвольте процессору HTML5 отрендерить изображение; формат автоматически переключится на PNG за микросекунды.',
47
+ },
48
+ {
49
+ name: 'Получите ваши PNG-файлы',
50
+ text: 'Скачивайте конвертированные изображения по одному или загрузите полный архив с помощью кнопки ZIP.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: AvifAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Alliance for Open Media: Формат AVIF',
57
+ url: 'https://aomediacodec.github.io/av1-avif/',
58
+ },
59
+ {
60
+ name: 'W3C - Спецификация Portable Network Graphics (PNG)',
61
+ url: 'https://www.w3.org/TR/png/',
62
+ },
63
+ ];
64
+
65
+ const seo: AvifAPngLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'Конвертер AVIF в PNG: От веб-дистрибуции до профессионального редактирования',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'AVIF — идеальный формат для предоставления изображений в интернете: маленькие файлы, эффективные и высокого качества. Но когда приходит время редактировать, ретушировать или работать с этими изображениями в инструментах дизайна, AVIF становится препятствием. Figma, Photoshop, Illustrator, Sketch и практически любой профессиональный инструмент дизайна ожидают получения PNG для работы с прозрачностью и редактирования без потерь. Конвертация AVIF в PNG — это мост между миром веб-дистрибуции и миром креативного редактирования.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs PNG: Дистрибуция против Редактирования',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'AVIF выделяется как формат дистрибуции: маленькие файлы, быстрая загрузка, поддержка альфа-канала и исключительное визуальное качество. Однако его экосистема инструментов ограничена. Большинство программ для дизайна не могут импортировать AVIF напрямую, что нарушает творческие рабочие процессы. Попытка открыть AVIF в Figma или импортировать его как слой в Photoshop просто не сработает.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'PNG — нативный формат цифрового дизайна. С сжатием без потерь, полной поддержкой альфа-канала и универсальной совместимостью со всеми творческими инструментами, PNG является рабочим форматом по преимуществу. Когда вам нужно масштабировать, ретушировать, экспортировать в несколько форматов или работать со слоями, 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
+ 'Альфа-канал сохранен с идеальной верностью',
115
+ 'Мгновенная конвертация без передачи данных',
116
+ 'Без ограничений по количеству файлов, размеру или пакетам',
117
+ 'Полная конфиденциальность для собственных дизайн-активов',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Как работает техническая конвертация с прозрачностью',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Современные браузеры декодируют AVIF нативно благодаря встроенным движкам AV1. При загрузке файла браузер декодирует его в памяти, сохраняя всю информацию об альфа-канале. Декодированное изображение — включая прозрачность — отрисовывается на элементе HTML5 <code>Canvas</code> с использованием правильного режима композиции для сохранения альфа-канала.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'В отличие от экспорта в JPG (который разрушает прозрачность, заполняя её белым цветом), экспорт в PNG с помощью <code>toBlob(\'image/png\')</code> полностью сохраняет альфа-канал. Результатом является PNG с сжатием без потерь, который сохраняет каждый пиксель, каждую полупрозрачность и каждую деталь оригинального AVIF.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Обязательный предварительный шаг для любого инструмента дизайна',
138
+ html: 'Конвертируйте ваши файлы AVIF в PNG перед импортом в Figma, Photoshop, Illustrator или любой другой инструмент дизайна. Эти приложения не читают AVIF напрямую, но PNG работает нативно во всех них, идеально сохраняя прозрачность и качество.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Случаи использования: когда вам нужна конвертация AVIF в PNG',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Импорт в Figma, Sketch, Adobe XD или другие инструменты дизайна UI.',
150
+ 'Редактирование в качестве слоя в Photoshop, Affinity Photo или GIMP с сохранением прозрачности.',
151
+ 'Использование в качестве ресурса для генерации иконок или спрайтов (sprites).',
152
+ 'Отправка клиентам или коллегам, работающим в стандартном ПО для дизайна.',
153
+ 'Архивирование изображений с прозрачностью в формате редактирования без потерь.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Заключение: Мост между веб-технологиями и дизайном',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'AVIF и PNG — идеальные партнеры в современном рабочем процессе: AVIF для эффективной дистрибуции в вебе, PNG для редактирования и совместной работы в инструментах дизайна. С нашим конвертером переход от одного к другому происходит мгновенно, конфиденциально и сохраняет каждую деталь — именно то, что вам нужно, когда ваши визуальные активы имеют значение.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: AvifAPngLocaleContent = {
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 { AvifAPngLocaleContent } from '../index';
4
+
5
+ const slug = 'konvertera-avif-till-png';
6
+ const title = 'Konvertera AVIF till PNG Online';
7
+ const description =
8
+ 'Konvertera AVIF-bilder till PNG och bevara transparens. Utan att ladda upp filer. Lokal bearbetning i din webbläsare. Gratis och obegränsat.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Dra AVIF-filer hit...',
12
+ convertText: 'För att konvertera dem till PNG 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: AvifAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Varför ska jag konvertera AVIF till PNG?',
24
+ answer:
25
+ 'AVIF är utmärkt för kompression, men dess kompatibilitet är begränsad i äldre webbläsare och klassiska redigeringsprogram. Genom att konvertera från AVIF till PNG säkerställer du att din fil behåller den ursprungliga transparensen och att alla program kan öppna den.',
26
+ },
27
+ {
28
+ question: 'Behålls transparensen från den ursprungliga AVIF-filen?',
29
+ answer:
30
+ 'Ja. Till skillnad från JPG som tar bort den transparenta bakgrunden, behåller vår konverterare alfakanalen intakt vid export till PNG.',
31
+ },
32
+ {
33
+ question: 'Är det sant att mina bilder inte laddas upp till internet?',
34
+ answer:
35
+ 'Helt sant. Vår konverterare körs till 100 % lokalt på din enhet med hjälp av den interna JavaScript-motorn.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Lägg till dina AVIF-filer',
42
+ text: 'Du kan dra dem direkt till det markerade området eller använda knappen för att bläddra i mapparna på din enhet.',
43
+ },
44
+ {
45
+ name: 'Omedelbar bearbetning',
46
+ text: 'Låt HTML5-processorn rendera bilden; formatet ändras automatiskt till PNG på mikrosekunder.',
47
+ },
48
+ {
49
+ name: 'Hämta dina PNG-filer',
50
+ text: 'Ladda ner de konverterade bilderna en och en eller ladda ner ett komplett block via ZIP-knappen.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: AvifAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Alliance for Open Media: AVIF-formatet',
57
+ url: 'https://aomediacodec.github.io/av1-avif/',
58
+ },
59
+ {
60
+ name: 'W3C - Portable Network Graphics (PNG)-specifikationen',
61
+ url: 'https://www.w3.org/TR/png/',
62
+ },
63
+ ];
64
+
65
+ const seo: AvifAPngLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'AVIF till PNG-konverterare: Från webben till professionell redigering',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'AVIF är det idealiska formatet för att leverera bilder på webben – litet, effektivt och av hög kvalitet. Men när det är dags att redigera, retuschera eller arbeta med dessa bilder i designverktyg, blir AVIF ett hinder. Figma, Photoshop, Illustrator, Sketch och praktiskt taget alla professionella designverktyg förväntar sig att få PNG för arbete med transparens och förlustfri redigering. Att konvertera AVIF till PNG är bron mellan webben och den kreativa redigeringens värld.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs PNG: Leverans vs Redigering',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'AVIF utmärker sig som ett leveransformat: små filer, snabb laddning, stöd för alfakanal och exceptionell visuell kvalitet. Dess ekosystem av verktyg är dock begränsat. Den mesta designprogramvaran kan inte importera AVIF direkt, vilket avbryter kreativa arbetsflöden. Att försöka öppna en AVIF i Figma eller importera den som ett lager i Photoshop fungerar helt enkelt inte.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'PNG är det inhemska formatet för digital design. Med förlustfri kompression, fullt stöd för alfakanal och universell kompatibilitet med alla kreativa verktyg, är PNG det ultimata arbetsformatet. När du behöver skala, retuschera, exportera till flera format eller arbeta i lager, garanterar PNG att du inte förlorar några detaljer eller pixlar i processen.',
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 bearbetning.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Dina designbilder skickas till tredjepartsservrar',
103
+ 'Väntetid på grund av nätverksfördröjning',
104
+ 'Möjlig förlust eller ändring av alfakanalen',
105
+ 'Begränsningar i storlek som försvårar batchkonvertering',
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
+ 'Alfakanalen bevaras med perfekt trohet',
115
+ 'Omedelbar konvertering utan dataöverföring',
116
+ 'Inga begränsningar för filer, storlek eller batchar',
117
+ 'Total integritet för egenutvecklade designtillgångar',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Hur den tekniska konverteringen med transparens fungerar',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Moderna webbläsare avkodar AVIF nativt tack vare sina integrerade AV1-motorer. Vid laddning av filen avkodar webbläsaren den i minnet och bevarar all information från alfakanalen. Den avkodade bilden – inklusive dess transparens – ritas på ett HTML5 <code>Canvas</code>-element med rätt kompositionsläge för att bevara alfakanalen.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Till skillnad från export till JPG (som förstör transparens genom att fylla med vitt), bevarar export till PNG via <code>toBlob(\'image/png\')</code> alfakanalen helt och hållet. Resultatet är en PNG med förlustfri kompression som behåller varje pixel, varje semitransparens och varje detalj från den ursprungliga AVIF-bilden.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Det obligatoriska försteget för alla designverktyg',
138
+ html: 'Konvertera dina AVIF till PNG innan du importerar dem till Figma, Photoshop, Illustrator eller något designverktyg. Dessa program läser inte AVIF direkt, men PNG fungerar nativt i alla, och bevarar transparens och kvalitet perfekt.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Användningsområden: när du behöver AVIF konverterat till PNG',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Importera i Figma, Sketch, Adobe XD eller andra verktyg för UI-design.',
150
+ 'Redigera som lager i Photoshop, Affinity Photo eller GIMP och bevara transparens.',
151
+ 'Använda som källa för att skapa ikoner eller sprites.',
152
+ 'Skicka till kunder eller medarbetare som arbetar med standarddesignprogram.',
153
+ 'Arkivera bilder med transparens i ett förlustfritt redigeringsformat.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Slutsats: Bron mellan webb och design',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'AVIF och PNG är perfekta partners i ett modernt arbetsflöde: AVIF för effektiv leverans på webben, PNG för redigering och samarbete i designverktyg. Med vår konverterare är övergången från den ena till den andra omedelbar, privat och bevarar varje detalj – exakt vad du behöver när dina visuella tillgångar spelar roll.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: AvifAPngLocaleContent = {
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
+ };