@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 { SvgAPngLocaleContent } from '../index';
4
+
5
+ const slug = 'konverter-svg-v-png';
6
+ const title = 'Конвертировать SVG в PNG Онлайн и Бесплатно';
7
+ const description =
8
+ 'Конвертируйте векторные файлы SVG в PNG в вашем браузере. HD-вывод в двойном масштабе. Сохраняет прозрачность. Бесплатно и 100% приватно.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Перетащите файлы SVG...',
12
+ convertText: 'Чтобы мгновенно конвертировать их в PNG',
13
+ selectFiles: 'Выбрать файлы',
14
+ processedFiles: 'Обработанные файлы',
15
+ downloadAll: 'Скачать всё (.zip)',
16
+ pending: 'В ожидании',
17
+ bibliographyTitle: 'Библиографические ссылки',
18
+ faqTitle: 'Часто задаваемые вопросы',
19
+ };
20
+
21
+ const faq: SvgAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Зачем конвертировать файлы SVG в PNG?',
24
+ answer:
25
+ 'SVG основан на векторах и идеально подходит для логотипов, но иногда вам нужен растровый формат PNG для использования в приложениях, которые не поддерживают векторы, или для публикации через мессенджеры или социальные сети.',
26
+ },
27
+ {
28
+ question: 'Могу ли я выбрать размер вывода?',
29
+ answer:
30
+ 'В настоящее время мы удваиваем масштаб исходного SVG, чтобы вывод PNG был четким и подходил для экранов Retina или 4K.',
31
+ },
32
+ {
33
+ question: 'Сохраняется ли прозрачность SVG?',
34
+ answer:
35
+ 'Да, результирующий PNG сохраняет альфа-канал оригинального SVG, сохраняя все прозрачные фоны нетронутыми.',
36
+ },
37
+ ];
38
+
39
+ const howTo: SvgAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Вставьте ваши файлы SVG',
42
+ text: 'Перетащите ваши файлы SVG прямо в верхнюю область.',
43
+ },
44
+ {
45
+ name: 'Генерация HD PNG',
46
+ text: 'За миллисекунды наш локальный движок воссоздаст каждый вектор как пиксельный слой HD в формате прозрачного PNG.',
47
+ },
48
+ {
49
+ name: 'Скачайте файлы',
50
+ text: 'Сохраните сгенерированные PNG по отдельности или в виде ZIP-архива.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: SvgAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Спецификация W3C SVG',
57
+ url: 'https://www.w3.org/TR/SVG/',
58
+ },
59
+ {
60
+ name: 'Mozilla: учебник по SVG',
61
+ url: 'https://developer.mozilla.org/ru/docs/Web/SVG/Tutorial',
62
+ },
63
+ ];
64
+
65
+ const seo: SvgAPngLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'Конвертер SVG в PNG: От бесконечного вектора к универсальному растру',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: '<strong>SVG</strong> (Scalable Vector Graphics) — идеальный выбор для веб-дизайна: бесконечно масштабируемый, легкий и редактируемый в любом текстовом редакторе. Но когда вам нужно использовать этот логотип или иконку в мобильном приложении, опубликовать в социальных сетях или вставить в презентацию PowerPoint, вы сталкиваетесь с препятствием: большинство этих платформ не поддерживают SVG. Формат <strong>PNG</strong> — универсальное решение: растровый, с альфа-каналом и совместимый абсолютно в любом контексте.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'SVG против PNG: векторы для веба, растр для мира',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'SVG хранит изображение в виде математических инструкций: кривая Безье, градиент, многоугольник. Это означает, что один и тот же файл выглядит идеально и при 16 пикселях, и при 16 000. Это идеальный формат для вашего веб-кода, CSS-анимаций и любого элемента, который должен адаптироваться к различным разрешениям экрана без потери качества.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'PNG хранит изображение в виде сетки пикселей с информацией о цвете и прозрачности для каждого пикселя. Это формат <strong>без потерь</strong>, что означает полное сохранение качества. Как только SVG растеризуется в PNG, разрешение фиксируется. Вот почему выбор правильного размера экспорта имеет решающее значение: наш инструмент выполняет рендеринг в двойном масштабе (2x) для обеспечения четкости на экранах Retina и 4K.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Сравнение: локальная vs облачная конвертация',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Облачные конвертеры',
98
+ description: 'Инструменты, которые загружают ваши файлы на удаленный сервер.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Ваш код SVG передается на внешние серверы',
103
+ 'Удаленный рендеринг с нестабильным качеством',
104
+ 'Время ожидания загрузки и обработки',
105
+ 'Ограничения на размер файла SVG',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Наша локальная архитектура',
110
+ description: 'Прямая обработка на вашем оборудовании с использованием технологии Vanilla JS.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Ваш SVG никогда не покидает браузер',
115
+ 'Рендеринг нативным движком браузера для максимальной точности',
116
+ 'PNG в разрешении 2x для экранов с высокой плотностью пикселей',
117
+ 'Прозрачность сохраняется благодаря полному альфа-каналу',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Как это работает технически',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Процесс начинается с загрузки файла SVG в элемент JavaScript <strong>Image</strong>. Как только движок браузера разберет и отрисует векторный XML, результирующее изображение отрисовывается на <strong>HTML5 Canvas</strong>, размеры которого в два раза превышают исходный размер SVG (масштаб 2x). Это создает PNG с удвоенным количеством пикселей по каждому измерению, что идеально подходит для экранов с высоким разрешением.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'В отличие от конвертации в JPG, при экспорте в PNG холст сохраняет полный альфа-канал: прозрачные области в оригинальном SVG становятся полностью прозрачными пикселями в результирующем PNG — никакой заливки белым фоном. Для экспорта используется метод <code>toDataURL(\'image/png\')</code> со сжатием без потерь.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Совет перед растеризацией',
138
+ html: 'Тщательно выбирайте размер экспорта в PNG — растеризация SVG является необратимым процессом: вы не сможете восстановить векторы из полученного PNG. Всегда сохраняйте оригинальный SVG в качестве мастер-источника и создавайте PNG в самом высоком разрешении, которое вам когда-либо может понадобиться.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Варианты использования и совместимость',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Экспорт векторных логотипов для презентаций PowerPoint или Google Slides.',
150
+ 'Создание иконок PNG для iOS, Android или прогрессивных веб-приложений (PWA).',
151
+ 'Публикация дизайнов SVG в Instagram, LinkedIn или других социальных сетях.',
152
+ 'Вставка векторных иллюстраций в документы Word или PDF.',
153
+ 'Генерация миниатюр PNG для предварительного просмотра графики SVG в CMS.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Заключение',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'SVG — язык векторов; PNG — паспорт в остальной цифровой мир. Этот инструмент растеризует ваши SVG в разрешении 2x с сохранением прозрачности прямо в вашем браузере, без передачи ни одного байта вашего дизайна на внешние серверы.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: SvgAPngLocaleContent = {
169
+ slug,
170
+ title,
171
+ description,
172
+ ui,
173
+ seo,
174
+ faq,
175
+ bibliography,
176
+ howTo,
177
+ schemas: generateSchemas({ title, description, inLanguage: 'ru', faq, howTo }),
178
+ };
@@ -0,0 +1,178 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { SvgAPngLocaleContent } from '../index';
4
+
5
+ const slug = 'konvertera-svg-till-png';
6
+ const title = 'Konvertera SVG till PNG Online och Gratis';
7
+ const description =
8
+ 'Konvertera SVG-vektorfiler till PNG i din webbläsare. HD-utmatning i dubbel skala. Bevarar transparens. Gratis och 100 % privat.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Dra SVG-filer hit...',
12
+ convertText: 'För att konvertera dem till PNG direkt',
13
+ selectFiles: 'Välj filer',
14
+ processedFiles: 'Bearbetade filer',
15
+ downloadAll: 'Ladda ner alla (.zip)',
16
+ pending: 'Väntande',
17
+ bibliographyTitle: 'Bibliografiska Referenser',
18
+ faqTitle: 'Vanliga Frågor',
19
+ };
20
+
21
+ const faq: SvgAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Varför konvertera SVG-filer till PNG?',
24
+ answer:
25
+ 'SVG är vektorbaserat och idealiskt för logotyper, men ibland behöver du det rastrerade PNG-formatet för användning i applikationer som inte stöder vektorer, eller för att dela via meddelandeappar eller sociala medier.',
26
+ },
27
+ {
28
+ question: 'Kan jag välja storlek på utmatningen?',
29
+ answer:
30
+ 'Vi fördubblar för närvarande skalan på käll-SVG:n så att PNG-utmatningen är skarp och lämplig för Retina- eller 4K-skärmar.',
31
+ },
32
+ {
33
+ question: 'Behålls SVG-transparens?',
34
+ answer:
35
+ 'Ja, den resulterande PNG-filen bevarar alfakanalen från den ursprungliga SVG-filen, vilket håller alla transparenta bakgrunder intakta.',
36
+ },
37
+ ];
38
+
39
+ const howTo: SvgAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Lägg till dina SVG-filer',
42
+ text: 'Släpp dina SVG-filer eller dra dem direkt till det övre området.',
43
+ },
44
+ {
45
+ name: 'HD PNG-generering',
46
+ text: 'På några millisekunder kommer vår lokala motor att återskapa varje vektor som ett HD-pixellager i transparent PNG-format.',
47
+ },
48
+ {
49
+ name: 'Ladda ner filerna',
50
+ text: 'Spara de genererade PNG-filerna individuellt eller som ett ZIP-paket.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: SvgAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'W3C SVG-specifikation',
57
+ url: 'https://www.w3.org/TR/SVG/',
58
+ },
59
+ {
60
+ name: 'Mozilla: SVG-handledning',
61
+ url: 'https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial',
62
+ },
63
+ ];
64
+
65
+ const seo: SvgAPngLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'SVG till PNG-konverterare: Från oändlig vektor till universellt raster',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: '<strong>SVG</strong> (Scalable Vector Graphics) är det perfekta valet för webbdesign: oändligt skalbart, lättviktigt och redigerbart med vilken kodredigerare som helst. Men när du vill använda den logotypen eller ikonen i en mobilapp, dela den på sociala medier eller infoga den i en PowerPoint presentation, stöter du på patrull: de flesta av dessa plattformar stöder inte SVG. <strong>PNG</strong>-formatet är den universella lösningen: rastrerat, med en alfakanal och kompatibelt i absolut alla sammanhang.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'SVG vs PNG: Vektorer för webben, raster för världen',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'SVG lagrar bilden som matematiska instruktioner: en Bézier kurva, en toning, en polygon. Det betyder att samma fil ser perfekt ut i 16 px eller 16 000 px. Det är det ideala formatet för din webbkod, CSS-animationer och alla element som behöver anpassas till olika skärmupplösningar utan kvalitetsförlust.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'PNG lagrar bilden som ett pixelrutnät med färg- och transparensinformation för varje pixel. Det är ett <strong>förlustfritt</strong> format, vilket innebär att kvaliteten bevaras helt. När en SVG väl har rastrerats till PNG är upplösningen fast. Därför är valet av rätt exportstorlek avgörande: vårt verktyg renderar i dubbel skala (2x) för att säkerställa skärpa på Retina och 4K skärmar.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Jämförelse: Lokal vs Molnkonvertering',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Molnkonverterare',
98
+ description: 'Verktyg som laddar upp dina filer till en fjärrserver.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Din SVG-kod skickas till externa servrar',
103
+ 'Fjärr-rendering med inkonsekvent kvalitet',
104
+ 'Väntetid för uppladdning och bearbetning',
105
+ 'Begränsningar i storlek på SVG-filen',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Vår Lokala Arkitektur',
110
+ description: 'Direkt bearbetning på din hårdvara med Vanilla JS-teknik.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Din SVG lämnar aldrig din webbläsare',
115
+ 'Rendering med den infödda webbläsarmotorn för maximal trohet',
116
+ 'PNG i 2x upplösning för skärmar med hög densitet',
117
+ 'Transparens bevaras med full alfakanal',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Hur det fungerar tekniskt',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Processen börjar med att SVG-filen laddas in i ett JavaScript <strong>Image</strong>-element. När webbläsarmotorn har analyserat och renderat vektorns XML ritas den resulterande bilden på ett <strong>HTML5 Canvas</strong> vars dimensioner är dubbelt så stora som den ursprungliga SVG-storleken (2x skala). Detta ger en PNG med dubbelt så många pixlar per dimension, idealiskt för högupplösta skärmar.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Till skillnad från konvertering till JPG behåller canvasen den fullständiga alfakanalen vid export till PNG: transparenta områden i den ursprungliga SVG-filen blir helt transparenta pixlar i den resulterande PNG-filen – ingen vit bakgrundsfyllning. Exporten använder metoden <code>toDataURL(\'image/png\')</code> med förlustfri komprimering.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Tips före rastrering',
138
+ html: 'Välj din PNG-exportstorlek noggrant – att rastrera en SVG är en enkelriktad process: du kan inte återfå vektorerna från den resulterande PNG-filen. Behåll alltid den ursprungliga SVG-filen som masterkälla och generera PNG-filer i den högsta upplösning du någonsin kan tänkas behöva.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Användningsområden och kompatibilitet',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Exportera vektorlogotyper för PowerPoint eller Google Slides presentationer.',
150
+ 'Skapa PNG-ikoner för iOS, Android eller Progressive Web Apps.',
151
+ 'Dela SVG-design på Instagram, LinkedIn eller andra sociala medier.',
152
+ 'Infoga vektorillustrationer i Word-dokument eller PDF-filer.',
153
+ 'Generera PNG-miniatyrer av SVG-grafik för CMS-förhandsgranskning.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Slutsats',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'SVG är vektorernas språk; PNG är passet till resten av den digitala världen. Detta verktyg rastrerar dina SVG-filer i 2x upplösning med bibehållen transparens, direkt i din webbläsare, utan att en enda byte av din design skickas till någon extern server.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: SvgAPngLocaleContent = {
169
+ slug,
170
+ title,
171
+ description,
172
+ ui,
173
+ seo,
174
+ faq,
175
+ bibliography,
176
+ howTo,
177
+ schemas: generateSchemas({ title, description, inLanguage: 'sv', faq, howTo }),
178
+ };
@@ -0,0 +1,178 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { SvgAPngLocaleContent } from '../index';
4
+
5
+ const slug = 'svg-den-png-ye-donusturucu';
6
+ const title = 'SVG\'yi PNG\'ye Çevrimiçi ve Ücretsiz Dönüştürün';
7
+ const description =
8
+ 'SVG vektör dosyalarını tarayıcınızda PNG\'ye dönüştürün. Çift ölçekli HD çıktı. Şeffaflığı korur. Ücretsiz ve %100 özel.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'SVG dosyalarını sürükleyin...',
12
+ convertText: 'Onları anında PNG\'ye dönüştürmek için',
13
+ selectFiles: 'Dosyaları seçin',
14
+ processedFiles: 'İşlenmiş dosyalar',
15
+ downloadAll: 'Tümünü İndir (.zip)',
16
+ pending: 'Bekliyor',
17
+ bibliographyTitle: 'Bibliyografik Referanslar',
18
+ faqTitle: 'Sıkça Sorulan Sorular',
19
+ };
20
+
21
+ const faq: SvgAPngLocaleContent['faq'] = [
22
+ {
23
+ question: 'Neden SVG dosyalarını PNG\'ye dönüştürmeliyiz?',
24
+ answer:
25
+ 'SVG vektör tabanlıdır ve logolar için idealdir, ancak bazen vektörleri desteklemeyen uygulamalarda kullanmak veya mesajlaşma uygulamaları ya da sosyal medya üzerinden paylaşmak için rasterleştirilmiş PNG formatına ihtiyacınız olur.',
26
+ },
27
+ {
28
+ question: 'Çıktı boyutunu seçebilir miyim?',
29
+ answer:
30
+ 'PNG çıktısının keskin ve Retina veya 4K ekranlar için uygun olması için şu anda kaynak SVG\'nin ölçeğini iki katına çıkarıyoruz.',
31
+ },
32
+ {
33
+ question: 'SVG şeffaflıkları korunuyor mu?',
34
+ answer:
35
+ 'Evet, sonuçta elde edilen PNG, orijinal SVG\'nin alfa kanalını koruyarak tüm şeffaf arka planları olduğu gibi tutar.',
36
+ },
37
+ ];
38
+
39
+ const howTo: SvgAPngLocaleContent['howTo'] = [
40
+ {
41
+ name: 'SVG dosyalarınızı yerleştirin',
42
+ text: 'SVG dosyalarınızı bırakın veya doğrudan üst alana sürükleyin.',
43
+ },
44
+ {
45
+ name: 'HD PNG Üretimi',
46
+ text: 'Milisaniyeler içinde yerel motorumuz her bir vektörü şeffaf PNG formatında bir HD piksel katmanı olarak yeniden oluşturacaktır.',
47
+ },
48
+ {
49
+ name: 'Dosyaları indirin',
50
+ text: 'Oluşturulan PNG\'leri tek tek veya ZIP paketi olarak kaydedin.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: SvgAPngLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'W3C SVG Özellikleri',
57
+ url: 'https://www.w3.org/TR/SVG/',
58
+ },
59
+ {
60
+ name: 'Mozilla: SVG Eğitimi',
61
+ url: 'https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial',
62
+ },
63
+ ];
64
+
65
+ const seo: SvgAPngLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'SVG\'den PNG\'ye Dönüştürücü: Sonsuz Vektörden Evrensel Rastere',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: '<strong>SVG</strong> (Ölçeklenebilir Vektör Grafikleri) web tasarımı için mükemmel bir seçimdir: sonsuz ölçeklenebilir, hafiftir ve herhangi bir kod düzenleyiciyle düzenlenebilir. Ancak bu logoyu veya simgeyi bir mobil uygulamada kullanmak, sosyal medyada paylaşmak veya bir PowerPoint sunumuna yerleştirmek istediğinizde bir engelle karşılaşırsınız: Bu platformların çoğu SVG\'yi desteklemez. <strong>PNG</strong> formatı evrensel çözümdür: rasterleştirilmiştir, bir alfa kanalına sahiptir ve kesinlikle her bağlamda uyumludur.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'SVG mi PNG mi? Web için Vektörler, Dünya için Raster',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'SVG, görüntüyü matematiksel talimatlar olarak saklar: bir Bézier eğrisi, bir gradyan, bir çokgen. Bu, aynı dosyanın 16 pikselde veya 16.000 pikselde mükemmel görünmesi anlamına gelir. Web kodunuz, CSS animasyonlarınız ve herhangi bir kalite kaybı olmadan farklı ekran çözünürlüklerine uyum sağlaması gereken her öğe için ideal formattır.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'PNG, görüntüyü her piksel için renk ve şeffaflık bilgilerini içeren bir piksel ızgarası olarak saklar. <strong>Kayıpsız</strong> (lossless) bir formattır, yani kalite tamamen korunur. Bir SVG, PNG\'ye rasterleştirildikten sonra çözünürlük sabittir. Bu nedenle doğru dışa aktarma boyutunu seçmek kritiktir: Aracımız, Retina ve 4K ekranlarda keskinliği sağlamak için çift ölçekte (2 kat) işleme yapar.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Karşılaştırma: Yerel ve Bulut Dönüştürme',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Bulut Dönüştürücüler',
98
+ description: 'Dosyalarınızı uzak bir sunucuya yükleyen araçlar.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'SVG kodunuz harici sunuculara gider',
103
+ 'Tutarsız kalitede uzaktan işleme',
104
+ 'Yükleme ve işleme için bekleme süresi',
105
+ 'SVG dosya boyutu sınırlamaları',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Yerel Mimarimiz',
110
+ description: 'Vanilla JS teknolojisini kullanarak doğrudan donanımınızda işleme.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'SVG\'niz tarayıcınızdan asla ayrılmaz',
115
+ 'Maksimum doğruluk için yerel tarayıcı motoru işlemesi',
116
+ 'Yüksek yoğunluklu ekranlar için 2 kat çözünürlüklü PNG',
117
+ 'Tam alfa kanalıyla korunan şeffaflık',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Teknik Olarak Nasıl Çalışır',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Süreç, SVG dosyasının bir JavaScript <strong>Image</strong> öğesine yüklenmesiyle başlar. Tarayıcı motoru vektör XML\'ini ayrıştırıp işledikten sonra, sonuç görüntüsü boyutları orijinal SVG boyutunun iki katı (2 kat ölçek) olan bir <strong>HTML5 Canvas</strong> üzerine çizilir. Bu, yüksek çözünürlüklü ekranlar için ideal olan, her boyutta iki kat piksele sahip bir PNG üretir.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'JPG\'ye dönüştürmenin aksine, PNG\'ye dışa aktarırken tuval tam alfa kanalını korur: Orijinal SVG\'deki şeffaf alanlar, sonuçta elde edilen PNG\'de tamamen şeffaf pikseller haline gelir — beyaz arka plan dolgusu olmaz. Dışa aktarma işlemi, kayıpsız sıkıştırma ile <code>toDataURL(\'image/png\')</code> yöntemini kullanır.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Rasterleştirmeden önce ipucu',
138
+ html: 'PNG dışa aktarma boyutunuzu dikkatli seçin — bir SVG\'yi rasterleştirmek tek yönlü bir işlemdir: vektörleri sonuçta elde edilen PNG\'den geri kazanamazsınız. Her zaman orijinal SVG\'yi ana kaynak olarak tutun ve ihtiyaç duyabileceğiniz en yüksek çözünürlükte PNG\'ler oluşturun.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Kullanım Durumları ve Uyumluluk',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'PowerPoint veya Google Slides sunumları için vektör logolarını dışa aktarma.',
150
+ 'iOS, Android veya Progresif Web Uygulamaları için PNG simgeleri oluşturma.',
151
+ 'SVG tasarımlarını Instagram, LinkedIn veya diğer sosyal medyalarda paylaşma.',
152
+ 'Vektör illüstrasyonlarını Word belgelerine veya PDF\'lere yerleştirme.',
153
+ 'CMS önizlemesi için SVG grafiklerinin PNG küçük resimlerini oluşturma.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Sonuç',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'SVG vektörlerin dilidir; PNG ise dijital dünyanın geri kalanına açılan pasaporttur. Bu araç, tasarımlarınızın tek bir baytı bile harici bir sunucuya gitmeden, doğrudan tarayıcınızda, SVGs\'lerinizi şeffaflığı bozulmadan 2 kat çözünürlükte rasterleştirir.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: SvgAPngLocaleContent = {
169
+ slug,
170
+ title,
171
+ description,
172
+ ui,
173
+ seo,
174
+ faq,
175
+ bibliography,
176
+ howTo,
177
+ schemas: generateSchemas({ title, description, inLanguage: 'tr', faq, howTo }),
178
+ };