@jjlmoya/utils-converters 1.6.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 (346) hide show
  1. package/package.json +60 -59
  2. package/src/shared/ImageConverter.astro +2 -1
  3. package/src/shared/logic/schemas.ts +57 -0
  4. package/src/tests/faq_count.test.ts +13 -4
  5. package/src/tests/i18n_coverage.test.ts +36 -0
  6. package/src/tests/locale_completeness.test.ts +42 -0
  7. package/src/tests/no_h1_in_components.test.ts +48 -0
  8. package/src/tests/schemas_fulfillment.test.ts +23 -0
  9. package/src/tests/seo_length.test.ts +1 -1
  10. package/src/tests/title_quality.test.ts +55 -0
  11. package/src/tool/avifAJpg/i18n/de.ts +178 -0
  12. package/src/tool/avifAJpg/i18n/en.ts +2 -12
  13. package/src/tool/avifAJpg/i18n/es.ts +2 -12
  14. package/src/tool/avifAJpg/i18n/fr.ts +2 -12
  15. package/src/tool/avifAJpg/i18n/id.ts +178 -0
  16. package/src/tool/avifAJpg/i18n/it.ts +178 -0
  17. package/src/tool/avifAJpg/i18n/ja.ts +178 -0
  18. package/src/tool/avifAJpg/i18n/ko.ts +178 -0
  19. package/src/tool/avifAJpg/i18n/nl.ts +178 -0
  20. package/src/tool/avifAJpg/i18n/pl.ts +178 -0
  21. package/src/tool/avifAJpg/i18n/pt.ts +178 -0
  22. package/src/tool/avifAJpg/i18n/ru.ts +178 -0
  23. package/src/tool/avifAJpg/i18n/sv.ts +178 -0
  24. package/src/tool/avifAJpg/i18n/tr.ts +178 -0
  25. package/src/tool/avifAJpg/i18n/zh.ts +178 -0
  26. package/src/tool/avifAJpg/index.ts +13 -1
  27. package/src/tool/avifAPng/i18n/de.ts +178 -0
  28. package/src/tool/avifAPng/i18n/en.ts +2 -12
  29. package/src/tool/avifAPng/i18n/es.ts +2 -12
  30. package/src/tool/avifAPng/i18n/fr.ts +2 -12
  31. package/src/tool/avifAPng/i18n/id.ts +178 -0
  32. package/src/tool/avifAPng/i18n/it.ts +178 -0
  33. package/src/tool/avifAPng/i18n/ja.ts +178 -0
  34. package/src/tool/avifAPng/i18n/ko.ts +178 -0
  35. package/src/tool/avifAPng/i18n/nl.ts +178 -0
  36. package/src/tool/avifAPng/i18n/pl.ts +178 -0
  37. package/src/tool/avifAPng/i18n/pt.ts +178 -0
  38. package/src/tool/avifAPng/i18n/ru.ts +178 -0
  39. package/src/tool/avifAPng/i18n/sv.ts +178 -0
  40. package/src/tool/avifAPng/i18n/tr.ts +178 -0
  41. package/src/tool/avifAPng/i18n/zh.ts +178 -0
  42. package/src/tool/avifAPng/index.ts +13 -1
  43. package/src/tool/avifAWebp/i18n/de.ts +178 -0
  44. package/src/tool/avifAWebp/i18n/en.ts +2 -12
  45. package/src/tool/avifAWebp/i18n/es.ts +2 -12
  46. package/src/tool/avifAWebp/i18n/fr.ts +2 -12
  47. package/src/tool/avifAWebp/i18n/id.ts +178 -0
  48. package/src/tool/avifAWebp/i18n/it.ts +178 -0
  49. package/src/tool/avifAWebp/i18n/ja.ts +178 -0
  50. package/src/tool/avifAWebp/i18n/ko.ts +178 -0
  51. package/src/tool/avifAWebp/i18n/nl.ts +178 -0
  52. package/src/tool/avifAWebp/i18n/pl.ts +178 -0
  53. package/src/tool/avifAWebp/i18n/pt.ts +178 -0
  54. package/src/tool/avifAWebp/i18n/ru.ts +178 -0
  55. package/src/tool/avifAWebp/i18n/sv.ts +178 -0
  56. package/src/tool/avifAWebp/i18n/tr.ts +178 -0
  57. package/src/tool/avifAWebp/i18n/zh.ts +178 -0
  58. package/src/tool/avifAWebp/index.ts +13 -1
  59. package/src/tool/bmpAJpg/i18n/de.ts +178 -0
  60. package/src/tool/bmpAJpg/i18n/en.ts +2 -12
  61. package/src/tool/bmpAJpg/i18n/es.ts +2 -12
  62. package/src/tool/bmpAJpg/i18n/fr.ts +2 -12
  63. package/src/tool/bmpAJpg/i18n/id.ts +178 -0
  64. package/src/tool/bmpAJpg/i18n/it.ts +178 -0
  65. package/src/tool/bmpAJpg/i18n/ja.ts +178 -0
  66. package/src/tool/bmpAJpg/i18n/ko.ts +178 -0
  67. package/src/tool/bmpAJpg/i18n/nl.ts +178 -0
  68. package/src/tool/bmpAJpg/i18n/pl.ts +178 -0
  69. package/src/tool/bmpAJpg/i18n/pt.ts +178 -0
  70. package/src/tool/bmpAJpg/i18n/ru.ts +178 -0
  71. package/src/tool/bmpAJpg/i18n/sv.ts +178 -0
  72. package/src/tool/bmpAJpg/i18n/tr.ts +178 -0
  73. package/src/tool/bmpAJpg/i18n/zh.ts +178 -0
  74. package/src/tool/bmpAJpg/index.ts +13 -1
  75. package/src/tool/bmpAPng/i18n/de.ts +177 -0
  76. package/src/tool/bmpAPng/i18n/en.ts +2 -12
  77. package/src/tool/bmpAPng/i18n/es.ts +2 -12
  78. package/src/tool/bmpAPng/i18n/fr.ts +2 -12
  79. package/src/tool/bmpAPng/i18n/id.ts +177 -0
  80. package/src/tool/bmpAPng/i18n/it.ts +177 -0
  81. package/src/tool/bmpAPng/i18n/ja.ts +177 -0
  82. package/src/tool/bmpAPng/i18n/ko.ts +177 -0
  83. package/src/tool/bmpAPng/i18n/nl.ts +177 -0
  84. package/src/tool/bmpAPng/i18n/pl.ts +177 -0
  85. package/src/tool/bmpAPng/i18n/pt.ts +177 -0
  86. package/src/tool/bmpAPng/i18n/ru.ts +177 -0
  87. package/src/tool/bmpAPng/i18n/sv.ts +177 -0
  88. package/src/tool/bmpAPng/i18n/tr.ts +177 -0
  89. package/src/tool/bmpAPng/i18n/zh.ts +177 -0
  90. package/src/tool/bmpAPng/index.ts +13 -1
  91. package/src/tool/bmpAWebp/i18n/de.ts +178 -0
  92. package/src/tool/bmpAWebp/i18n/en.ts +2 -12
  93. package/src/tool/bmpAWebp/i18n/es.ts +2 -12
  94. package/src/tool/bmpAWebp/i18n/fr.ts +2 -12
  95. package/src/tool/bmpAWebp/i18n/id.ts +178 -0
  96. package/src/tool/bmpAWebp/i18n/it.ts +178 -0
  97. package/src/tool/bmpAWebp/i18n/ja.ts +178 -0
  98. package/src/tool/bmpAWebp/i18n/ko.ts +178 -0
  99. package/src/tool/bmpAWebp/i18n/nl.ts +178 -0
  100. package/src/tool/bmpAWebp/i18n/pl.ts +178 -0
  101. package/src/tool/bmpAWebp/i18n/pt.ts +178 -0
  102. package/src/tool/bmpAWebp/i18n/ru.ts +178 -0
  103. package/src/tool/bmpAWebp/i18n/sv.ts +178 -0
  104. package/src/tool/bmpAWebp/i18n/tr.ts +178 -0
  105. package/src/tool/bmpAWebp/i18n/zh.ts +178 -0
  106. package/src/tool/bmpAWebp/index.ts +13 -1
  107. package/src/tool/gifAJpg/i18n/de.ts +178 -0
  108. package/src/tool/gifAJpg/i18n/en.ts +2 -12
  109. package/src/tool/gifAJpg/i18n/es.ts +2 -12
  110. package/src/tool/gifAJpg/i18n/fr.ts +2 -12
  111. package/src/tool/gifAJpg/i18n/id.ts +178 -0
  112. package/src/tool/gifAJpg/i18n/it.ts +178 -0
  113. package/src/tool/gifAJpg/i18n/ja.ts +178 -0
  114. package/src/tool/gifAJpg/i18n/ko.ts +178 -0
  115. package/src/tool/gifAJpg/i18n/nl.ts +178 -0
  116. package/src/tool/gifAJpg/i18n/pl.ts +178 -0
  117. package/src/tool/gifAJpg/i18n/pt.ts +178 -0
  118. package/src/tool/gifAJpg/i18n/ru.ts +178 -0
  119. package/src/tool/gifAJpg/i18n/sv.ts +178 -0
  120. package/src/tool/gifAJpg/i18n/tr.ts +178 -0
  121. package/src/tool/gifAJpg/i18n/zh.ts +178 -0
  122. package/src/tool/gifAJpg/index.ts +13 -1
  123. package/src/tool/gifAPng/i18n/de.ts +178 -0
  124. package/src/tool/gifAPng/i18n/en.ts +2 -12
  125. package/src/tool/gifAPng/i18n/es.ts +2 -12
  126. package/src/tool/gifAPng/i18n/fr.ts +2 -12
  127. package/src/tool/gifAPng/i18n/id.ts +178 -0
  128. package/src/tool/gifAPng/i18n/it.ts +178 -0
  129. package/src/tool/gifAPng/i18n/ja.ts +178 -0
  130. package/src/tool/gifAPng/i18n/ko.ts +178 -0
  131. package/src/tool/gifAPng/i18n/nl.ts +178 -0
  132. package/src/tool/gifAPng/i18n/pl.ts +178 -0
  133. package/src/tool/gifAPng/i18n/pt.ts +178 -0
  134. package/src/tool/gifAPng/i18n/ru.ts +178 -0
  135. package/src/tool/gifAPng/i18n/sv.ts +178 -0
  136. package/src/tool/gifAPng/i18n/tr.ts +178 -0
  137. package/src/tool/gifAPng/i18n/zh.ts +178 -0
  138. package/src/tool/gifAPng/index.ts +12 -0
  139. package/src/tool/gifAWebp/i18n/de.ts +178 -0
  140. package/src/tool/gifAWebp/i18n/en.ts +2 -12
  141. package/src/tool/gifAWebp/i18n/es.ts +2 -12
  142. package/src/tool/gifAWebp/i18n/fr.ts +2 -12
  143. package/src/tool/gifAWebp/i18n/id.ts +178 -0
  144. package/src/tool/gifAWebp/i18n/it.ts +178 -0
  145. package/src/tool/gifAWebp/i18n/ja.ts +178 -0
  146. package/src/tool/gifAWebp/i18n/ko.ts +178 -0
  147. package/src/tool/gifAWebp/i18n/nl.ts +178 -0
  148. package/src/tool/gifAWebp/i18n/pl.ts +178 -0
  149. package/src/tool/gifAWebp/i18n/pt.ts +178 -0
  150. package/src/tool/gifAWebp/i18n/ru.ts +178 -0
  151. package/src/tool/gifAWebp/i18n/sv.ts +178 -0
  152. package/src/tool/gifAWebp/i18n/tr.ts +178 -0
  153. package/src/tool/gifAWebp/i18n/zh.ts +178 -0
  154. package/src/tool/gifAWebp/index.ts +12 -0
  155. package/src/tool/imagenBase64/i18n/de.ts +168 -0
  156. package/src/tool/imagenBase64/i18n/en.ts +2 -12
  157. package/src/tool/imagenBase64/i18n/es.ts +2 -12
  158. package/src/tool/imagenBase64/i18n/fr.ts +2 -12
  159. package/src/tool/imagenBase64/i18n/id.ts +168 -0
  160. package/src/tool/imagenBase64/i18n/it.ts +168 -0
  161. package/src/tool/imagenBase64/i18n/ja.ts +168 -0
  162. package/src/tool/imagenBase64/i18n/ko.ts +168 -0
  163. package/src/tool/imagenBase64/i18n/nl.ts +168 -0
  164. package/src/tool/imagenBase64/i18n/pl.ts +168 -0
  165. package/src/tool/imagenBase64/i18n/pt.ts +173 -0
  166. package/src/tool/imagenBase64/i18n/ru.ts +168 -0
  167. package/src/tool/imagenBase64/i18n/sv.ts +168 -0
  168. package/src/tool/imagenBase64/i18n/tr.ts +168 -0
  169. package/src/tool/imagenBase64/i18n/zh.ts +168 -0
  170. package/src/tool/imagenBase64/index.ts +12 -0
  171. package/src/tool/jpgAIco/i18n/de.ts +183 -0
  172. package/src/tool/jpgAIco/i18n/en.ts +8 -13
  173. package/src/tool/jpgAIco/i18n/es.ts +13 -18
  174. package/src/tool/jpgAIco/i18n/fr.ts +9 -14
  175. package/src/tool/jpgAIco/i18n/id.ts +183 -0
  176. package/src/tool/jpgAIco/i18n/it.ts +183 -0
  177. package/src/tool/jpgAIco/i18n/ja.ts +183 -0
  178. package/src/tool/jpgAIco/i18n/ko.ts +183 -0
  179. package/src/tool/jpgAIco/i18n/nl.ts +183 -0
  180. package/src/tool/jpgAIco/i18n/pl.ts +183 -0
  181. package/src/tool/jpgAIco/i18n/pt.ts +183 -0
  182. package/src/tool/jpgAIco/i18n/ru.ts +183 -0
  183. package/src/tool/jpgAIco/i18n/sv.ts +183 -0
  184. package/src/tool/jpgAIco/i18n/tr.ts +183 -0
  185. package/src/tool/jpgAIco/i18n/zh.ts +183 -0
  186. package/src/tool/jpgAIco/index.ts +12 -0
  187. package/src/tool/jpgAPng/i18n/de.ts +178 -0
  188. package/src/tool/jpgAPng/i18n/en.ts +2 -12
  189. package/src/tool/jpgAPng/i18n/es.ts +2 -12
  190. package/src/tool/jpgAPng/i18n/fr.ts +2 -12
  191. package/src/tool/jpgAPng/i18n/id.ts +178 -0
  192. package/src/tool/jpgAPng/i18n/it.ts +178 -0
  193. package/src/tool/jpgAPng/i18n/ja.ts +178 -0
  194. package/src/tool/jpgAPng/i18n/ko.ts +178 -0
  195. package/src/tool/jpgAPng/i18n/nl.ts +178 -0
  196. package/src/tool/jpgAPng/i18n/pl.ts +178 -0
  197. package/src/tool/jpgAPng/i18n/pt.ts +178 -0
  198. package/src/tool/jpgAPng/i18n/ru.ts +178 -0
  199. package/src/tool/jpgAPng/i18n/sv.ts +178 -0
  200. package/src/tool/jpgAPng/i18n/tr.ts +178 -0
  201. package/src/tool/jpgAPng/i18n/zh.ts +178 -0
  202. package/src/tool/jpgAPng/index.ts +13 -1
  203. package/src/tool/jpgAWebp/i18n/de.ts +178 -0
  204. package/src/tool/jpgAWebp/i18n/en.ts +2 -12
  205. package/src/tool/jpgAWebp/i18n/es.ts +2 -12
  206. package/src/tool/jpgAWebp/i18n/fr.ts +2 -12
  207. package/src/tool/jpgAWebp/i18n/id.ts +178 -0
  208. package/src/tool/jpgAWebp/i18n/it.ts +178 -0
  209. package/src/tool/jpgAWebp/i18n/ja.ts +178 -0
  210. package/src/tool/jpgAWebp/i18n/ko.ts +178 -0
  211. package/src/tool/jpgAWebp/i18n/nl.ts +178 -0
  212. package/src/tool/jpgAWebp/i18n/pl.ts +178 -0
  213. package/src/tool/jpgAWebp/i18n/pt.ts +178 -0
  214. package/src/tool/jpgAWebp/i18n/ru.ts +178 -0
  215. package/src/tool/jpgAWebp/i18n/sv.ts +178 -0
  216. package/src/tool/jpgAWebp/i18n/tr.ts +178 -0
  217. package/src/tool/jpgAWebp/i18n/zh.ts +178 -0
  218. package/src/tool/jpgAWebp/index.ts +12 -0
  219. package/src/tool/pngAIco/i18n/de.ts +183 -0
  220. package/src/tool/pngAIco/i18n/en.ts +8 -13
  221. package/src/tool/pngAIco/i18n/es.ts +19 -24
  222. package/src/tool/pngAIco/i18n/fr.ts +20 -25
  223. package/src/tool/pngAIco/i18n/id.ts +183 -0
  224. package/src/tool/pngAIco/i18n/it.ts +183 -0
  225. package/src/tool/pngAIco/i18n/ja.ts +183 -0
  226. package/src/tool/pngAIco/i18n/ko.ts +183 -0
  227. package/src/tool/pngAIco/i18n/nl.ts +183 -0
  228. package/src/tool/pngAIco/i18n/pl.ts +183 -0
  229. package/src/tool/pngAIco/i18n/pt.ts +183 -0
  230. package/src/tool/pngAIco/i18n/ru.ts +183 -0
  231. package/src/tool/pngAIco/i18n/sv.ts +183 -0
  232. package/src/tool/pngAIco/i18n/tr.ts +183 -0
  233. package/src/tool/pngAIco/i18n/zh.ts +183 -0
  234. package/src/tool/pngAIco/index.ts +12 -0
  235. package/src/tool/pngAJpg/i18n/de.ts +191 -0
  236. package/src/tool/pngAJpg/i18n/en.ts +2 -12
  237. package/src/tool/pngAJpg/i18n/es.ts +2 -12
  238. package/src/tool/pngAJpg/i18n/fr.ts +2 -12
  239. package/src/tool/pngAJpg/i18n/id.ts +191 -0
  240. package/src/tool/pngAJpg/i18n/it.ts +191 -0
  241. package/src/tool/pngAJpg/i18n/ja.ts +191 -0
  242. package/src/tool/pngAJpg/i18n/ko.ts +191 -0
  243. package/src/tool/pngAJpg/i18n/nl.ts +191 -0
  244. package/src/tool/pngAJpg/i18n/pl.ts +191 -0
  245. package/src/tool/pngAJpg/i18n/pt.ts +191 -0
  246. package/src/tool/pngAJpg/i18n/ru.ts +191 -0
  247. package/src/tool/pngAJpg/i18n/sv.ts +191 -0
  248. package/src/tool/pngAJpg/i18n/tr.ts +191 -0
  249. package/src/tool/pngAJpg/i18n/zh.ts +191 -0
  250. package/src/tool/pngAJpg/index.ts +13 -1
  251. package/src/tool/pngAWebp/i18n/de.ts +182 -0
  252. package/src/tool/pngAWebp/i18n/en.ts +2 -12
  253. package/src/tool/pngAWebp/i18n/es.ts +2 -12
  254. package/src/tool/pngAWebp/i18n/fr.ts +2 -12
  255. package/src/tool/pngAWebp/i18n/id.ts +182 -0
  256. package/src/tool/pngAWebp/i18n/it.ts +182 -0
  257. package/src/tool/pngAWebp/i18n/ja.ts +182 -0
  258. package/src/tool/pngAWebp/i18n/ko.ts +182 -0
  259. package/src/tool/pngAWebp/i18n/nl.ts +182 -0
  260. package/src/tool/pngAWebp/i18n/pl.ts +182 -0
  261. package/src/tool/pngAWebp/i18n/pt.ts +182 -0
  262. package/src/tool/pngAWebp/i18n/ru.ts +182 -0
  263. package/src/tool/pngAWebp/i18n/sv.ts +182 -0
  264. package/src/tool/pngAWebp/i18n/tr.ts +182 -0
  265. package/src/tool/pngAWebp/i18n/zh.ts +182 -0
  266. package/src/tool/pngAWebp/index.ts +12 -0
  267. package/src/tool/svgAJpg/i18n/de.ts +178 -0
  268. package/src/tool/svgAJpg/i18n/en.ts +8 -13
  269. package/src/tool/svgAJpg/i18n/es.ts +8 -13
  270. package/src/tool/svgAJpg/i18n/fr.ts +2 -12
  271. package/src/tool/svgAJpg/i18n/id.ts +178 -0
  272. package/src/tool/svgAJpg/i18n/it.ts +178 -0
  273. package/src/tool/svgAJpg/i18n/ja.ts +178 -0
  274. package/src/tool/svgAJpg/i18n/ko.ts +178 -0
  275. package/src/tool/svgAJpg/i18n/nl.ts +178 -0
  276. package/src/tool/svgAJpg/i18n/pl.ts +178 -0
  277. package/src/tool/svgAJpg/i18n/pt.ts +178 -0
  278. package/src/tool/svgAJpg/i18n/ru.ts +178 -0
  279. package/src/tool/svgAJpg/i18n/sv.ts +178 -0
  280. package/src/tool/svgAJpg/i18n/tr.ts +178 -0
  281. package/src/tool/svgAJpg/i18n/zh.ts +178 -0
  282. package/src/tool/svgAJpg/index.ts +12 -0
  283. package/src/tool/svgAPng/i18n/de.ts +178 -0
  284. package/src/tool/svgAPng/i18n/en.ts +8 -13
  285. package/src/tool/svgAPng/i18n/es.ts +31 -36
  286. package/src/tool/svgAPng/i18n/fr.ts +2 -12
  287. package/src/tool/svgAPng/i18n/id.ts +178 -0
  288. package/src/tool/svgAPng/i18n/it.ts +178 -0
  289. package/src/tool/svgAPng/i18n/ja.ts +178 -0
  290. package/src/tool/svgAPng/i18n/ko.ts +178 -0
  291. package/src/tool/svgAPng/i18n/nl.ts +178 -0
  292. package/src/tool/svgAPng/i18n/pl.ts +178 -0
  293. package/src/tool/svgAPng/i18n/pt.ts +178 -0
  294. package/src/tool/svgAPng/i18n/ru.ts +178 -0
  295. package/src/tool/svgAPng/i18n/sv.ts +178 -0
  296. package/src/tool/svgAPng/i18n/tr.ts +178 -0
  297. package/src/tool/svgAPng/i18n/zh.ts +178 -0
  298. package/src/tool/svgAPng/index.ts +12 -0
  299. package/src/tool/webpAIco/i18n/de.ts +183 -0
  300. package/src/tool/webpAIco/i18n/en.ts +8 -13
  301. package/src/tool/webpAIco/i18n/es.ts +9 -14
  302. package/src/tool/webpAIco/i18n/fr.ts +11 -16
  303. package/src/tool/webpAIco/i18n/id.ts +183 -0
  304. package/src/tool/webpAIco/i18n/it.ts +183 -0
  305. package/src/tool/webpAIco/i18n/ja.ts +183 -0
  306. package/src/tool/webpAIco/i18n/ko.ts +183 -0
  307. package/src/tool/webpAIco/i18n/nl.ts +183 -0
  308. package/src/tool/webpAIco/i18n/pl.ts +183 -0
  309. package/src/tool/webpAIco/i18n/pt.ts +183 -0
  310. package/src/tool/webpAIco/i18n/ru.ts +183 -0
  311. package/src/tool/webpAIco/i18n/sv.ts +183 -0
  312. package/src/tool/webpAIco/i18n/tr.ts +183 -0
  313. package/src/tool/webpAIco/i18n/zh.ts +183 -0
  314. package/src/tool/webpAIco/index.ts +12 -0
  315. package/src/tool/webpAJpg/i18n/de.ts +187 -0
  316. package/src/tool/webpAJpg/i18n/en.ts +9 -13
  317. package/src/tool/webpAJpg/i18n/es.ts +37 -42
  318. package/src/tool/webpAJpg/i18n/fr.ts +35 -40
  319. package/src/tool/webpAJpg/i18n/id.ts +182 -0
  320. package/src/tool/webpAJpg/i18n/it.ts +182 -0
  321. package/src/tool/webpAJpg/i18n/ja.ts +182 -0
  322. package/src/tool/webpAJpg/i18n/ko.ts +182 -0
  323. package/src/tool/webpAJpg/i18n/nl.ts +182 -0
  324. package/src/tool/webpAJpg/i18n/pl.ts +182 -0
  325. package/src/tool/webpAJpg/i18n/pt.ts +182 -0
  326. package/src/tool/webpAJpg/i18n/ru.ts +182 -0
  327. package/src/tool/webpAJpg/i18n/sv.ts +182 -0
  328. package/src/tool/webpAJpg/i18n/tr.ts +182 -0
  329. package/src/tool/webpAJpg/i18n/zh.ts +182 -0
  330. package/src/tool/webpAJpg/index.ts +12 -0
  331. package/src/tool/webpAPng/i18n/de.ts +182 -0
  332. package/src/tool/webpAPng/i18n/en.ts +8 -13
  333. package/src/tool/webpAPng/i18n/es.ts +35 -40
  334. package/src/tool/webpAPng/i18n/fr.ts +2 -12
  335. package/src/tool/webpAPng/i18n/id.ts +182 -0
  336. package/src/tool/webpAPng/i18n/it.ts +182 -0
  337. package/src/tool/webpAPng/i18n/ja.ts +182 -0
  338. package/src/tool/webpAPng/i18n/ko.ts +182 -0
  339. package/src/tool/webpAPng/i18n/nl.ts +182 -0
  340. package/src/tool/webpAPng/i18n/pl.ts +182 -0
  341. package/src/tool/webpAPng/i18n/pt.ts +182 -0
  342. package/src/tool/webpAPng/i18n/ru.ts +182 -0
  343. package/src/tool/webpAPng/i18n/sv.ts +182 -0
  344. package/src/tool/webpAPng/i18n/tr.ts +182 -0
  345. package/src/tool/webpAPng/i18n/zh.ts +182 -0
  346. 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 = 'convert-avif-to-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
+ '사실입니다. 우리의 변환기는 장치의 내부 JavaScript 엔진을 사용하여 100% 로컬에서 실행됩니다.',
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 to 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: 제공 vs 편집',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'AVIF는 전송 형식으로서 뛰어납니다. 파일이 작고 로딩이 빠르며 알파 채널을 지원하고 뛰어난 시각적 품질을 갖추고 있습니다. 하지만 도구 생태계가 제한적입니다. 대부분의 디자인 소프트웨어는 AVIF를 직접 가져올 수 없어 창의적인 워크플로우를 중단시킵니다. Figma에서 AVIF를 열려 하거나 Photoshop에 레이어로 가져오려는 시도는 작동하지 않습니다.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'PNG는 디지털 디자인의 기본 형식입니다. 무손실 압축, 완전한 알파 채널 지원 및 모든 창의적인 도구와의 범용 호환성을 갖춘 PNG는 최고의 작업 형식입니다. 크기를 조절하거나 리터칭하거나 다른 형식으로 내보내거나 레이어 작업을 해야 할 때 PNG는 그 과정에서 어떠한 디테일이나 픽셀도 손실되지 않음을 보장합니다.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: '비교: 클라우드 변환기 vs 우리의 로컬 아키텍처',
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: '최신 브라우저는 통합된 AV1 엔진 덕분에 AVIF를 기본으로 디코드합니다. 파일을 불러오면 브라우저가 모든 알파 채널 정보를 유지하면서 메모리에서 이를 디코드합니다. 투명도를 포함한 디코드된 이미지는 알파 채널을 유지하기 위한 올바른 합성 모드로 HTML5 <code>Canvas</code> 요소 위에 그려집니다.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: '흰색으로 채워 투명도를 파괴하는 JPG로 내보내는 것과 달리, <code>toBlob(\'image/png\')</code>를 통한 PNG로 내보내는 것은 알파 채널을 온전히 유지합니다. 그 결과 원본 AVIF의 모든 픽셀, 모든 반투명 영역 및 모든 디테일을 보존하는 무손실 압축 PNG가 생성됩니다.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: '모든 디자인 도구를 위한 필수 사전 단계',
138
+ html: 'Figma, Photoshop, Illustrator 또는 어떤 디자인 도구에 가져오기 전에 AVIF를 PNG로 변환하세요. 이러한 애플리케이션은 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
+ '아이콘이나 스프라이트 생성을 위한 소스로 사용하기.',
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: 'ko', 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 = 'avif-naar-png-converter';
6
+ const title = 'AVIF naar PNG Online Converteren';
7
+ const description =
8
+ 'Converteer AVIF-afbeeldingen naar PNG met behoud van transparantie. Zonder bestanden te uploaden. Lokale verwerking in je browser. Gratis en onbeperkt.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Sleep AVIF-bestanden hierheen...',
12
+ convertText: 'Om ze direct naar PNG te converteren',
13
+ selectFiles: 'Bestanden selecteren',
14
+ processedFiles: 'Verwerkte bestanden',
15
+ downloadAll: 'Alles downloaden (.zip)',
16
+ pending: 'In afwachting',
17
+ bibliographyTitle: 'Bibliografische Referenties',
18
+ faqTitle: 'Veelgestelde Vragen',
19
+ };
20
+
21
+ const faq: AvifAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Waarom zou ik AVIF naar PNG converteren?',
24
+ answer:
25
+ 'AVIF is geweldig voor compressie, maar de compatibiliteit is beperkt in oudere browsers en klassieke editors. Door AVIF naar PNG te converteren, zorg je ervoor dat je bestand de originele transparantie behoudt en dat alle applicaties het kunnen openen.',
26
+ },
27
+ {
28
+ question: 'Blijven de transparanties van het originele AVIF-bestand behouden?',
29
+ answer:
30
+ 'Ja. In tegenstelling tot JPG, dat de transparante achtergrond verwijdert, behoudt onze converter bij het exporteren naar PNG het alfakanaal intact.',
31
+ },
32
+ {
33
+ question: 'Worden mijn afbeeldingen echt niet naar internet geüpload?',
34
+ answer:
35
+ 'Absoluut waar. Onze converter wordt 100% lokaal op je apparaat uitgevoerd met behulp van de interne JavaScript-engine.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Voeg je AVIF-bestanden toe',
42
+ text: 'Je kunt ze direct naar het begrensde gebied slepen of de knop gebruiken om de mappen op je apparaat te doorzoeken.',
43
+ },
44
+ {
45
+ name: 'Directe verwerking',
46
+ text: 'Laat de HTML5-processor de afbeelding renderen; het formaat verandert automatisch in PNG in microseconden.',
47
+ },
48
+ {
49
+ name: 'Download je PNG\'s',
50
+ text: 'Download de geconverteerde afbeeldingen één voor één of download een compleet blok via de ZIP-knop.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: AvifAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Alliance for Open Media: AVIF-formaat',
57
+ url: 'https://aomediacodec.github.io/av1-avif/',
58
+ },
59
+ {
60
+ name: 'W3C - Portable Network Graphics (PNG) Specificatie',
61
+ url: 'https://www.w3.org/TR/png/',
62
+ },
63
+ ];
64
+
65
+ const seo: AvifAPngLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'AVIF naar PNG Converter: Van Webdistributie naar Professionele Bewerking',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'AVIF is het ideale formaat voor het aanbieden van afbeeldingen op het web — klein, efficiënt en van hoge kwaliteit. Maar wanneer het tijd is om die afbeeldingen te bewerken, te retoucheren of ermee te werken in ontwerptools, wordt AVIF een obstakel. Figma, Photoshop, Illustrator, Sketch en vrijwel elke professionele ontwerptool verwachten PNG voor het werken met transparanties en verliesvrije bewerking. AVIF naar PNG converteren is de brug tussen de wereld van webdistributie en die van creatieve bewerking.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs PNG: Distributie vs Bewerking',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'AVIF excelleert als distributieformaat: kleine bestanden, snel laden, ondersteuning van alfakanalen en uitzonderlijke visuele kwaliteit. Het ecosysteem van tools is echter beperkt. De meeste ontwerpsoftware kan AVIF niet direct importeren, wat creatieve workflows onderbreekt. Proberen een AVIF in Figma te openen of als laag in Photoshop te importeren, werkt simpelweg niet.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'PNG is het eigen formaat van digitaal ontwerp. Met verliesvrije compressie, volledige ondersteuning van alfakanalen en universele compatibiliteit met alle creatieve tools, is PNG het werkformaat bij uitstek. Wanneer je moet schalen, retoucheren, exporteren naar meerdere formaten of in lagen moet werken, garandeert PNG dat je tijdens het proces geen details of pixels verliest.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Vergelijking: Cloud Converters vs Onze Lokale Architectuur',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Cloud Converters',
98
+ description: 'Tools die je AVIF-bestanden naar een externe server uploaden om ze te verwerken.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Je ontwerpafbeeldingen reizen naar servers van derden',
103
+ 'Wachttijd door netwerklatentie',
104
+ 'Mogelijk verlies of wijziging van het alfakanaal',
105
+ 'Groottebeperkingen die batchconversie bemoeilijken',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Onze Lokale Architectuur',
110
+ description: 'Directe verwerking in je browser via Vanilla JS-technologie en Canvas API.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Alfakanaal behouden met perfecte getrouwheid',
115
+ 'Directe conversie zonder gegevensoverdracht',
116
+ 'Geen limieten voor bestanden, grootte of batches',
117
+ 'Volledige privacy voor eigen ontwerpassets',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Hoe de technische conversie met transparanties werkt',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Moderne browsers decoderen AVIF standaard dankzij hun geïntegreerde AV1-engines. Bij het laden van het bestand decodeert de browser het in het geheugen met behoud van alle informatie van het alfakanaal. De gedecodeerde afbeelding — inclusief de transparanties — wordt op een HTML5-<code>Canvas</code>-element getekend met de juiste compositiemodus om het alfakanaal te behouden.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'In tegenstelling tot exporteren naar JPG (waarbij transparanties verloren gaan door ze met wit in te vullen), behoudt exporteren naar PNG via <code>toBlob(\'image/png\')</code> het alfakanaal volledig. Het resultaat is een PNG met verliesvrije compressie die elke pixel, elke semitransparantie en elk detail van de originele AVIF behoudt.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'De verplichte voorafgaande stap voor elke ontwerptool',
138
+ html: 'Converteer je AVIF\'s naar PNG voordat je ze importeert in Figma, Photoshop, Illustrator of een andere ontwerptool. Deze applicaties lezen AVIF niet direct, maar PNG werkt standaard in al deze tools, waarbij transparanties en kwaliteit perfect behouden blijven.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Casussen: wanneer je AVIF geconverteerd naar PNG nodig hebt',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Importeren in Figma, Sketch, Adobe XD of andere UI-design tools.',
150
+ 'Bewerken als laag in Photoshop, Affinity Photo of GIMP met behoud van transparantie.',
151
+ 'Gebruiken als bron voor het genereren van iconen of sprites.',
152
+ 'Verzenden naar klanten of medewerkers die werken met standaard ontwerpsoftware.',
153
+ 'Archiveren van afbeeldingen met transparanties in het verliesvrije bewerkingsformaat.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Conclusie: De brug tussen het web en ontwerp',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'AVIF en PNG zijn perfecte partners in een moderne workflow: AVIF voor efficiënte weblevering, PNG voor bewerking en samenwerking in ontwerptools. Met onze converter is de overgang van de een naar de ander direct, privé en behoudt elk detail — precies wat je nodig hebt wanneer je visuele assets belangrijk zijn.',
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: 'nl', 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 = 'konwerter-avif-na-png';
6
+ const title = 'Konwertuj AVIF na PNG Online';
7
+ const description =
8
+ 'Konwertuj obrazy AVIF na PNG z zachowaniem przezroczystości. Bez przesyłania plików. Przetwarzanie lokalne w Twojej przeglądarce. Darmowe i nielimitowane.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Przeciągnij pliki AVIF...',
12
+ convertText: 'Aby błyskawicznie konwertować je na PNG',
13
+ selectFiles: 'Wybierz pliki',
14
+ processedFiles: 'Przetworzone pliki',
15
+ downloadAll: 'Pobierz wszystko (.zip)',
16
+ pending: 'Oczekiwanie',
17
+ bibliographyTitle: 'Bibliografia',
18
+ faqTitle: 'Często zadawane pytania',
19
+ };
20
+
21
+ const faq: AvifAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Dlaczego warto konwertować AVIF na PNG?',
24
+ answer:
25
+ 'Format AVIF świetnie nadaje się do kompresji, ale jego kompatybilność jest ograniczona w starszych przeglądarkach i klasycznych edytorach. Konwertując AVIF na PNG, masz pewność, że plik zachowa oryginalną przezroczystość i będzie mógł zostać otwarty przez wszystkie aplikacje.',
26
+ },
27
+ {
28
+ question: 'Czy przezroczystości z oryginalnego pliku AVIF zostaną zachowane?',
29
+ answer:
30
+ 'Tak. W przeciwieństwie do formatu JPG, który usuwa przezroczyste tło, nasz konwerter eksportując do PNG zachowuje kanał alfa w nienaruszonym stanie.',
31
+ },
32
+ {
33
+ question: 'Czy to prawda, że moje obrazy nie są przesyłane do Internetu?',
34
+ answer:
35
+ 'Jak najbardziej. Nasz konwerter działa w 100% lokalnie na Twoim urządzeniu, korzystając z wewnętrznego silnika JavaScript.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Dodaj pliki AVIF',
42
+ text: 'Możesz przeciągnąć je bezpośrednio do wyznaczonego obszaru lub użyć przycisku do przeglądania folderów na Twoim komputerze.',
43
+ },
44
+ {
45
+ name: 'Natychmiastowe przetwarzanie',
46
+ text: 'Pozwól procesorowi HTML5 wyrenderować obraz; format zmieni się na PNG automatycznie w ciągu mikrosekund.',
47
+ },
48
+ {
49
+ name: 'Pobierz swoje pliki PNG',
50
+ text: 'Pobieraj przekonwertowane obrazy jeden po jednym lub pobierz cały pakiet za pomocą przycisku ZIP.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: AvifAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Alliance for Open Media: Format AVIF',
57
+ url: 'https://aomediacodec.github.io/av1-avif/',
58
+ },
59
+ {
60
+ name: 'W3C - Specyfikacja formatu 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: 'Konwerter AVIF na PNG: Od Dystrybucji Internetowej po Profesjonalną Edycję',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'AVIF to format idealny do dostarczania obrazów w sieci — małe pliki, wysoka jakość. Kiedy jednak przychodzi czas na edycję, retusz lub pracę z tymi obrazami w narzędziach projektowych, AVIF staje się przeszkodą. Figma, Photoshop, Illustrator, Sketch i praktycznie każde profesjonalne narzędzie do projektowania oczekują przesyłania plików PNG do pracy z przezroczystościami i bezstratnej edycji. Konwersja AVIF na PNG to most między światem dystrybucji internetowej a światem kreatywnej edycji.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs PNG: Dystrybucja vs Edycja',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'Format AVIF wyróżnia się w dystrybucji: małe pliki, szybkie ładowanie, obsługa kanału alfa i wyjątkowa jakość wizualna. Jednak jego ekosystem narzędzi jest ograniczony. Większość oprogramowania do projektowania nie potrafi bezpośrednio importować formatu AVIF, co przerywa kreatywne procesy robocze. Próba otwarcia pliku AVIF w Figmie lub zaimportowania go jako warstwy w Photoshopie po prostu nie działa.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'PNG to natywny format cyfrowego projektowania. Dzięki bezstratnej kompresji, pełnej obsłudze kanału alfa i uniwersalnej kompatybilności ze wszystkimi kreatywnymi narzędziami, PNG jest formatem roboczym par excellence. Kiedy musisz skalować, retuszować, eksportować do wielu formatów lub pracować na warstwach, PNG gwarantuje, że nie stracisz żadnego detalu ani piksela w tym procesie.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Porównanie: Konwertery w chmurze vs nasza lokalna architektura',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Konwertery w chmurze',
98
+ description: 'Narzędzia przesyłające Twoje pliki AVIF na zdalny serwer w celu ich przetworzenia.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Twoje obrazy projektowe wędrują do serwerów zewnętrznych',
103
+ 'Czas oczekiwania przez opóźnienia sieciowe',
104
+ 'Możliwa utrata lub zmiana kanału alfa',
105
+ 'Limity rozmiaru utrudniające konwersję wsadową',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Nasza lokalna architektura',
110
+ description: 'Przetwarzanie bezpośrednio w przeglądarce za pomocą technologii Vanilla JS i Canvas API.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Kanał alfa zachowany z idealną wiernością',
115
+ 'Natychmiastowa konwersja bez przesyłania danych',
116
+ 'Brak limitów liczby plików, rozmiaru czy pakietów',
117
+ 'Pełna prywatność projektów chronionych prawem autorskim',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Jak działa techniczna konwersja z przezroczystościami',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Nowoczesne przeglądarki dekodują format AVIF natywnie dzięki wbudowanym silnikom AV1. Przy ładowaniu pliku przeglądarka dekoduje go w pamięci, zachowując wszystkie informacje o kanale alfa. Zdekodowany obraz — wraz z przezroczystościami — jest rysowany na elemencie <code>Canvas</code> HTML5 z odpowiednim trybem kompozycji w celu zachowania kanału alfa.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'W przeciwieństwie do eksportu do JPG (który niszczy przezroczystości, wypełniając je kolorem białym), eksport do PNG za pomocą <code>toBlob(\'image/png\')</code> w pełni zachowuje kanał alfa. Rezultatem jest plik PNG z bezstratną kompresją, który zachowuje każdy piksel, każdą półprzezroczystość i każdy detal oryginalnego formatu AVIF.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Obowiązkowy etap wstępny dla każdego narzędzia projektowego',
138
+ html: 'Konwertuj pliki AVIF na PNG przed ich zaimportowaniem do Figmy, Photoshopa, Illustratora czy jakiegokolwiek narzędzia projektowego. Aplikacje te nie czytają bezpośrednio formatu AVIF, ale PNG działa natywnie we wszystkich z nich, zachowując przezroczystości i jakość w sposób perfekcyjny.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Przypadki użycia: kiedy potrzebujesz konwersji AVIF na PNG',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Importowanie do Figmy, Sketch, Adobe XD lub innych narzędzi do projektowania UI.',
150
+ 'Edycja na warstwach w Photoshopie, Affinity Photo lub GIMP z zachowaniem przezroczystości.',
151
+ 'Używanie jako źródła do generowania ikon lub duszków (sprites).',
152
+ 'Wysyłanie do klientów lub współpracowników pracujących w standardowym oprogramowaniu projektowym.',
153
+ 'Archiwizacja obrazów z przezroczystościami w bezstratnym formacie edycyjnym.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Podsumowanie: Most między internetem a projektowaniem',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'AVIF i PNG to idealni partnerzy w nowoczesnym procesie roboczym: AVIF do wydajnej dystrybucji w sieci, PNG do edycji i współpracy w narzędziach projektowych. Dzięki naszemu konwerterowi przejście z jednego formatu do drugiego jest natychmiastowe, prywatne i zachowuje każdy detal — dokładnie to, czego potrzebujesz, gdy Twoje zasoby wizualne mają znaczenie.',
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: 'pl', faq, howTo }),
178
+ };