@jjlmoya/utils-converters 1.7.0 → 1.9.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/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/slug_uniqueness.test.ts +81 -0
  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 = 'avif-to-png-converter';
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-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: '比較:クラウドコンバーターと当サイトのローカルアーキテクチャ',
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: 'ja', 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-to-png-converter';
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
+ };