@jjlmoya/utils-converters 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/package.json +60 -59
  2. package/src/shared/logic/schemas.ts +57 -0
  3. package/src/tests/faq_count.test.ts +13 -4
  4. package/src/tests/i18n_coverage.test.ts +36 -0
  5. package/src/tests/locale_completeness.test.ts +42 -0
  6. package/src/tests/no_h1_in_components.test.ts +48 -0
  7. package/src/tests/schemas_fulfillment.test.ts +23 -0
  8. package/src/tests/seo_length.test.ts +1 -1
  9. package/src/tests/title_quality.test.ts +55 -0
  10. package/src/tool/avifAJpg/i18n/de.ts +178 -0
  11. package/src/tool/avifAJpg/i18n/en.ts +2 -12
  12. package/src/tool/avifAJpg/i18n/es.ts +2 -12
  13. package/src/tool/avifAJpg/i18n/fr.ts +2 -12
  14. package/src/tool/avifAJpg/i18n/id.ts +178 -0
  15. package/src/tool/avifAJpg/i18n/it.ts +178 -0
  16. package/src/tool/avifAJpg/i18n/ja.ts +178 -0
  17. package/src/tool/avifAJpg/i18n/ko.ts +178 -0
  18. package/src/tool/avifAJpg/i18n/nl.ts +178 -0
  19. package/src/tool/avifAJpg/i18n/pl.ts +178 -0
  20. package/src/tool/avifAJpg/i18n/pt.ts +178 -0
  21. package/src/tool/avifAJpg/i18n/ru.ts +178 -0
  22. package/src/tool/avifAJpg/i18n/sv.ts +178 -0
  23. package/src/tool/avifAJpg/i18n/tr.ts +178 -0
  24. package/src/tool/avifAJpg/i18n/zh.ts +178 -0
  25. package/src/tool/avifAJpg/index.ts +13 -1
  26. package/src/tool/avifAPng/i18n/de.ts +178 -0
  27. package/src/tool/avifAPng/i18n/en.ts +2 -12
  28. package/src/tool/avifAPng/i18n/es.ts +2 -12
  29. package/src/tool/avifAPng/i18n/fr.ts +2 -12
  30. package/src/tool/avifAPng/i18n/id.ts +178 -0
  31. package/src/tool/avifAPng/i18n/it.ts +178 -0
  32. package/src/tool/avifAPng/i18n/ja.ts +178 -0
  33. package/src/tool/avifAPng/i18n/ko.ts +178 -0
  34. package/src/tool/avifAPng/i18n/nl.ts +178 -0
  35. package/src/tool/avifAPng/i18n/pl.ts +178 -0
  36. package/src/tool/avifAPng/i18n/pt.ts +178 -0
  37. package/src/tool/avifAPng/i18n/ru.ts +178 -0
  38. package/src/tool/avifAPng/i18n/sv.ts +178 -0
  39. package/src/tool/avifAPng/i18n/tr.ts +178 -0
  40. package/src/tool/avifAPng/i18n/zh.ts +178 -0
  41. package/src/tool/avifAPng/index.ts +13 -1
  42. package/src/tool/avifAWebp/i18n/de.ts +178 -0
  43. package/src/tool/avifAWebp/i18n/en.ts +2 -12
  44. package/src/tool/avifAWebp/i18n/es.ts +2 -12
  45. package/src/tool/avifAWebp/i18n/fr.ts +2 -12
  46. package/src/tool/avifAWebp/i18n/id.ts +178 -0
  47. package/src/tool/avifAWebp/i18n/it.ts +178 -0
  48. package/src/tool/avifAWebp/i18n/ja.ts +178 -0
  49. package/src/tool/avifAWebp/i18n/ko.ts +178 -0
  50. package/src/tool/avifAWebp/i18n/nl.ts +178 -0
  51. package/src/tool/avifAWebp/i18n/pl.ts +178 -0
  52. package/src/tool/avifAWebp/i18n/pt.ts +178 -0
  53. package/src/tool/avifAWebp/i18n/ru.ts +178 -0
  54. package/src/tool/avifAWebp/i18n/sv.ts +178 -0
  55. package/src/tool/avifAWebp/i18n/tr.ts +178 -0
  56. package/src/tool/avifAWebp/i18n/zh.ts +178 -0
  57. package/src/tool/avifAWebp/index.ts +13 -1
  58. package/src/tool/bmpAJpg/i18n/de.ts +178 -0
  59. package/src/tool/bmpAJpg/i18n/en.ts +2 -12
  60. package/src/tool/bmpAJpg/i18n/es.ts +2 -12
  61. package/src/tool/bmpAJpg/i18n/fr.ts +2 -12
  62. package/src/tool/bmpAJpg/i18n/id.ts +178 -0
  63. package/src/tool/bmpAJpg/i18n/it.ts +178 -0
  64. package/src/tool/bmpAJpg/i18n/ja.ts +178 -0
  65. package/src/tool/bmpAJpg/i18n/ko.ts +178 -0
  66. package/src/tool/bmpAJpg/i18n/nl.ts +178 -0
  67. package/src/tool/bmpAJpg/i18n/pl.ts +178 -0
  68. package/src/tool/bmpAJpg/i18n/pt.ts +178 -0
  69. package/src/tool/bmpAJpg/i18n/ru.ts +178 -0
  70. package/src/tool/bmpAJpg/i18n/sv.ts +178 -0
  71. package/src/tool/bmpAJpg/i18n/tr.ts +178 -0
  72. package/src/tool/bmpAJpg/i18n/zh.ts +178 -0
  73. package/src/tool/bmpAJpg/index.ts +13 -1
  74. package/src/tool/bmpAPng/i18n/de.ts +177 -0
  75. package/src/tool/bmpAPng/i18n/en.ts +2 -12
  76. package/src/tool/bmpAPng/i18n/es.ts +2 -12
  77. package/src/tool/bmpAPng/i18n/fr.ts +2 -12
  78. package/src/tool/bmpAPng/i18n/id.ts +177 -0
  79. package/src/tool/bmpAPng/i18n/it.ts +177 -0
  80. package/src/tool/bmpAPng/i18n/ja.ts +177 -0
  81. package/src/tool/bmpAPng/i18n/ko.ts +177 -0
  82. package/src/tool/bmpAPng/i18n/nl.ts +177 -0
  83. package/src/tool/bmpAPng/i18n/pl.ts +177 -0
  84. package/src/tool/bmpAPng/i18n/pt.ts +177 -0
  85. package/src/tool/bmpAPng/i18n/ru.ts +177 -0
  86. package/src/tool/bmpAPng/i18n/sv.ts +177 -0
  87. package/src/tool/bmpAPng/i18n/tr.ts +177 -0
  88. package/src/tool/bmpAPng/i18n/zh.ts +177 -0
  89. package/src/tool/bmpAPng/index.ts +13 -1
  90. package/src/tool/bmpAWebp/i18n/de.ts +178 -0
  91. package/src/tool/bmpAWebp/i18n/en.ts +2 -12
  92. package/src/tool/bmpAWebp/i18n/es.ts +2 -12
  93. package/src/tool/bmpAWebp/i18n/fr.ts +2 -12
  94. package/src/tool/bmpAWebp/i18n/id.ts +178 -0
  95. package/src/tool/bmpAWebp/i18n/it.ts +178 -0
  96. package/src/tool/bmpAWebp/i18n/ja.ts +178 -0
  97. package/src/tool/bmpAWebp/i18n/ko.ts +178 -0
  98. package/src/tool/bmpAWebp/i18n/nl.ts +178 -0
  99. package/src/tool/bmpAWebp/i18n/pl.ts +178 -0
  100. package/src/tool/bmpAWebp/i18n/pt.ts +178 -0
  101. package/src/tool/bmpAWebp/i18n/ru.ts +178 -0
  102. package/src/tool/bmpAWebp/i18n/sv.ts +178 -0
  103. package/src/tool/bmpAWebp/i18n/tr.ts +178 -0
  104. package/src/tool/bmpAWebp/i18n/zh.ts +178 -0
  105. package/src/tool/bmpAWebp/index.ts +13 -1
  106. package/src/tool/gifAJpg/i18n/de.ts +178 -0
  107. package/src/tool/gifAJpg/i18n/en.ts +2 -12
  108. package/src/tool/gifAJpg/i18n/es.ts +2 -12
  109. package/src/tool/gifAJpg/i18n/fr.ts +2 -12
  110. package/src/tool/gifAJpg/i18n/id.ts +178 -0
  111. package/src/tool/gifAJpg/i18n/it.ts +178 -0
  112. package/src/tool/gifAJpg/i18n/ja.ts +178 -0
  113. package/src/tool/gifAJpg/i18n/ko.ts +178 -0
  114. package/src/tool/gifAJpg/i18n/nl.ts +178 -0
  115. package/src/tool/gifAJpg/i18n/pl.ts +178 -0
  116. package/src/tool/gifAJpg/i18n/pt.ts +178 -0
  117. package/src/tool/gifAJpg/i18n/ru.ts +178 -0
  118. package/src/tool/gifAJpg/i18n/sv.ts +178 -0
  119. package/src/tool/gifAJpg/i18n/tr.ts +178 -0
  120. package/src/tool/gifAJpg/i18n/zh.ts +178 -0
  121. package/src/tool/gifAJpg/index.ts +13 -1
  122. package/src/tool/gifAPng/i18n/de.ts +178 -0
  123. package/src/tool/gifAPng/i18n/en.ts +2 -12
  124. package/src/tool/gifAPng/i18n/es.ts +2 -12
  125. package/src/tool/gifAPng/i18n/fr.ts +2 -12
  126. package/src/tool/gifAPng/i18n/id.ts +178 -0
  127. package/src/tool/gifAPng/i18n/it.ts +178 -0
  128. package/src/tool/gifAPng/i18n/ja.ts +178 -0
  129. package/src/tool/gifAPng/i18n/ko.ts +178 -0
  130. package/src/tool/gifAPng/i18n/nl.ts +178 -0
  131. package/src/tool/gifAPng/i18n/pl.ts +178 -0
  132. package/src/tool/gifAPng/i18n/pt.ts +178 -0
  133. package/src/tool/gifAPng/i18n/ru.ts +178 -0
  134. package/src/tool/gifAPng/i18n/sv.ts +178 -0
  135. package/src/tool/gifAPng/i18n/tr.ts +178 -0
  136. package/src/tool/gifAPng/i18n/zh.ts +178 -0
  137. package/src/tool/gifAPng/index.ts +12 -0
  138. package/src/tool/gifAWebp/i18n/de.ts +178 -0
  139. package/src/tool/gifAWebp/i18n/en.ts +2 -12
  140. package/src/tool/gifAWebp/i18n/es.ts +2 -12
  141. package/src/tool/gifAWebp/i18n/fr.ts +2 -12
  142. package/src/tool/gifAWebp/i18n/id.ts +178 -0
  143. package/src/tool/gifAWebp/i18n/it.ts +178 -0
  144. package/src/tool/gifAWebp/i18n/ja.ts +178 -0
  145. package/src/tool/gifAWebp/i18n/ko.ts +178 -0
  146. package/src/tool/gifAWebp/i18n/nl.ts +178 -0
  147. package/src/tool/gifAWebp/i18n/pl.ts +178 -0
  148. package/src/tool/gifAWebp/i18n/pt.ts +178 -0
  149. package/src/tool/gifAWebp/i18n/ru.ts +178 -0
  150. package/src/tool/gifAWebp/i18n/sv.ts +178 -0
  151. package/src/tool/gifAWebp/i18n/tr.ts +178 -0
  152. package/src/tool/gifAWebp/i18n/zh.ts +178 -0
  153. package/src/tool/gifAWebp/index.ts +12 -0
  154. package/src/tool/imagenBase64/i18n/de.ts +168 -0
  155. package/src/tool/imagenBase64/i18n/en.ts +2 -12
  156. package/src/tool/imagenBase64/i18n/es.ts +2 -12
  157. package/src/tool/imagenBase64/i18n/fr.ts +2 -12
  158. package/src/tool/imagenBase64/i18n/id.ts +168 -0
  159. package/src/tool/imagenBase64/i18n/it.ts +168 -0
  160. package/src/tool/imagenBase64/i18n/ja.ts +168 -0
  161. package/src/tool/imagenBase64/i18n/ko.ts +168 -0
  162. package/src/tool/imagenBase64/i18n/nl.ts +168 -0
  163. package/src/tool/imagenBase64/i18n/pl.ts +168 -0
  164. package/src/tool/imagenBase64/i18n/pt.ts +173 -0
  165. package/src/tool/imagenBase64/i18n/ru.ts +168 -0
  166. package/src/tool/imagenBase64/i18n/sv.ts +168 -0
  167. package/src/tool/imagenBase64/i18n/tr.ts +168 -0
  168. package/src/tool/imagenBase64/i18n/zh.ts +168 -0
  169. package/src/tool/imagenBase64/index.ts +12 -0
  170. package/src/tool/jpgAIco/i18n/de.ts +183 -0
  171. package/src/tool/jpgAIco/i18n/en.ts +8 -13
  172. package/src/tool/jpgAIco/i18n/es.ts +13 -18
  173. package/src/tool/jpgAIco/i18n/fr.ts +9 -14
  174. package/src/tool/jpgAIco/i18n/id.ts +183 -0
  175. package/src/tool/jpgAIco/i18n/it.ts +183 -0
  176. package/src/tool/jpgAIco/i18n/ja.ts +183 -0
  177. package/src/tool/jpgAIco/i18n/ko.ts +183 -0
  178. package/src/tool/jpgAIco/i18n/nl.ts +183 -0
  179. package/src/tool/jpgAIco/i18n/pl.ts +183 -0
  180. package/src/tool/jpgAIco/i18n/pt.ts +183 -0
  181. package/src/tool/jpgAIco/i18n/ru.ts +183 -0
  182. package/src/tool/jpgAIco/i18n/sv.ts +183 -0
  183. package/src/tool/jpgAIco/i18n/tr.ts +183 -0
  184. package/src/tool/jpgAIco/i18n/zh.ts +183 -0
  185. package/src/tool/jpgAIco/index.ts +12 -0
  186. package/src/tool/jpgAPng/i18n/de.ts +178 -0
  187. package/src/tool/jpgAPng/i18n/en.ts +2 -12
  188. package/src/tool/jpgAPng/i18n/es.ts +2 -12
  189. package/src/tool/jpgAPng/i18n/fr.ts +2 -12
  190. package/src/tool/jpgAPng/i18n/id.ts +178 -0
  191. package/src/tool/jpgAPng/i18n/it.ts +178 -0
  192. package/src/tool/jpgAPng/i18n/ja.ts +178 -0
  193. package/src/tool/jpgAPng/i18n/ko.ts +178 -0
  194. package/src/tool/jpgAPng/i18n/nl.ts +178 -0
  195. package/src/tool/jpgAPng/i18n/pl.ts +178 -0
  196. package/src/tool/jpgAPng/i18n/pt.ts +178 -0
  197. package/src/tool/jpgAPng/i18n/ru.ts +178 -0
  198. package/src/tool/jpgAPng/i18n/sv.ts +178 -0
  199. package/src/tool/jpgAPng/i18n/tr.ts +178 -0
  200. package/src/tool/jpgAPng/i18n/zh.ts +178 -0
  201. package/src/tool/jpgAPng/index.ts +13 -1
  202. package/src/tool/jpgAWebp/i18n/de.ts +178 -0
  203. package/src/tool/jpgAWebp/i18n/en.ts +2 -12
  204. package/src/tool/jpgAWebp/i18n/es.ts +2 -12
  205. package/src/tool/jpgAWebp/i18n/fr.ts +2 -12
  206. package/src/tool/jpgAWebp/i18n/id.ts +178 -0
  207. package/src/tool/jpgAWebp/i18n/it.ts +178 -0
  208. package/src/tool/jpgAWebp/i18n/ja.ts +178 -0
  209. package/src/tool/jpgAWebp/i18n/ko.ts +178 -0
  210. package/src/tool/jpgAWebp/i18n/nl.ts +178 -0
  211. package/src/tool/jpgAWebp/i18n/pl.ts +178 -0
  212. package/src/tool/jpgAWebp/i18n/pt.ts +178 -0
  213. package/src/tool/jpgAWebp/i18n/ru.ts +178 -0
  214. package/src/tool/jpgAWebp/i18n/sv.ts +178 -0
  215. package/src/tool/jpgAWebp/i18n/tr.ts +178 -0
  216. package/src/tool/jpgAWebp/i18n/zh.ts +178 -0
  217. package/src/tool/jpgAWebp/index.ts +12 -0
  218. package/src/tool/pngAIco/i18n/de.ts +183 -0
  219. package/src/tool/pngAIco/i18n/en.ts +8 -13
  220. package/src/tool/pngAIco/i18n/es.ts +19 -24
  221. package/src/tool/pngAIco/i18n/fr.ts +20 -25
  222. package/src/tool/pngAIco/i18n/id.ts +183 -0
  223. package/src/tool/pngAIco/i18n/it.ts +183 -0
  224. package/src/tool/pngAIco/i18n/ja.ts +183 -0
  225. package/src/tool/pngAIco/i18n/ko.ts +183 -0
  226. package/src/tool/pngAIco/i18n/nl.ts +183 -0
  227. package/src/tool/pngAIco/i18n/pl.ts +183 -0
  228. package/src/tool/pngAIco/i18n/pt.ts +183 -0
  229. package/src/tool/pngAIco/i18n/ru.ts +183 -0
  230. package/src/tool/pngAIco/i18n/sv.ts +183 -0
  231. package/src/tool/pngAIco/i18n/tr.ts +183 -0
  232. package/src/tool/pngAIco/i18n/zh.ts +183 -0
  233. package/src/tool/pngAIco/index.ts +12 -0
  234. package/src/tool/pngAJpg/i18n/de.ts +191 -0
  235. package/src/tool/pngAJpg/i18n/en.ts +2 -12
  236. package/src/tool/pngAJpg/i18n/es.ts +2 -12
  237. package/src/tool/pngAJpg/i18n/fr.ts +2 -12
  238. package/src/tool/pngAJpg/i18n/id.ts +191 -0
  239. package/src/tool/pngAJpg/i18n/it.ts +191 -0
  240. package/src/tool/pngAJpg/i18n/ja.ts +191 -0
  241. package/src/tool/pngAJpg/i18n/ko.ts +191 -0
  242. package/src/tool/pngAJpg/i18n/nl.ts +191 -0
  243. package/src/tool/pngAJpg/i18n/pl.ts +191 -0
  244. package/src/tool/pngAJpg/i18n/pt.ts +191 -0
  245. package/src/tool/pngAJpg/i18n/ru.ts +191 -0
  246. package/src/tool/pngAJpg/i18n/sv.ts +191 -0
  247. package/src/tool/pngAJpg/i18n/tr.ts +191 -0
  248. package/src/tool/pngAJpg/i18n/zh.ts +191 -0
  249. package/src/tool/pngAJpg/index.ts +13 -1
  250. package/src/tool/pngAWebp/i18n/de.ts +182 -0
  251. package/src/tool/pngAWebp/i18n/en.ts +2 -12
  252. package/src/tool/pngAWebp/i18n/es.ts +2 -12
  253. package/src/tool/pngAWebp/i18n/fr.ts +2 -12
  254. package/src/tool/pngAWebp/i18n/id.ts +182 -0
  255. package/src/tool/pngAWebp/i18n/it.ts +182 -0
  256. package/src/tool/pngAWebp/i18n/ja.ts +182 -0
  257. package/src/tool/pngAWebp/i18n/ko.ts +182 -0
  258. package/src/tool/pngAWebp/i18n/nl.ts +182 -0
  259. package/src/tool/pngAWebp/i18n/pl.ts +182 -0
  260. package/src/tool/pngAWebp/i18n/pt.ts +182 -0
  261. package/src/tool/pngAWebp/i18n/ru.ts +182 -0
  262. package/src/tool/pngAWebp/i18n/sv.ts +182 -0
  263. package/src/tool/pngAWebp/i18n/tr.ts +182 -0
  264. package/src/tool/pngAWebp/i18n/zh.ts +182 -0
  265. package/src/tool/pngAWebp/index.ts +12 -0
  266. package/src/tool/svgAJpg/i18n/de.ts +178 -0
  267. package/src/tool/svgAJpg/i18n/en.ts +8 -13
  268. package/src/tool/svgAJpg/i18n/es.ts +8 -13
  269. package/src/tool/svgAJpg/i18n/fr.ts +2 -12
  270. package/src/tool/svgAJpg/i18n/id.ts +178 -0
  271. package/src/tool/svgAJpg/i18n/it.ts +178 -0
  272. package/src/tool/svgAJpg/i18n/ja.ts +178 -0
  273. package/src/tool/svgAJpg/i18n/ko.ts +178 -0
  274. package/src/tool/svgAJpg/i18n/nl.ts +178 -0
  275. package/src/tool/svgAJpg/i18n/pl.ts +178 -0
  276. package/src/tool/svgAJpg/i18n/pt.ts +178 -0
  277. package/src/tool/svgAJpg/i18n/ru.ts +178 -0
  278. package/src/tool/svgAJpg/i18n/sv.ts +178 -0
  279. package/src/tool/svgAJpg/i18n/tr.ts +178 -0
  280. package/src/tool/svgAJpg/i18n/zh.ts +178 -0
  281. package/src/tool/svgAJpg/index.ts +12 -0
  282. package/src/tool/svgAPng/i18n/de.ts +178 -0
  283. package/src/tool/svgAPng/i18n/en.ts +8 -13
  284. package/src/tool/svgAPng/i18n/es.ts +31 -36
  285. package/src/tool/svgAPng/i18n/fr.ts +2 -12
  286. package/src/tool/svgAPng/i18n/id.ts +178 -0
  287. package/src/tool/svgAPng/i18n/it.ts +178 -0
  288. package/src/tool/svgAPng/i18n/ja.ts +178 -0
  289. package/src/tool/svgAPng/i18n/ko.ts +178 -0
  290. package/src/tool/svgAPng/i18n/nl.ts +178 -0
  291. package/src/tool/svgAPng/i18n/pl.ts +178 -0
  292. package/src/tool/svgAPng/i18n/pt.ts +178 -0
  293. package/src/tool/svgAPng/i18n/ru.ts +178 -0
  294. package/src/tool/svgAPng/i18n/sv.ts +178 -0
  295. package/src/tool/svgAPng/i18n/tr.ts +178 -0
  296. package/src/tool/svgAPng/i18n/zh.ts +178 -0
  297. package/src/tool/svgAPng/index.ts +12 -0
  298. package/src/tool/webpAIco/i18n/de.ts +183 -0
  299. package/src/tool/webpAIco/i18n/en.ts +8 -13
  300. package/src/tool/webpAIco/i18n/es.ts +9 -14
  301. package/src/tool/webpAIco/i18n/fr.ts +11 -16
  302. package/src/tool/webpAIco/i18n/id.ts +183 -0
  303. package/src/tool/webpAIco/i18n/it.ts +183 -0
  304. package/src/tool/webpAIco/i18n/ja.ts +183 -0
  305. package/src/tool/webpAIco/i18n/ko.ts +183 -0
  306. package/src/tool/webpAIco/i18n/nl.ts +183 -0
  307. package/src/tool/webpAIco/i18n/pl.ts +183 -0
  308. package/src/tool/webpAIco/i18n/pt.ts +183 -0
  309. package/src/tool/webpAIco/i18n/ru.ts +183 -0
  310. package/src/tool/webpAIco/i18n/sv.ts +183 -0
  311. package/src/tool/webpAIco/i18n/tr.ts +183 -0
  312. package/src/tool/webpAIco/i18n/zh.ts +183 -0
  313. package/src/tool/webpAIco/index.ts +12 -0
  314. package/src/tool/webpAJpg/i18n/de.ts +187 -0
  315. package/src/tool/webpAJpg/i18n/en.ts +9 -13
  316. package/src/tool/webpAJpg/i18n/es.ts +37 -42
  317. package/src/tool/webpAJpg/i18n/fr.ts +35 -40
  318. package/src/tool/webpAJpg/i18n/id.ts +182 -0
  319. package/src/tool/webpAJpg/i18n/it.ts +182 -0
  320. package/src/tool/webpAJpg/i18n/ja.ts +182 -0
  321. package/src/tool/webpAJpg/i18n/ko.ts +182 -0
  322. package/src/tool/webpAJpg/i18n/nl.ts +182 -0
  323. package/src/tool/webpAJpg/i18n/pl.ts +182 -0
  324. package/src/tool/webpAJpg/i18n/pt.ts +182 -0
  325. package/src/tool/webpAJpg/i18n/ru.ts +182 -0
  326. package/src/tool/webpAJpg/i18n/sv.ts +182 -0
  327. package/src/tool/webpAJpg/i18n/tr.ts +182 -0
  328. package/src/tool/webpAJpg/i18n/zh.ts +182 -0
  329. package/src/tool/webpAJpg/index.ts +12 -0
  330. package/src/tool/webpAPng/i18n/de.ts +182 -0
  331. package/src/tool/webpAPng/i18n/en.ts +8 -13
  332. package/src/tool/webpAPng/i18n/es.ts +35 -40
  333. package/src/tool/webpAPng/i18n/fr.ts +2 -12
  334. package/src/tool/webpAPng/i18n/id.ts +182 -0
  335. package/src/tool/webpAPng/i18n/it.ts +182 -0
  336. package/src/tool/webpAPng/i18n/ja.ts +182 -0
  337. package/src/tool/webpAPng/i18n/ko.ts +182 -0
  338. package/src/tool/webpAPng/i18n/nl.ts +182 -0
  339. package/src/tool/webpAPng/i18n/pl.ts +182 -0
  340. package/src/tool/webpAPng/i18n/pt.ts +182 -0
  341. package/src/tool/webpAPng/i18n/ru.ts +182 -0
  342. package/src/tool/webpAPng/i18n/sv.ts +182 -0
  343. package/src/tool/webpAPng/i18n/tr.ts +182 -0
  344. package/src/tool/webpAPng/i18n/zh.ts +182 -0
  345. package/src/tool/webpAPng/index.ts +12 -0
@@ -0,0 +1,182 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { WebpAPngLocaleContent } from '../index';
4
+
5
+ const slug = 'konverter-webp-ke-png';
6
+ const title = 'Konversi WebP ke PNG Online dan Gratis';
7
+ const description =
8
+ 'Konversi gambar WebP ke PNG di browser Anda. Menjaga transparansi. Tanpa unggah file ke server. Gratis dan 100% pribadi.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Tarik file WebP...',
12
+ convertText: 'Untuk mengkonversinya ke PNG secara instan',
13
+ selectFiles: 'Pilih file',
14
+ processedFiles: 'File yang diproses',
15
+ downloadAll: 'Unduh Semua (.zip)',
16
+ pending: 'Menunggu',
17
+ bibliographyTitle: 'Referensi Bibliografi',
18
+ faqTitle: 'Pertanyaan yang Sering Diajukan',
19
+ };
20
+
21
+ const faq: WebpAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Mengapa saya perlu mengonversi file WebP saya ke PNG?',
24
+ answer:
25
+ 'Meskipun lebih ringan, file WebP dapat menyebabkan ketidakcocokan dalam program pengeditan seperti Photoshop versi lama. PNG memastikan kompatibilitas universal 100%.',
26
+ },
27
+ {
28
+ question: 'Apakah transparansi hilang saat mengonversi dari WebP ke PNG?',
29
+ answer:
30
+ 'Sama sekali tidak. Berbeda dengan konversi ke JPG, PNG mendukung saluran alfa. Alat kami akan menjaga area transparan apa pun dari file asli.',
31
+ },
32
+ {
33
+ question: 'Dapatkah saya mengunggah file perusahaan yang bersifat rahasia?',
34
+ answer:
35
+ 'Anda bisa dan harus melakukannya. Karena semuanya berjalan secara lokal melalui JavaScript, gambar perusahaan Anda tidak akan pernah meninggalkan komputer Anda atau disimpan di server eksternal.',
36
+ },
37
+ ];
38
+
39
+ const howTo: WebpAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Tarik file WebP Anda',
42
+ text: 'Pindahkan dan letakkan file WebP Anda ke panel utama atau pilih gambar secara tradisional.',
43
+ },
44
+ {
45
+ name: 'Konversi Fidelity Tinggi',
46
+ text: 'Browser Anda akan menggambar ulang gambar piksel demi piksel dan menghasilkan salinan persis dalam format PNG, dengan mempertahankan gamut warna asli.',
47
+ },
48
+ {
49
+ name: 'Unduhan Individu atau Massal',
50
+ text: 'Simpan setiap file secara terpisah atau, jika Anda memproses dalam jumlah banyak, klik tombol ZIP untuk mengunduh semuanya secara bersamaan.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Dokumentasi API dan Perpustakaan WebP',
57
+ url: 'https://developers.google.com/speed/webp/docs/api',
58
+ },
59
+ {
60
+ name: 'Spesifikasi Konteks 2D HTML Canvas',
61
+ url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
+ },
63
+ {
64
+ name: 'Can I use: format gambar WebP',
65
+ url: 'https://caniuse.com/webp',
66
+ },
67
+ ];
68
+
69
+ const seo: WebpAPngLocaleContent['seo'] = [
70
+ {
71
+ type: 'title',
72
+ text: 'Konverter WebP ke PNG: Pilihan Profesional untuk Pengeditan dan Desain',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'Ketika seorang desainer mengunduh aset grafis dalam format <strong>WebP</strong> dan mencoba membukanya di Photoshop, Figma, atau Illustrator, hasilnya bisa membuat frustrasi: file gagal dimuat atau kualitasnya menurun. Format <strong>PNG</strong> adalah standar tak terbantahkan dalam pengeditan profesional: kompresi lossless, saluran alfa penuh, dan jaminan kompatibilitas di seluruh rantai produksi kreatif.',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'WebP untuk Web, PNG untuk Studio',
82
+ level: 3,
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'WebP adalah format produksi web: algoritme kompresinya dioptimalkan untuk mengurangi berat transfer, bukan untuk menjaga kesetiaan maksimum melalui alur kerja pengeditan iteratif. Setiap kali Anda menyimpan WebP yang telah diedit, codec akan menerapkan kompresi lagi. Untuk proyek di mana sebuah file akan dimodifikasi berkali-kali, ini berarti penurunan kualitas secara kumulatif.',
87
+ },
88
+ {
89
+ type: 'paragraph',
90
+ html: 'PNG menggunakan <strong>kompresi lossless</strong>: data setiap piksel dipertahankan sepenuhnya tidak peduli berapa kali Anda menyimpan file tersebut. Ini adalah format yang dipilih oleh desainer UI/UX, ilustrator digital, dan tim branding yang perlu menjaga integritas visual melalui puluhan revisi. Alat seperti Photoshop, Figma, Sketch, dan Illustrator memperlakukan PNG sebagai format ekspor utama mereka.',
91
+ },
92
+ {
93
+ type: 'title',
94
+ text: 'Perbandingan: Konversi Lokal vs Cloud',
95
+ level: 3,
96
+ },
97
+ {
98
+ type: 'comparative',
99
+ items: [
100
+ {
101
+ title: 'Konverter Cloud',
102
+ description: 'Alat yang mengunggah file Anda ke server jarak jauh.',
103
+ icon: 'mdi:cloud-upload',
104
+ pointIcon: 'mdi:close-circle-outline',
105
+ points: [
106
+ 'Aset desain Anda disimpan di server pihak ketiga',
107
+ 'Pemrosesan jarak jauh yang lambat untuk file besar',
108
+ 'Risiko kebocoran untuk proyek klien yang bersifat rahasia',
109
+ 'Konversi batch terbatas atau berbayar',
110
+ ],
111
+ },
112
+ {
113
+ title: 'Arsitektur Lokal Kami',
114
+ description: 'Pemrosesan langsung pada perangkat keras Anda menggunakan teknologi Vanilla JS.',
115
+ icon: 'mdi:laptop-mac',
116
+ highlight: true,
117
+ points: [
118
+ 'Desain Anda tidak pernah meninggalkan mesin Anda',
119
+ 'Konversi batch puluhan file secara instan',
120
+ 'Pelestarian penuh saluran alfa dan gamut warna',
121
+ 'Privasi absolut untuk proyek klien',
122
+ ],
123
+ },
124
+ ],
125
+ },
126
+ {
127
+ type: 'title',
128
+ text: 'Cara Kerjanya Secara Teknis',
129
+ level: 3,
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Browser modern dapat mendekode WebP secara native. Alat kami memanfaatkan kemampuan ini untuk memuat file ke dalam elemen JavaScript <strong>Image</strong>, lalu menggambarnya ke kanvas HTML5 dengan dimensi yang sama dengan aslinya. Berbeda dengan konversi ke JPG, tidak diperlukan pengisian latar belakang di sini: kanvas mempertahankan saluran alfa penuh.',
134
+ },
135
+ {
136
+ type: 'paragraph',
137
+ html: 'Ekspor akhir menggunakan metode <code>toDataURL(\'image/png\')</code>, yang menghasilkan PNG lossless yang sesuai dengan aslinya. Hasilnya adalah file yang siap diimpor langsung ke perangkat lunak desain profesional apa pun tanpa langkah perantara, degradasi warna, atau hilangnya transparansi.',
138
+ },
139
+ {
140
+ type: 'tip',
141
+ title: 'Tip untuk editor',
142
+ html: 'Gunakan PNG saat Anda perlu terus mengedit gambar. Kompresi lossless menjamin tidak ada penurunan kualitas akibat penyimpanan berulang kali — sangat penting saat bekerja dengan lapisan, masker, atau penyesuaian warna di Photoshop atau Figma.',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: 'Kasus Penggunaan dan Kompatibilitas',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'list',
151
+ icon: 'mdi:check-circle',
152
+ items: [
153
+ 'Mengimpor aset WebP ke Photoshop, Figma, Sketch, atau Illustrator.',
154
+ 'Menjaga transparansi pada logo dan ikon untuk digunakan pada berbagai latar belakang.',
155
+ 'Membuat salinan master grafik untuk proyek jangka panjang.',
156
+ 'Mengekspor aset untuk aplikasi seluler yang memerlukan PNG dengan saluran alfa.',
157
+ 'Menggunakan gambar dalam desain mockup dan presentasi dengan latar belakang variabel.',
158
+ ],
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: 'Kesimpulan',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'paragraph',
167
+ html: 'Jika WebP adalah format server web, maka PNG adalah format studio desain. Alat ini mengonversi aset WebP Anda menjadi PNG siap produksi, dengan transparansi yang utuh dan kualitas maksimal — semuanya di browser Anda dan tanpa file Anda pernah meninggalkan mesin Anda.',
168
+ },
169
+ ];
170
+
171
+
172
+ export const content: WebpAPngLocaleContent = {
173
+ slug,
174
+ title,
175
+ description,
176
+ ui,
177
+ seo,
178
+ faq,
179
+ bibliography,
180
+ howTo,
181
+ schemas: generateSchemas({ title, description, inLanguage: 'id', faq, howTo }),
182
+ };
@@ -0,0 +1,182 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { WebpAPngLocaleContent } from '../index';
4
+
5
+ const slug = 'convertitore-webp-in-png';
6
+ const title = 'Converti WebP in PNG Online e Gratis';
7
+ const description =
8
+ 'Converti immagini WebP in PNG nel tuo browser. Preserva la trasparenza. Nessun caricamento di file sui server. Gratuito e privato al 100%.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Trascina i file WebP...',
12
+ convertText: 'Per convertirli in PNG istantaneamente',
13
+ selectFiles: 'Seleziona 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: WebpAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Perché devo convertire i miei file WebP in PNG?',
24
+ answer:
25
+ 'Pur essendo più leggeri, i file WebP possono causare incompatibilità in programmi di editing come le vecchie versioni di Photoshop. Il PNG garantisce una compatibilità universale al 100%.',
26
+ },
27
+ {
28
+ question: 'Le trasparenze vanno perse convertendo da WebP a PNG?',
29
+ answer:
30
+ 'Assolutamente no. A differenza della conversione in JPG, il PNG supporta il canale alfa. La nostra utility preserverà ogni area trasparente del file originale.',
31
+ },
32
+ {
33
+ question: 'Posso caricare file aziendali riservati?',
34
+ answer:
35
+ 'Puoi e devi farlo. Poiché tutto viene eseguito localmente tramite JavaScript, le immagini della tua azienda non lasceranno mai il tuo computer né verranno memorizzate su server esterni.',
36
+ },
37
+ ];
38
+
39
+ const howTo: WebpAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Trascina i tuoi file WebP',
42
+ text: 'Sposta e rilascia i tuoi file WebP sul pannello principale o seleziona le immagini in modo tradizionale.',
43
+ },
44
+ {
45
+ name: 'Conversione ad Alta Fedeltà',
46
+ text: 'Il tuo browser ridisegnerà l\'immagine pixel per pixel e genererà una copia esatta in formato PNG, mantenendo la gamma cromatica originale.',
47
+ },
48
+ {
49
+ name: 'Download Singolo o Multiplo',
50
+ text: 'Salva ogni file individualmente o, se hai elaborato un batch, clicca sul pulsante ZIP per scaricarli tutti insieme in un pacchetto.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Documentazione API e Libreria WebP',
57
+ url: 'https://developers.google.com/speed/webp/docs/api',
58
+ },
59
+ {
60
+ name: 'Specifica HTML Canvas 2D Context',
61
+ url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
+ },
63
+ {
64
+ name: 'Can I use: formato immagine WebP',
65
+ url: 'https://caniuse.com/webp',
66
+ },
67
+ ];
68
+
69
+ const seo: WebpAPngLocaleContent['seo'] = [
70
+ {
71
+ type: 'title',
72
+ text: 'Convertitore da WebP a PNG: La Scelta Professionale per Editing e Design',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'Quando un designer scarica un asset grafico in formato <strong>WebP</strong> e prova ad aprirlo in Photoshop, Figma o Illustrator, il risultato può essere frustrante: il file non si carica o perde qualità. Il formato <strong>PNG</strong> è lo standard indiscusso dell\'editing professionale: compressione lossless, canale alfa completo e compatibilità garantita in tutta la catena di produzione creativa.',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'WebP per il Web, PNG per lo Studio',
82
+ level: 3,
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'Il WebP è un formato di produzione web: i suoi algoritmi di compressione sono ottimizzati per ridurre il peso del trasferimento, non per preservare la massima fedeltà attraverso flussi di lavoro di editing iterativi. Ogni volta che salvi un WebP modificato, il codec applica nuovamente la compressione. Per i progetti in cui un file verrà modificato molte volte, ciò significa un degrado qualitativo cumulativo.',
87
+ },
88
+ {
89
+ type: 'paragraph',
90
+ html: 'Il PNG utilizza la <strong>compressione lossless</strong>: i dati di ogni pixel vengono preservati interamente, non importa quante volte salvi il file. È il formato scelto da designer UI/UX, illustratori digitali e team di branding che devono mantenere l\'integrità visiva attraverso decine di revisioni. Strumenti come Photoshop, Figma, Sketch e Illustrator trattano il PNG come il loro formato di esportazione principale.',
91
+ },
92
+ {
93
+ type: 'title',
94
+ text: 'Confronto: Conversione Locale vs Cloud',
95
+ level: 3,
96
+ },
97
+ {
98
+ type: 'comparative',
99
+ items: [
100
+ {
101
+ title: 'Convertitori Cloud',
102
+ description: 'Strumenti che caricano i tuoi file su un server remoto.',
103
+ icon: 'mdi:cloud-upload',
104
+ pointIcon: 'mdi:close-circle-outline',
105
+ points: [
106
+ 'I tuoi asset di design sono memorizzati su server di terze parti',
107
+ 'Elaborazione remota lenta per i file di grandi dimensioni',
108
+ 'Rischio di leak per progetti riservati di clienti',
109
+ 'Conversione batch limitata o a pagamento',
110
+ ],
111
+ },
112
+ {
113
+ title: 'La Nostra Architettura Locale',
114
+ description: 'Elaborazione diretta sul tuo hardware utilizzando la tecnologia Vanilla JS.',
115
+ icon: 'mdi:laptop-mac',
116
+ highlight: true,
117
+ points: [
118
+ 'I tuoi design non lasciano mai la tua macchina',
119
+ 'Converti istantaneamente decine di file in batch',
120
+ 'Preservazione totale del canale alfa e della gamma cromatica',
121
+ 'Privacy assoluta per i progetti dei clienti',
122
+ ],
123
+ },
124
+ ],
125
+ },
126
+ {
127
+ type: 'title',
128
+ text: 'Come funziona tecnicamente',
129
+ level: 3,
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'I browser moderni possono decodificare il WebP nativamente. Il nostro strumento sfrutta questa capacità per caricare il file in un elemento <strong>Image</strong> JavaScript, quindi lo disegna su un canvas HTML5 con le stesse dimensioni dell\'originale. A differenza della conversione in JPG, qui non è necessario alcun riempimento di sfondo: il canvas mantiene l\'intero canale alfa.',
134
+ },
135
+ {
136
+ type: 'paragraph',
137
+ html: 'L\'esportazione finale utilizza il metodo <code>toDataURL(\'image/png\')</code>, che genera un PNG lossless fedele all\'originale. Il risultato è un file pronto per essere importato direttamente in qualsiasi software di design professionale senza passaggi intermedi, degrado del colore o perdita di trasparenza.',
138
+ },
139
+ {
140
+ type: 'tip',
141
+ title: 'Suggerimento per editor',
142
+ html: 'Usa il PNG quando hai bisogno di continuare a modificare l\'immagine. La compressione lossless garantisce che non ci siano degradazioni della qualità dovute a salvataggi ripetuti — fondamentale quando si lavora con livelli, maschere o regolazioni del colore in Photoshop o Figma.',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: 'Casi d\'uso e compatibilità',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'list',
151
+ icon: 'mdi:check-circle',
152
+ items: [
153
+ 'Importazione di asset WebP in Photoshop, Figma, Sketch o Illustrator.',
154
+ 'Preservazione della trasparenza in loghi e icone per l\'uso su sfondi multipli.',
155
+ 'Creazione di copie master di grafiche per progetti a lungo termine.',
156
+ 'Esportazione di asset per app mobile che richiedono PNG con canale alfa.',
157
+ 'Utilizzo di immagini in mockup di design e presentazioni con sfondi variabili.',
158
+ ],
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: 'Conclusione',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'paragraph',
167
+ html: 'Se il WebP è il formato del server web, il PNG è il formato dello studio di design. Questo strumento converte i tuoi asset WebP in PNG pronti per la produzione, con trasparenza intatta e massima qualità — tutto nel tuo browser e senza che i tuoi file lascino mai la tua macchina.',
168
+ },
169
+ ];
170
+
171
+
172
+ export const content: WebpAPngLocaleContent = {
173
+ slug,
174
+ title,
175
+ description,
176
+ ui,
177
+ seo,
178
+ faq,
179
+ bibliography,
180
+ howTo,
181
+ schemas: generateSchemas({ title, description, inLanguage: 'it', faq, howTo }),
182
+ };
@@ -0,0 +1,182 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { WebpAPngLocaleContent } from '../index';
4
+
5
+ const slug = 'webp-to-png-converter';
6
+ const title = 'WebPをPNGにオンラインで無料で変換しましょう';
7
+ const description =
8
+ 'ブラウザでWebP画像をPNGに変換します。透明度を維持します。サーバーへのファイルアップロードは不要。無料かつ100%プライベート。';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'WebPファイルをドラッグ...',
12
+ convertText: '即座にPNGに変換します',
13
+ selectFiles: 'ファイルを選択',
14
+ processedFiles: '処理済みファイル',
15
+ downloadAll: 'すべてダウンロード (.zip)',
16
+ pending: '保留中',
17
+ bibliographyTitle: '参考文献',
18
+ faqTitle: 'よくある質問',
19
+ };
20
+
21
+ const faq: WebpAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'なぜWebPファイルをPNGに変換する必要があるのですか?',
24
+ answer:
25
+ 'WebPファイルは軽量ですが、古いPhotoshopなどの編集プログラムで互換性の問題を引き起こすことがあります。PNGは100%普遍的な互換性を保証します。',
26
+ },
27
+ {
28
+ question: 'WebPからPNGへの変換で透明度は失われますか?',
29
+ answer:
30
+ '全くありません。JPGへの変換とは異なり、PNGはアルファチャネルをサポートしています。当社のユーティリティは、元のファイルのあらゆる透明領域を保持します。',
31
+ },
32
+ {
33
+ question: '機密の企業ファイルをアップロードできますか?',
34
+ answer:
35
+ 'できます。また、そうすべきです。すべてがJavaScriptを介してローカルで実行されるため、企業の画像がデバイスから離れることはなく、外部サーバーに保存されることもありません。',
36
+ },
37
+ ];
38
+
39
+ const howTo: WebpAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'WebPファイルをドラッグ',
42
+ text: 'メインパネルにWebPファイルをドラッグ&ドロップするか、従来の方法で画像を選択してください。',
43
+ },
44
+ {
45
+ name: '高忠実度変換',
46
+ text: 'ブラウザが画像をピクセル単位で再描画し、元の色域を維持しながら、PNG形式の正確なコピーを生成します。',
47
+ },
48
+ {
49
+ name: '個別または一括ダウンロード',
50
+ text: '各ファイルを個別に保存するか、バッチ処理をした場合はZIPボタンをクリックして、すべてをまとめてダウンロードしてください。',
51
+ },
52
+ ];
53
+
54
+ const bibliography: WebpAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'WebP APIおよびライブラリドキュメント',
57
+ url: 'https://developers.google.com/speed/webp/docs/api',
58
+ },
59
+ {
60
+ name: 'HTML Canvas 2Dコンテキスト仕様',
61
+ url: 'https://html.spec.whatwg.org/multipage/canvas.html',
62
+ },
63
+ {
64
+ name: 'Can I use: WebP画像形式',
65
+ url: 'https://caniuse.com/webp',
66
+ },
67
+ ];
68
+
69
+ const seo: WebpAPngLocaleContent['seo'] = [
70
+ {
71
+ type: 'title',
72
+ text: 'WebP to PNG 変換機:編集とデザインのためのプロフェッショナルな選択',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'デザイナーが <strong>WebP</strong> 形式のグラフィックアセットをダウンロードし、Photoshop、Figma、またはIllustratorで開こうとすると、ファイルの読み込みに失敗したり、品質が低下したりするという、苛立たしい結果を招くことがあります。 <strong>PNG</strong> 形式は、無損耗圧縮、完全なアルファチャネル、クリエイティブ制作プロセス全体での互換性の保証など、プロの編集分野における揺るぎない標準です。',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'ウェブのためのWebP、スタジオのためのPNG',
82
+ level: 3,
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'WebPはウェブ制作形式です。その圧縮アルゴリズムは、繰り返しの編集ワークフローで最大限の忠実度を維持することではなく、転送重量を減らすように最適化されています。編集されたWebPを保存するたびに、コーデックは圧縮を再適用します。ファイルを何度も修正する必要があるプロジェクトでは、これは累積的な品質の低下を意味します。',
87
+ },
88
+ {
89
+ type: 'paragraph',
90
+ html: 'PNGは <strong>無損耗圧縮</strong> を使用します。ファイルを保存する回数にかかわらず、すべてのピクセルのデータが完全に保持されます。数十回の修正を経ても視覚的な完全性を維持する必要があるUI/UXデザイナー、デジタルイラストレーター、およびブランディングチームが選択する形式です。Photoshop、Figma、Sketch、Illustratorなどのツールは、PNGを主要な書き出し形式として扱います。',
91
+ },
92
+ {
93
+ type: 'title',
94
+ text: '比較:ローカル変換 vs クラウド変換',
95
+ level: 3,
96
+ },
97
+ {
98
+ type: 'comparative',
99
+ items: [
100
+ {
101
+ title: 'クラウド変換機',
102
+ description: 'リモートサーバーにファイルをアップロードするツールです。',
103
+ icon: 'mdi:cloud-upload',
104
+ pointIcon: 'mdi:close-circle-outline',
105
+ points: [
106
+ 'デザインアセットがサードパーティのサーバーに保存される',
107
+ '大きなファイルの処理に時間がかかる',
108
+ '機密のクライアントプロジェクトの漏洩リスク',
109
+ '一括変換に制限がある、または有料である',
110
+ ],
111
+ },
112
+ {
113
+ title: 'ローカルアーキテクチャ',
114
+ description: 'JavaScript技術を使用してハードウェア上で直接処理します。',
115
+ icon: 'mdi:laptop-mac',
116
+ highlight: true,
117
+ points: [
118
+ 'デザインがデバイスを離れることはありません',
119
+ '数十個のファイルを即座に一括変換',
120
+ 'アルファチャネルと色域の完全な保持',
121
+ 'クライアントプロジェクトのための絶対的なプライバシー',
122
+ ],
123
+ },
124
+ ],
125
+ },
126
+ {
127
+ type: 'title',
128
+ text: '技術的な仕組み',
129
+ level: 3,
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: '最新のブラウザはWebPをネイティブにデコードできます。当社のツールはこの能力を活用してファイルをJavaScriptの <strong>Image</strong> 要素に読み込み、元のサイズと同じ寸法のHTML5 canvasに描画します。JPGへの変換とは異なり、ここでは背景の塗りつぶしは不要で、canvasは完全なアルファチャネルを維持します。',
134
+ },
135
+ {
136
+ type: 'paragraph',
137
+ html: '最終的な書き出しには <code>toDataURL(\'image/png\')</code> メソッドを使用し、これは元の画像に忠実な無損耗PNGを生成します。結果は、中間ステップ、色の劣化、透明度の損失なしに、あらゆるプロフェッショナルなデザインソフトウェアに直接インポートできる状態のファイルです。',
138
+ },
139
+ {
140
+ type: 'tip',
141
+ title: 'エディターへのヒント',
142
+ html: '画像の編集を続ける必要があるときは、PNGを使用してください。無損耗圧縮により、繰り返し保存しても品質が低下しないことが保証されます。これは、PhotoshopやFigmaでレイヤー、マスク、色の調整などを伴う作業をする際に非常に重要です。',
143
+ },
144
+ {
145
+ type: 'title',
146
+ text: '活用事例と互換性',
147
+ level: 3,
148
+ },
149
+ {
150
+ type: 'list',
151
+ icon: 'mdi:check-circle',
152
+ items: [
153
+ 'WebPアセットをPhotoshop、Figma、Sketch、Illustratorにインポート。',
154
+ '複数の背景で使用するために、ロゴやアイコンの透明度を保持。',
155
+ '長期プロジェクトのためにグラフィックのマスターコピーを作成。',
156
+ 'アルファチャネル付きのPNGが必要なモバイルアプリ用アセットの書き出し。',
157
+ '可変背景を持つデザインモックアップやプレゼンテーションで画像を使用。',
158
+ ],
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: '結論',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'paragraph',
167
+ html: 'WebPがウェブサーバー形式なら、PNGはデザインスタジオ形式です。このツールは、透明度が維持され、最大品質を備えた、プロダクションレディなPNGにWebPアセットを変換します。これらすべてがブラウザ上で行われ、ファイルがデバイスを離れることはありません。',
168
+ },
169
+ ];
170
+
171
+
172
+ export const content: WebpAPngLocaleContent = {
173
+ slug,
174
+ title,
175
+ description,
176
+ ui,
177
+ seo,
178
+ faq,
179
+ bibliography,
180
+ howTo,
181
+ schemas: generateSchemas({ title, description, inLanguage: 'ja', faq, howTo }),
182
+ };