@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,178 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { BmpAJpgLocaleContent } from '../index';
4
+
5
+ const slug = 'convert-bmp-to-jpg';
6
+ const title = 'BMP를 JPG로 온라인 변환';
7
+ const description =
8
+ '브라우저에서 BMP 이미지를 JPG로 변환하세요. 파일 크기를 획기적으로 줄일 수 있습니다. 서버 업로드 없이 로컬에서 처리되어 무료이며 100% 안전합니다.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'BMP 파일을 끌어다 놓으세요...',
12
+ convertText: '즉시 JPG로 변환합니다',
13
+ selectFiles: '파일 선택',
14
+ processedFiles: '처리된 파일',
15
+ downloadAll: '모두 다운로드 (.zip)',
16
+ pending: '대기 중',
17
+ bibliographyTitle: '참고 문헌',
18
+ faqTitle: '자주 묻는 질문',
19
+ };
20
+
21
+ const faq: BmpAJpgLocaleContent['faq'] = [
22
+ {
23
+ question: '왜 BMP를 JPG로 변환해야 하나요?',
24
+ answer:
25
+ 'BMP 형식은 데이터를 압축하지 않아 파일 크기가 매우 큽니다. JPG 형식은 웹 및 배포를 위해 우수한 시각적 품질을 유지하면서 이미지를 획기적으로 압축합니다.',
26
+ },
27
+ {
28
+ question: '여기서 이미지를 변환하는 것이 안전한가요?',
29
+ answer:
30
+ '100% 안전합니다. 모든 처리는 사용자의 웹 브라우저 엔진을 사용하여 로컬에서 수행되므로 개인 정보가 보장됩니다.',
31
+ },
32
+ {
33
+ question: '이 도구는 어떻게 작동하나요?',
34
+ answer:
35
+ 'BMP 파일을 드래그하기만 하면 JavaScript 스크립트가 픽셀을 읽어 HTML 캔버스에 다시 그려 즉시 JPEG 인코딩으로 내보냅니다.',
36
+ },
37
+ ];
38
+
39
+ const howTo: BmpAJpgLocaleContent['howTo'] = [
40
+ {
41
+ name: 'BMP 파일 업로드',
42
+ text: '지정된 영역에 BMP 형식의 이미지를 드래그 앤 드롭하거나 선택하세요.',
43
+ },
44
+ {
45
+ name: '자동 처리',
46
+ text: '도구가 이미지를 래스터화하고 수 밀리초 내에 최적의 JPG 압축 수준을 적용합니다.',
47
+ },
48
+ {
49
+ name: '개별 또는 일괄 다운로드',
50
+ text: '웹에 최적화된 새로운 이미지를 하나씩 또는 ZIP 파일로 한꺼번에 다운로드하세요.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: BmpAJpgLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'BMP File Format Specification',
57
+ url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
+ },
59
+ {
60
+ name: 'JPEG.org',
61
+ url: 'https://jpeg.org/',
62
+ },
63
+ ];
64
+
65
+ const seo: BmpAJpgLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'BMP to JPG 변환기: 거대한 파일을 몇 초 만에 압축',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'BMP(Bitmap)는 컴퓨터 공학에서 가장 단순한 형식입니다. 어떠한 압축도 없이 각 픽셀을 있는 그대로 저장합니다. 1920x1080 해상도의 BMP 스크린샷 크기는 약 6MB입니다. 동일한 이미지를 JPG로 변환하면 시각적으로 구분이 안 되는 품질로 약 200~400KB 정도가 됩니다. 그 차이는 어마어마하며, 당사 도구를 사용하면 서버 업로드 없이 브라우저에서 직접 몇 초 만에 변환할 수 있습니다.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'BMP vs JPG: 원시 데이터와 지능형 압축의 대결',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'BMP 형식은 Windows 3.1 시대에 Microsoft에서 만들었습니다. 철학은 매우 단순합니다. 각 픽셀은 3바이트(빨강, 초록, 파랑)를 차지하며 픽셀은 추가 처리 없이 한 줄로 저장됩니다. 이러한 압축 부재로 인해 실제 사진이나 스크린샷의 경우 BMP 파일은 JPG보다 50~100배 더 큽니다.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: '반면 JPG는 이산 코사인 변환(DCT)을 사용하여 각 8x8 픽셀 블록을 분석하고 인간의 눈이 거의 감지하지 못하는 고주파 정보를 제거합니다. 결과적으로 시각적으로는 동일해 보이지만 원본 크기의 아주 일부분에 불과한 이미지가 생성됩니다. 스크린샷, 스캐너 또는 레거시 Windows 애플리케이션의 BMP 파일에 대해 JPG 변환은 가장 효과적인 최적화 방법입니다.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: '아키텍처 비교: 로컬 vs 클라우드',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: '클라우드 변환기',
98
+ description: '처리를 위해 BMP 파일을 원격 서버로 업로드하는 서비스입니다.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ '연결이 느린 경우 10MB BMP를 업로드하는 데 시간이 오래 걸림',
103
+ '사용자의 기밀 스크린샷과 이미지가 인터넷을 통해 전송됨',
104
+ '무료 요금제에서의 빈번한 파일 크기 제한',
105
+ '전송 지연: 변환된 파일의 업로드 및 다운로드 시간',
106
+ ],
107
+ },
108
+ {
109
+ title: '당사의 로컬 아키텍처',
110
+ description: 'Vanilla JS 기술을 통해 사용자의 하드웨어에서 직접 처리합니다.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'BMP가 사용자의 RAM에서 처리되며 서버로 전송되지 않음',
115
+ '기다림 없는 즉각적인 변환',
116
+ '파일당 크기 제한 없음',
117
+ '완벽한 프라이버시: 외부로 0바이트 전송',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: '기술적인 BMP to JPG 변환 원리',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'BMP 파일을 도구로 드래그하면 브라우저가 <code>FileReader</code> API를 통해 파일을 읽고 메모리에서 Blob 객체로 디코드합니다. 해당 Blob은 보이지 않는 HTML5 캔버스로 렌더링됩니다. 그런 다음 <code>toDataURL(\'image/jpeg\')</code> 메서드가 캔버스 데이터에 JPEG 압축 알고리즘을 적용하여 결과 JPG 파일을 생성합니다.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'BMP에는 알파 채널(투명도 지원 안 함)이 없으므로 흰색 배경 합성이 필요 없는 직접적인 JPG 변환이 가능합니다. 모든 과정은 네트워크 데이터 전송 없이 사용자의 컴퓨터 RAM에서 수 밀리초 내에 완료되며, 수 메가바이트 크기의 파일도 빠르게 처리됩니다.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Windows BMP 파일은 거대할 수 있습니다',
138
+ html: '스크린샷(Windows의 Print Screen 키)이나 그림판 같은 레거시 앱에서 생성된 BMP 파일은 동일한 JPG보다 50~100배 더 무거울 수 있습니다. Full HD 해상도의 단일 BMP는 6MB를 초과할 수 있습니다. 이메일로 보내거나 플랫폼에 업로드하기 전에 JPG로 변환하는 것이 필수적인 작업입니다.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: '사용 사례 및 변환된 JPG의 호환성',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ '이메일 전송을 위한 Windows 스크린샷 최적화.',
150
+ '레거시 소프트웨어(CAD, 구형 스캐너)에서 내보낸 이미지 변환.',
151
+ '웹 플랫폼 및 SNS 업로드를 위한 이미지 크기 줄이기.',
152
+ 'Word, PowerPoint 또는 PDF 문서 삽입용 파일 준비.',
153
+ '모든 최신 뷰어 및 브라우저와의 범용 호환성.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: '결론: 10MB BMP가 500KB JPG로, 동일한 화질',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'BMP를 JPG로 변환하는 것은 이미지 파일 관리에서 가장 보람 있는 최적화 작업 중 하나입니다. 당사 도구는 파일 업로드 및 계정 생성 없이 브라우저에서 직접 몇 초 만에 이 작업을 수행합니다. 결과물은 범용적으로 호환되는 고품질 JPG로, 원본 BMP보다 크기가 최대 97% 작습니다.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: BmpAJpgLocaleContent = {
169
+ slug,
170
+ title,
171
+ description,
172
+ ui,
173
+ seo,
174
+ faq,
175
+ bibliography,
176
+ howTo,
177
+ schemas: generateSchemas({ title, description, inLanguage: 'ko', faq, howTo }),
178
+ };
@@ -0,0 +1,178 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { BmpAJpgLocaleContent } from '../index';
4
+
5
+ const slug = 'bmp-naar-jpg-converter';
6
+ const title = 'BMP naar JPG Online Converteren';
7
+ const description =
8
+ 'Converteer BMP-afbeeldingen naar JPG in je browser. Beperk de bestandsgrootte drastisch. Zonder bestanden naar servers te uploaden. Gratis en 100% privé.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Sleep BMP-bestanden hierheen...',
12
+ convertText: 'Om ze direct naar JPG te converteren',
13
+ selectFiles: 'Bestanden selecteren',
14
+ processedFiles: 'Verwerkte bestanden',
15
+ downloadAll: 'Alles downloaden (.zip)',
16
+ pending: 'In afwachting',
17
+ bibliographyTitle: 'Bibliografische Referenties',
18
+ faqTitle: 'Veelgestelde Vragen',
19
+ };
20
+
21
+ const faq: BmpAJpgLocaleContent['faq'] = [
22
+ {
23
+ question: 'Waarom BMP naar JPG converteren?',
24
+ answer:
25
+ 'Het BMP-formaat comprimeert geen gegevens, wat resulteert in extreem grote bestanden. Het JPG-formaat comprimeert de afbeelding drastisch met behoud van een uitstekende visuele kwaliteit voor web en distributie.',
26
+ },
27
+ {
28
+ question: 'Is het veilig om mijn afbeeldingen hier te converteren?',
29
+ answer:
30
+ '100% veilig. Je privacy is gegarandeerd omdat de verwerking volledig lokaal gebeurt met behulp van de engine van je eigen webbrowser.',
31
+ },
32
+ {
33
+ question: 'Hoe werkt de tool?',
34
+ answer:
35
+ 'Sleep gewoon je BMP-bestanden naar de tool en ons JavaScript-script leest de pixels om ze opnieuw op een HTML-canvas te tekenen en ze direct in JPEG-codering te exporteren.',
36
+ },
37
+ ];
38
+
39
+ const howTo: BmpAJpgLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Upload je BMP-bestanden',
42
+ text: 'Sleep je afbeeldingen in BMP-formaat naar de aangewezen zone of selecteer ze handmatig.',
43
+ },
44
+ {
45
+ name: 'Automatische Verwerking',
46
+ text: 'De tool rastert de afbeelding en past in milliseconden het optimale compressieniveau in JPG-formaat toe.',
47
+ },
48
+ {
49
+ name: 'Individuele of Batch-download',
50
+ text: 'Haal je nieuwe voor web geoptimaliseerde afbeeldingen één voor één op of download ze als een ZIP-bestand.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: BmpAJpgLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'BMP File Format Specification',
57
+ url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
+ },
59
+ {
60
+ name: 'JPEG.org',
61
+ url: 'https://jpeg.org/',
62
+ },
63
+ ];
64
+
65
+ const seo: BmpAJpgLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'BMP naar JPG Converter: Verklein een gigantisch bestand in seconden',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'BMP (Bitmap) is het meest eenvoudige formaat in de informatica: het slaat elke pixel op zoals die is, zonder enige vorm van compressie. Een screenshot van 1920x1080 in BMP weegt ongeveer 6 MB. Diezelfde afbeelding in JPG neemt tussen de 200 en 400 KB in beslag met een visueel ononderscheidbare kwaliteit. Het verschil is enorm en onze tool stelt je in staat om die conversie in seconden uit te voeren, direct in je browser, zonder iets naar een server te uploaden.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'BMP vs JPG: ruwe data tegen slimme compressie',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'Het BMP-formaat is door Microsoft gecreëerd in het tijdperk van Windows 3.1. De filosofie is zo eenvoudig mogelijk: elke pixel neemt 3 bytes in beslag (rood, groen, blauw) en de pixels worden achter elkaar opgeslagen zonder verdere verwerking. Door deze totale afwezigheid van compressie zijn BMP-bestanden tussen de 50 en 100 keer groter dan hun equivalent in JPG voor foto\'s en echte screenshots.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'JPG daarentegen gebruikt de Discrete Cosinus Transformatie (DCT) om elk blok van 8x8 pixels te analyseren en de hoogfrequente informatie die het menselijk oog nauwelijks waarneemt te elimineren. Het resultaat is een afbeelding die er identiek uitziet, maar slechts een fractie weegt van het origineel. Voor BMP-bestanden afkomstig van screenshots, scanners of legacy Windows-applicaties is de conversie naar JPG de meest impactvolle optimalisatie-actie die mogelijk is.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Vergelijking van Architectuur: Lokaal vs Cloud',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Cloud Converters',
98
+ description: 'Diensten die je BMP-bestanden naar externe servers uploaden om ze te verwerken.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Het uploaden van een BMP van 10 MB duurt lang bij trage verbindingen',
103
+ 'Je screenshots en vertrouwelijke afbeeldingen reizen over het internet',
104
+ 'Frequente limieten voor bestandsgrootte in gratis abonnementen',
105
+ 'Dubbele latentie: uploaden en downloaden van het geconverteerde bestand',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Onze Lokale Architectuur',
110
+ description: 'Directe verwerking op je eigen hardware via Vanilla JS-technologie.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'De BMP wordt verwerkt in je RAM en reist niet naar een server',
115
+ 'Directe conversie zonder wachten',
116
+ 'Zonder limieten voor de bestandsgrootte',
117
+ 'Volledige privacy: 0 bytes naar buiten verzonden',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Hoe de technische conversie van BMP naar JPG werkt',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Wanneer je een BMP-bestand naar de tool sleept, leest de browser dit met de <code>FileReader</code> API en decodeert het als een Blob-object in het geheugen. Die Blob wordt gerenderd op een onzichtbaar HTML5 canvas. Vervolgens past de methode <code>toDataURL(\'image/jpeg\')</code> het JPEG-compressiealgoritme toe op de canvasgegevens en genereert het resulterende JPG-bestand.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Aangezien BMP geen alfakanaal heeft (het ondersteunt geen transparantie), is de conversie naar JPG direct, zonder de noodzaak voor compositie met een witte achtergrond. Het volledige proces vindt plaats in het RAM-geheugen van je computer, zonder enige gegevensoverdracht via het netwerk, in milliseconden, zelfs voor bestanden van meerdere megabytes.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Windows BMP\'s kunnen gigantisch zijn',
138
+ html: 'BMP-bestanden die zijn gegenereerd door screenshots (Print Screen-toets in Windows) of door legacy-applicaties zoals Paint kunnen tussen de 50 en 100 keer meer wegen dan een gelijkwaardige JPG. Een enkel BMP-bestand in Full HD-resolutie kan meer dan 6 MB overschrijden. Ze converteren naar JPG voordat je ze per e-mail verstuurt of uploadt naar een platform is essentieel.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Gebruiksscenario\'s en compatibiliteit van de resulterende JPG',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Optimalisatie van Windows-screenshots om per e-mail te verzenden.',
150
+ 'Conversie van afbeeldingen die zijn geëxporteerd door legacy software (CAD, oude scanners).',
151
+ 'Groottebeperking voor het uploaden van afbeeldingen naar webplatforms en sociale netwerken.',
152
+ 'Voorbereiding van bestanden voor invoeging in Word-, PowerPoint- of PDF-documenten.',
153
+ 'Universele compatibiliteit met alle moderne viewers en browsers.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Conclusie: 10 MB BMP, 500 KB JPG, dezelfde afbeelding',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'De conversie van BMP naar JPG is een van de meest rendabele optimalisatie-oefeningen bij het beheer van afbeeldingsbestanden. Onze tool voert die transformatie in seconden uit, zonder bestanden te uploaden, zonder een account aan te maken, direct in je browser. Het resultaat is een hoogwaardige JPG, universeel compatibel en met een gewicht dat tot 97% lager is dan het originele BMP.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: BmpAJpgLocaleContent = {
169
+ slug,
170
+ title,
171
+ description,
172
+ ui,
173
+ seo,
174
+ faq,
175
+ bibliography,
176
+ howTo,
177
+ schemas: generateSchemas({ title, description, inLanguage: 'nl', faq, howTo }),
178
+ };
@@ -0,0 +1,178 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { BmpAJpgLocaleContent } from '../index';
4
+
5
+ const slug = 'konwerter-bmp-na-jpg';
6
+ const title = 'Konwertuj BMP na JPG Online';
7
+ const description =
8
+ 'Konwertuj obrazy BMP na JPG w swojej przeglądarce. Drastycznie zmniejsz rozmiar plików. Bez przesyłania plików na serwery. Darmowy i w 100% prywatny.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Przeciągnij pliki BMP...',
12
+ convertText: 'Aby błyskawicznie konwertować je na JPG',
13
+ selectFiles: 'Wybierz pliki',
14
+ processedFiles: 'Przetworzone pliki',
15
+ downloadAll: 'Pobierz wszystko (.zip)',
16
+ pending: 'Oczekiwanie',
17
+ bibliographyTitle: 'Bibliografia',
18
+ faqTitle: 'Często zadawane pytania',
19
+ };
20
+
21
+ const faq: BmpAJpgLocaleContent['faq'] = [
22
+ {
23
+ question: 'Dlaczego warto konwertować BMP na JPG?',
24
+ answer:
25
+ 'Format BMP nie kompresuje danych, co skutkuje ekstremalnie dużymi plikami. Format JPG drastycznie kompresuje obraz, zachowując przy tym doskonałą jakość wizualną dla sieci i dystrybucji.',
26
+ },
27
+ {
28
+ question: 'Czy konwersja moich obrazów tutaj jest bezpieczna?',
29
+ answer:
30
+ 'W 100% bezpieczna. Twoja prywatność jest gwarantowana, ponieważ przetwarzanie odbywa się w całości lokalnie, przy użyciu silnika Twojej własnej przeglądarki internetowej.',
31
+ },
32
+ {
33
+ question: 'Jak działa to narzędzie?',
34
+ answer:
35
+ 'Po prostu przeciągnij pliki BMP, a nasz skrypt JavaScript odczyta piksele, aby ponownie narysować je na płótnie HTML i natychmiast wyeksportować w kodowaniu JPEG.',
36
+ },
37
+ ];
38
+
39
+ const howTo: BmpAJpgLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Prześlij pliki BMP',
42
+ text: 'Przeciągnij i upuść lub wybierz obrazy w formacie BMP w wyznaczonym obszarze.',
43
+ },
44
+ {
45
+ name: 'Automatyczne przetwarzanie',
46
+ text: 'Narzędzie rasteryzuje obraz i w ciągu milisekund stosuje optymalny poziom kompresji w formacie JPG.',
47
+ },
48
+ {
49
+ name: 'Pobieranie pojedyncze lub zbiorcze',
50
+ text: 'Pobieraj nowe, zoptymalizowane pod kątem sieci obrazy pojedynczo lub jako plik ZIP.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: BmpAJpgLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'BMP File Format Specification',
57
+ url: 'https://en.wikipedia.org/wiki/BMP_file_format',
58
+ },
59
+ {
60
+ name: 'JPEG.org',
61
+ url: 'https://jpeg.org/',
62
+ },
63
+ ];
64
+
65
+ const seo: BmpAJpgLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'Konwerter BMP na JPG: Zmniejsz gigantyczny plik w kilka sekund',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'BMP (Bitmap) to najbardziej prymitywny format w informatyce: przechowuje każdy piksel w postaci niezmienionej, bez żadnej kompresji. Zrzut ekranu o rozdzielczości 1920x1080 w formacie BMP waży około 6 MB. Ten sam obraz w formacie JPG zajmuje od 200 do 400 KB przy wizualnie nieodróżnialnej jakości. Różnica jest kolosalna, a nasze narzędzie pozwala na wykonanie tej konwersji w kilka sekund, bezpośrednio w przeglądarce, bez przesyłania czegokolwiek na serwer.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'BMP vs JPG: surowe dane kontra inteligentna kompresja',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'Format BMP został stworzony przez firmę Microsoft w erze systemu Windows 3.1. Jego filozofia jest tak prosta, jak to tylko możliwe: każdy piksel zajmuje 3 bajty (czerwony, zielony, niebieski), a piksele są przechowywane w rzędach bez żadnego dodatkowego przetwarzania. Ten całkowity brak kompresji sprawia, że pliki BMP są od 50 do 100 razy większe niż ich odpowiedniki w formacie JPG w przypadku rzeczywistych zdjęć i zrzutów ekranu.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'Z kolei JPG wykorzystuje dyskretną transformatę kosinusową (DCT) do analizy każdego bloku 8x8 pikseli i wyeliminowania informacji o wysokiej częstotliwości, których ludzkie oko prawie nie dostrzega. Rezultatem jest obraz, który wygląda identycznie, ale waży ułamek oryginału. W przypadku plików BMP pochodzących ze zrzutów ekranu, skanerów lub starszych aplikacji systemu Windows, konwersja na JPG jest najskuteczniejszym możliwym działaniem optymalizacyjnym.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Porównanie architektury: lokalna kontra chmurowa',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Konwertery w chmurze',
98
+ description: 'Usługi przesyłające pliki BMP na zdalne serwery w celu ich przetworzenia.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Przesłanie pliku BMP o rozmiarze 10 MB zajmuje dużo czasu przy wolnych połączeniach',
103
+ 'Twoje poufne zrzuty ekranu i obrazy wędrują po internecie',
104
+ 'Częste limity rozmiaru w darmowych planach',
105
+ 'Podwójne opóźnienie: przesyłanie i pobieranie przekonwertowanego pliku',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Nasza lokalna architektura',
110
+ description: 'Przetwarzanie bezpośrednio na Twoim sprzęcie za pomocą technologii Vanilla JS.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Plik BMP jest przetwarzany w Twojej pamięci RAM i nie wędruje na serwer',
115
+ 'Natychmiastowa konwersja bez czekania',
116
+ 'Brak limitów rozmiaru na plik',
117
+ 'Całkowita prywatność: 0 bajtów wysłanych na zewnątrz',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Jak działa techniczna konwersja z BMP na JPG',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Po przeciągnięciu pliku BMP do narzędzia przeglądarka odczytuje go za pomocą interfejsu API <code>FileReader</code> i dekoduje jako obiekt Blob w pamięci. Ten Blob jest renderowany na niewidocznym płótnie HTML5. Następnie metoda <code>toDataURL(\'image/jpeg\')</code> stosuje algorytm kompresji JPEG na danych z płótna i generuje wynikowy plik JPG.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Ponieważ format BMP nie posiada kanału alfa (nie obsługuje przezroczystości), konwersja na JPG jest bezpośrednia, bez konieczności składania z białym tłem. Cały proces odbywa się w pamięci RAM komputera, bez przesyłania danych przez sieć, w ciągu milisekund, nawet w przypadku plików o rozmiarze kilku megabajtów.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Pliki BMP z Windows mogą być ogromne',
138
+ html: 'Pliki BMP generowane przez zrzuty ekranu (klawisz Print Screen w systemie Windows) lub przez starsze aplikacje, takie jak Paint, mogą ważyć od 50 do 100 razy więcej niż ich odpowiedniki w formacie JPG. Pojedynczy plik BMP o rozdzielczości Full HD może przekraczać 6 MB. Konwertowanie ich na JPG przed wysłaniem e-mailem lub przesłaniem na dowolną platformę to niezbędna praktyka.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Przypadki użycia i kompatybilność wynikowego pliku JPG',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Optymalizacja zrzutów ekranu systemu Windows do wysyłki e-mailem.',
150
+ 'Konwersja obrazów wyeksportowanych przez starsze oprogramowanie (CAD, stare skanery).',
151
+ 'Zmniejszanie wagi obrazów przesyłanych na platformy internetowe i portale społecznościowe.',
152
+ 'Przygotowanie plików do wstawienia do dokumentów Word, PowerPoint lub PDF.',
153
+ 'Uniwersalna kompatybilność ze wszystkimi nowoczesnymi przeglądarkami i systemami.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Podsumowanie: 10 MB BMP, 500 KB JPG, ten sam obraz',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'Konwersja z BMP na JPG to jedno z najbardziej opłacalnych ćwiczeń optymalizacyjnych w zarządzaniu plikami graficными. Nasze narzędzie wykonuje tę transformację w kilka sekund, bez przesyłania plików i bez zakładania konta, bezpośrednio w przeglądarce. Wynikiem jest wysokiej jakości plik JPG, uniwersalnie kompatybilny i o wadze do 97% mniejszej niż oryginalny plik BMP.',
164
+ },
165
+ ];
166
+
167
+
168
+ export const content: BmpAJpgLocaleContent = {
169
+ slug,
170
+ title,
171
+ description,
172
+ ui,
173
+ seo,
174
+ faq,
175
+ bibliography,
176
+ howTo,
177
+ schemas: generateSchemas({ title, description, inLanguage: 'pl', faq, howTo }),
178
+ };