@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 = 'konverter-avif-ke-png';
6
+ const title = 'Ubah AVIF ke PNG Online';
7
+ const description =
8
+ 'Ubah gambar AVIF ke PNG dengan tetap mempertahankan transparansi. Tanpa mengunggah file. Pemrosesan lokal di browser Anda. Gratis dan tidak terbatas.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Seret file AVIF...',
12
+ convertText: 'Untuk mengubahnya ke PNG secara instan',
13
+ selectFiles: 'Pilih file',
14
+ processedFiles: 'File yang diproses',
15
+ downloadAll: 'Unduh Semua (.zip)',
16
+ pending: 'Tertunda',
17
+ bibliographyTitle: 'Referensi Bibliografi',
18
+ faqTitle: 'Pertanyaan Umum',
19
+ };
20
+
21
+ const faq: AvifAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Mengapa saya harus mengubah AVIF ke PNG?',
24
+ answer:
25
+ 'AVIF sangat bagus untuk kompresi, tetapi kompatibilitasnya terbatas pada browser lama dan editor klasik. Dengan mengubah dari AVIF ke PNG, Anda memastikan bahwa file Anda akan mempertahankan transparansi asli dan semua aplikasi dapat membukanya.',
26
+ },
27
+ {
28
+ question: 'Apakah transparansi file AVIF asli tetap dipertahankan?',
29
+ answer:
30
+ 'Ya. Berbeda dengan JPG yang menghapus latar belakang transparan, saat mengekspor ke PNG, konverter kami menjaga saluran alfa tetap utuh.',
31
+ },
32
+ {
33
+ question: 'Apakah benar gambar saya tidak diunggah ke internet?',
34
+ answer:
35
+ 'Benar sekali. Konverter kami berjalan 100% secara lokal di perangkat Anda menggunakan mesin JavaScript internal.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Tambahkan file AVIF Anda',
42
+ text: 'Anda dapat menyeretnya langsung ke area yang ditentukan atau menggunakan tombol untuk menjelajahi folder di komputer Anda.',
43
+ },
44
+ {
45
+ name: 'Pemrosesan segera',
46
+ text: 'Biarkan prosesor HTML5 merender gambar; format akan berubah menjadi PNG secara otomatis dalam hitungan mikrodetik.',
47
+ },
48
+ {
49
+ name: 'Dapatkan file PNG Anda',
50
+ text: 'Unduh gambar yang dikonversi satu per satu atau unduh seluruh blok melalui tombol 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 - Spesifikasi 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: 'Konverter AVIF ke PNG: Dari Pengiriman Web ke Pengeditan Profesional',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'AVIF adalah format ideal untuk menyajikan gambar di web — kecil, efisien, dan berkualitas tinggi. Namun saat tiba waktunya untuk mengedit, merekayasa ulang, atau mengerjakan gambar tersebut di alat desain, AVIF menjadi penghalang. Figma, Photoshop, Illustrator, Sketch, dan hampir semua alat desain profesional mengharapkan PNG untuk pengerjaan transparansi dan pengeditan tanpa kehilangan. Mengubah AVIF ke PNG adalah jembatan antara dunia pengiriman web dan dunia pengeditan kreatif.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs PNG: Pengiriman vs Pengeditan',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'AVIF menonjol sebagai format pengiriman: file kecil, pemuatan cepat, dukungan saluran alfa, dan kualitas visual yang luar biasa. Namun, ekosistem alatnya terbatas. Sebagian besar perangkat lunak desain tidak dapat mengimpor AVIF secara langsung, yang mengganggu alur kerja kreatif. Mencoba membuka AVIF di Figma atau mengimpornya sebagai lapisan di Photoshop tidak akan berhasil.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'PNG adalah format asli dari desain digital. Dengan kompresi tanpa kehilangan, dukungan saluran alfa penuh, dan kompatibilitas universal dengan semua alat kreatif, PNG adalah format kerja par excellence. Saat Anda perlu menskalakan, merekayasa ulang, mengekspor ke berbagai format, atau bekerja dalam lapisan, PNG menjamin bahwa Anda tidak akan kehilangan detail atau piksel apa pun dalam prosesnya.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Perbandingan: Konverter Cloud vs Arsitektur Lokal Kami',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Konverter Cloud',
98
+ description: 'Alat yang mengunggah file AVIF Anda ke server jarak jauh untuk memprosesnya.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Gambar desain Anda dikirim ke server pihak ketiga',
103
+ 'Waktu tunggu karena latensi jaringan',
104
+ 'Kemungkinan kehilangan atau perubahan saluran alfa',
105
+ 'Batasan ukuran yang mempersulit konversi massal',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Arsitektur Lokal Kami',
110
+ description: 'Pemrosesan langsung di browser Anda menggunakan teknologi Vanilla JS dan Canvas API.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Saluran alfa dipertahankan dengan ketepatan sempurna',
115
+ 'Konversi instan tanpa transfer data',
116
+ 'Tanpa batasan file, ukuran, maupun batch',
117
+ 'Privasi total untuk aset desain milik sendiri',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Cara kerja konversi teknis dengan transparansi',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Browser modern mendekode AVIF secara asli berkat mesin AV1 terintegrasi mereka. Saat memuat file, browser mendekodenya dalam memori dengan tetap mempertahankan semua informasi saluran alfa. Gambar yang didekodekan — termasuk transparansinya — digambar di atas elemen <code>Canvas</code> HTML5 dengan mode komposisi yang tepat untuk mempertahankan saluran alfa.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Berbeda dengan ekspor ke JPG (yang merusak transparansi dengan mengisinya dengan warna putih), ekspor ke PNG menggunakan <code>toBlob(\'image/png\')</code> mempertahankan saluran alfa secara utuh. Hasilnya adalah PNG dengan kompresi tanpa kehilangan yang menjaga setiap piksel, setiap semi-transparansi, dan setiap detail dari AVIF asli.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Langkah awal wajib untuk alat desain apa pun',
138
+ html: 'Ubah AVIF Anda ke PNG sebelum mengimpornya ke Figma, Photoshop, Illustrator, atau alat desain apa pun. Aplikasi ini tidak membaca AVIF secara langsung, tetapi PNG berfungsi secara asli di semuanya, mempertahankan transparansi dan kualitas dengan sempurna.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Kasus penggunaan: kapan Anda membutuhkan AVIF dikonversi ke PNG',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Impor ke Figma, Sketch, Adobe XD, atau alat desain UI lainnya.',
150
+ 'Edit sebagai lapisan di Photoshop, Affinity Photo, atau GIMP dengan tetap mempertahankan transparansi.',
151
+ 'Gunakan sebagai sumber untuk pembuatan ikon atau sprite.',
152
+ 'Kirim ke klien atau kolaborator yang bekerja dengan perangkat lunak desain standar.',
153
+ 'Arsipkan gambar dengan transparansi dalam format pengeditan tanpa kehilangan.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Kesimpulan: Jembatan antara web dan desain',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'AVIF dan PNG adalah mitra sempurna dalam alur kerja modern: AVIF untuk pengiriman web yang efisien, PNG untuk pengeditan dan kolaborasi dalam alat desain. Dengan konverter kami, peralihan dari satu ke yang lain bersifat instan, pribadi, dan mempertahankan setiap detail — tepat seperti yang Anda butuhkan saat aset visual Anda sangat penting.',
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: 'id', 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 = 'convertitore-avif-a-png';
6
+ const title = 'Convertire AVIF in PNG Online';
7
+ const description =
8
+ 'Converti le tue immagini AVIF in PNG preservando le trasparenze. Senza caricare file. Elaborazione locale nel tuo browser. Gratuito e illimitato.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Trascina i file AVIF...',
12
+ convertText: 'Per convertirli in PNG istantaneamente',
13
+ selectFiles: 'Seleziona i file',
14
+ processedFiles: 'File elaborati',
15
+ downloadAll: 'Scarica tutto (.zip)',
16
+ pending: 'In attesa',
17
+ bibliographyTitle: 'Riferimenti Bibliografici',
18
+ faqTitle: 'Domande Frequenti',
19
+ };
20
+
21
+ const faq: AvifAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Perché dovrei convertire AVIF in PNG?',
24
+ answer:
25
+ 'L\'AVIF è ottimo per la compressione, ma la sua compatibilità è limitata nei browser meno recenti e negli editor classici. Convertendo l\'AVIF in PNG, ti assicuri che il tuo file manterrà la trasparenza originale e tutte le applicazioni potranno aprirlo.',
26
+ },
27
+ {
28
+ question: 'Le trasparenze del file AVIF originale vengono mantenute?',
29
+ answer:
30
+ 'Sì. A differenza del JPG che elimina lo sfondo trasparente, esportando in PNG il nostro convertitore mantiene intatto il canale alfa.',
31
+ },
32
+ {
33
+ question: 'È vero che le mie immagini non vengono caricate su Internet?',
34
+ answer:
35
+ 'Assolutamente vero. Il nostro convertitore viene eseguito al 100% localmente sul tuo dispositivo utilizzando il motore JavaScript interno.',
36
+ },
37
+ ];
38
+
39
+ const howTo: AvifAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Aggiungi i tuoi file AVIF',
42
+ text: 'Puoi trascinarli direttamente nell\'area delimitata o utilizzare il pulsante per esplorare le cartelle del tuo computer.',
43
+ },
44
+ {
45
+ name: 'Elaborazione immediata',
46
+ text: 'Lascia che il processore HTML5 esegua il rendering dell\'immagine; il formato cambierà automaticamente in PNG in pochi microsecondi.',
47
+ },
48
+ {
49
+ name: 'Ottieni i tuoi PNG',
50
+ text: 'Scarica le immagini convertite una ad una o scarica un blocco completo tramite il pulsante 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 - Specifiche 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: 'Convertitore AVIF a PNG: Dal Web Editing alla Progettazione Professionale',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'L\'AVIF è il formato ideale per servire immagini sul web: piccolo, efficiente e di alta qualità. Ma quando arriva il momento di modificare, ritoccare o lavorare con quelle immagini in strumenti di progettazione, l\'AVIF diventa un ostacolo. Figma, Photoshop, Illustrator, Sketch e praticamente qualsiasi strumento di progettazione professionale si aspettano di ricevere PNG per il lavoro con trasparenze e l\'editing senza perdita. Convertire l\'AVIF in PNG è il ponte tra il mondo della distribuzione web e quello dell\'editing creativo.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'AVIF vs PNG: Distribuzione vs Editing',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'L\'AVIF eccelle come formato di distribuzione: file piccoli, caricamento rapido, supporto del canale alfa e qualità visiva eccezionale. Tuttavia, il suo ecosistema di strumenti è limitato. La maggior parte dei software di progettazione non può importare l\'AVIF direttamente, interrompendo i flussi di lavoro creativi. Provare ad aprire un AVIF in Figma o importarlo come livello in Photoshop semplicemente non funziona.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'Il PNG è il formato nativo della progettazione digitale. Con compressione senza perdita, supporto completo del canale alfa e compatibilità universale con tutti gli strumenti creativi, il PNG è il formato di lavoro per eccellenza. Quando hai bisogno di scalare, ritoccare, esportare in più formati o lavorare a livelli, il PNG garantisce che non perderai alcun dettaglio o pixel nel processo.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Confronto: Convertitori Cloud vs La Nostra Architettura Locale',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Convertitori Cloud',
98
+ description: 'Strumenti che caricano i tuoi file AVIF su un server remoto per elaborarli.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Le tue immagini di progettazione viaggiano verso server di terze parti',
103
+ 'Tempi di attesa dovuti alla latenza di rete',
104
+ 'Possibile perdita o alterazione del canale alfa',
105
+ 'Limiti di dimensione che complicano la conversione in batch',
106
+ ],
107
+ },
108
+ {
109
+ title: 'La Nostra Architettura Locale',
110
+ description: 'Elaborazione diretta nel tuo browser tramite tecnologia Vanilla JS e Canvas API.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Canale alfa preservato con fedeltà perfetta',
115
+ 'Conversione istantanea senza trasferimento di dati',
116
+ 'Senza limiti di file, dimensioni o batch',
117
+ 'Privacy totale per asset di progettazione proprietari',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Come funziona la conversione tecnica con le trasparenze',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'I browser moderni decodificano l\'AVIF in modo nativo grazie ai loro motori AV1 integrati. Caricando il file, il browser lo decodifica in memoria preservando tutte le informazioni del canale alfa. L\'immagine decodificata, incluse le sue trasparenze, viene disegnata su un elemento <code>Canvas</code> HTML5 con la modalità di composizione corretta per preservare il canale alfa.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'A differenza dell\'esportazione in JPG (che distrugge le trasparenze riempiendo con il bianco), l\'esportazione in PNG tramite <code>toBlob(\'image/png\')</code> preserva integralmente il canale alfa. Il risultato è un PNG con compressione senza perdita che mantiene ogni pixel, ogni semitrasparenza e ogni dettaglio dell\'AVIF originale.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Il passaggio obbligatorio per qualsiasi strumento di progettazione',
138
+ html: 'Converti i tuoi AVIF in PNG prima di importarli in Figma, Photoshop, Illustrator o qualsiasi strumento di progettazione. Queste applicazioni non leggono l\'AVIF direttamente, ma il PNG funziona in modo nativo in tutte, preservando perfettamente trasparenze e qualità.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Casi d\'uso: quando hai bisogno dell\'AVIF convertito in PNG',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Importazione in Figma, Sketch, Adobe XD o altri strumenti di progettazione UI.',
150
+ 'Editing come livello in Photoshop, Affinity Photo o GIMP preservando le trasparenze.',
151
+ 'Utilizzo come sorgente per la generazione di icone o sprite.',
152
+ 'Invio a clienti o collaboratori che lavorano con software di progettazione standard.',
153
+ 'Archiviazione di immagini con trasparenze in formato di editing senza perdita.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Conclusione: Il ponte tra il web e la progettazione',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'AVIF e PNG sono compagni perfetti in un flusso di lavoro moderno: AVIF per la distribuzione efficiente sul web, PNG per l\'editing e la collaborazione negli strumenti di progettazione. Con il nostro convertitore, il passaggio dall\'uno all\'altro è istantaneo, privato e preserva ogni dettaglio: esattamente ciò di cui hai bisogno quando i tuoi asset visivi sono importanti.',
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: 'it', 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 = '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-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
+ };