@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,183 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { JpgAIcoLocaleContent } from '../index';
4
+
5
+ const slug = 'jpg-to-ico-converter';
6
+ const title = 'JPG를 ICO로 변환기';
7
+ const description =
8
+ '실제 Microsoft 바이너리 헤더를 사용하여 JPG 사진을 ICO로 변환하세요. 자동 정사각형 자르기. 파일 업로드 없음. 무료 및 개인 정보 보호.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'JPG 파일을 드래그하세요...',
12
+ convertText: '즉시 ICO로 변환하려면',
13
+ selectFiles: '파일 선택',
14
+ processedFiles: '처리된 파일',
15
+ downloadAll: '모두 다운로드 (.zip)',
16
+ pending: '대기 중',
17
+ bibliographyTitle: '참고 문헌',
18
+ faqTitle: '자주 묻는 질문',
19
+ };
20
+
21
+ const faq: JpgAIcoLocaleContent['faq'] = [
22
+ {
23
+ question: '결과물인 ICO 파일이 Windows 폴더 사용자 정의에 기본적으로 호환되나요?',
24
+ answer:
25
+ '네, 이미지 매트릭스의 낮은 레벨에 표준화된 바이너리 헤더를 삽입하여 100% 실제 Microsoft 아이콘 형식 파일을 생성합니다.',
26
+ },
27
+ {
28
+ question: '원본 JPG가 가로로 긴 파노라마 사진인 경우 비율은 어떻게 되나요?',
29
+ answer:
30
+ '엄격한 글로벌 ICO 표준은 완벽한 정사각형 이미지를 절대적으로 요구합니다. 당사의 HTML5 JS 엔진은 사진을 중앙에 맞추고 나머지 부분을 잘라내어 균형 잡힌 결과를 보장합니다.',
31
+ },
32
+ {
33
+ question: '기업용 로고나 개인적인 JPG 사진을 변환기에 업로드하는 것이 위험한가요?',
34
+ answer:
35
+ 'JavaScript의 Canvas 엔진은 사용자의 브라우저 내에서 작동합니다. 수백 장의 사진을 ICO로 변환해도 보안이 의심되는 국가의 클라우드로 단 1MB도 전송되지 않습니다.',
36
+ },
37
+ ];
38
+
39
+ const howTo: JpgAIcoLocaleContent['howTo'] = [
40
+ {
41
+ name: '원본 JPG 사진 수집',
42
+ text: '일반 사진을 찾아 모아서 당사의 편리한 사각형 영역에 드래그하여 입력하세요.',
43
+ },
44
+ {
45
+ name: '바이너리 정제 과정 확인',
46
+ text: '비동기식 재인코딩을 통해 메타데이터와 헤더를 네이티브하고 빠르게 삽입하여 메모리상에서 엄격하고 순수한 아이콘을 생성합니다.',
47
+ },
48
+ {
49
+ name: '멀티 ZIP 디자인 컴파일',
50
+ text: '단 몇 초 만에 모든 결과물을 압축 패키지로 대량 다운로드하여 작업을 완료하세요.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: JpgAIcoLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'ICO 도상학적 구조 및 시스템 사용법',
57
+ url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
+ },
59
+ {
60
+ name: 'JPEG.org 표준',
61
+ url: 'https://jpeg.org/',
62
+ },
63
+ ];
64
+
65
+ const seo: JpgAIcoLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'JPG to ICO 변환기: 사진으로 파비콘 및 Windows 아이콘 만들기',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: '<strong>ICO</strong> 형식은 Windows 애플리케이션 아이콘 및 웹사이트 파비콘을 위한 Microsoft의 표준입니다. JPG 파일의 확장자만 .ico로 바꾸는 것과 달리, 실제 ICO 파일은 22바이트 헤더와 임베디드 이미지 디렉토리가 포함된 특정 바이너리 구조를 필요로 합니다. <strong>JPG</strong>는 이러한 아이콘(회사 로고, 프로필 사진 또는 애플리케이션이나 웹사이트의 시각적 상징으로 만들고 싶은 이미지)을 만드는 데 가장 일반적으로 사용되는 시작점입니다.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'JPG 또는 ICO? 각 형식을 사용해야 하는 경우',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: '<strong>JPG</strong>는 소스 형식이지 아이콘용 최종 형식이 아닙니다. 사진이나 배너에는 완벽하지만, Windows 탐색기, 브라우저의 즐겨찾기 바, 데스크톱 바로가기 또는 PWA 애플리케이션 매니페스트와 같이 아이콘을 요구하는 시스템과는 호환되지 않습니다. 아이콘을 찾는 운영 체제나 브라우저는 ICO 형식을 기대하며, 이를 찾지 못하면 일반적인 아이콘이나 깨진 사각형을 표시합니다.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: '<strong>ICO</strong> 형식은 단일 파일에 여러 해상도를 포함하도록 설계되었습니다. 즐겨찾기 바용 <strong>16×16</strong>, 바로가기용 <strong>32×32</strong>, 파일 탐색기용 <strong>48×48</strong>, 고밀도 디스플레이용 <strong>256×256</strong> 등이 있습니다. 브라우저와 운영 체제는 표시되는 맥락에 따라 적절한 해상도를 자동으로 선택하므로 사용자가 별도로 관리할 필요가 없습니다.',
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
+ '업로드 및 다운로드 시 네트워크 지연 발생',
103
+ '기업 로고가 타사 서버에 저장됨',
104
+ '파일 크기 제한 및 일일 변환 횟수 제한',
105
+ '강제적인 광고 및 타사 추적기 포함',
106
+ ],
107
+ },
108
+ {
109
+ title: '로컬 아키텍처',
110
+ description: 'Vanilla JS 기술을 사용하여 사용자의 하드웨어에서 직접 처리합니다.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ '네트워크 지연 없는 즉각적인 속도',
115
+ '완벽한 개인 정보 보호 — 외부로 전송되는 데이터 0바이트',
116
+ '용량 제한이나 파일 개수 제한 없음',
117
+ '광고나 추적 없는 깨끗한 인터페이스',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: '기술적 작동 원리',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'JPG 파일이 디코딩되어 메모리상의 <strong>HTML5 Canvas</strong>에 그려집니다. ICO 형식은 정사각형 이미지를 필요로 하므로, 엔진이 자동으로 JPG가 직사각형인지 감지하여 가장 중요한 부분을 중심으로 잘라냅니다. 그런 다음 올바른 매직 넘버(<code>00 00 01 00</code>), 이미지 디렉토리 및 인코딩된 픽셀 데이터와 함께 표준 Microsoft ICO 헤더를 생성합니다. 결과물은 확장자만 바꾼 PNG가 아닌 실제 바이너리 .ico 파일입니다.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'JPG에는 알파 채널이 없으므로 생성된 ICO에도 투명도가 없습니다. 원본 사진에서 상속된 단색 배경을 갖게 됩니다. 투명 배경의 파비콘(예: 다크 모드 또는 라이트 모드 즐겨찾기 바에 맞추기 위해)이 필요한 경우, 권장되는 작업 순서는 에디터에서 배경을 제거하고 PNG로 저장한 다음 PNG to ICO 변환기를 사용하는 것입니다.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: '팁: 하나의 ICO 파일에 여러 해상도 포함',
138
+ html: 'ICO 파일은 <strong>여러 해상도</strong>를 하나의 파일에 담을 수 있으며, 브라우저나 OS가 문맥에 가장 적합한 것을 자동으로 선택합니다. 최상의 결과를 얻으려면 원본으로 최소 <strong>256×256 픽셀</strong> 이상의 정사각형 JPG를 사용하세요. 그래야 변환기가 픽셀 깨짐 없이 선명한 16×16, 32×32, 48×48 사이즈를 생성할 수 있는 충분한 정보를 얻을 수 있습니다.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: '활용 사례 및 호환성',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ '웹사이트 파비콘: Internet Explorer를 포함한 모든 브라우저와 호환됩니다.',
150
+ 'Windows 10/11의 폴더 및 데스크톱 아이콘 사용자 정의.',
151
+ '데스크톱 애플리케이션 또는 설치 프로그램을 위한 바로가기 아이콘.',
152
+ 'Electron 프로젝트 또는 PWA 애플리케이션용 앱 아이콘.',
153
+ '파일 관리 시스템 및 기업용 탐색기용 아이콘.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: '결론',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'JPG를 ICO로 변환하는 것은 시각적 정체성이 필요한 모든 웹 또는 데스크톱 프로젝트에서 기술적으로 필수적인 단계입니다. 본 도구는 로고를 외부 서버에 업로드하지 않고도 몇 초 만에 올바른 바이너리 구조를 갖춘 실제 ICO를 생성합니다. 결과물은 모든 브라우저, Windows 탐색기 및 Microsoft의 ICO 표준을 사용하는 모든 시스템에서 작동합니다.',
164
+ },
165
+ ];
166
+
167
+ export const content: JpgAIcoLocaleContent = {
168
+ slug,
169
+ title,
170
+ description,
171
+ ui,
172
+ seo,
173
+ faq,
174
+ bibliography,
175
+ howTo,
176
+ schemas: generateSchemas({
177
+ title,
178
+ description,
179
+ inLanguage: 'ko',
180
+ faq,
181
+ howTo,
182
+ }),
183
+ };
@@ -0,0 +1,183 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { JpgAIcoLocaleContent } from '../index';
4
+
5
+ const slug = 'jpg-naar-ico-converter';
6
+ const title = 'JPG naar ICO Converter';
7
+ const description =
8
+ 'Converteer JPG-foto\'s naar ICO met echte Microsoft binaire headers. Automatische vierkante uitsnede. Geen bestandsuploads. Gratis en privé.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Sleep JPG-bestanden...',
12
+ convertText: 'Om ze direct naar ICO 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: JpgAIcoLocaleContent['faq'] = [
22
+ {
23
+ question: 'Is het resulterende ICO-bestand standaard compatibel om Windows-mappen aan te passen?',
24
+ answer:
25
+ 'Ja, we maken een 100% authentiek Microsoft Icon Format-bestand door op een laag niveau een gestandaardiseerde binaire header in de beeldmatrix in te voegen.',
26
+ },
27
+ {
28
+ question: 'Wat gebeurt er met de verhouding als mijn originele JPG een panoramische horizontale foto is?',
29
+ answer:
30
+ 'De strikte wereldwijde ICO-standaard vereist absoluut een perfect vierkante afbeelding. Onze HTML5 JS-engine zal je foto centreren en het overtollige wegsnijden, waardoor een gebalanceerd resultaat wordt gegarandeerd.',
31
+ },
32
+ {
33
+ question: 'Is het gevaarlijk om zakelijke of persoonlijke JPG-logo\'s naar de converter te uploaden?',
34
+ answer:
35
+ 'De Canvas-engine in JavaScript draait in je eigen browser. Het converteren van honderden foto\'s naar ICO stuurt geen enkele megabyte naar een cloud in twijfelachtige landen.',
36
+ },
37
+ ];
38
+
39
+ const howTo: JpgAIcoLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Verzamel de originele JPG-foto\'s',
42
+ text: 'Zoek en verzamel de conventionele foto\'s en plaats ze door ze in ons vriendelijke vierkant te laten vallen.',
43
+ },
44
+ {
45
+ name: 'Ervaar de binaire transformatie',
46
+ text: 'De hercodering zal op een natuurlijke en snelle manier asynchroon metadata en headers invoegen, waardoor in het geheugen een strikt zuiver pictogram wordt gegenereerd.',
47
+ },
48
+ {
49
+ name: 'Stel meerdere ZIP-ontwerpen samen',
50
+ text: 'Rond de klus af door in slechts enkele seconden alles massaal in een compact pakket te downloaden.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: JpgAIcoLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'ICO Iconografische Structuur en Systeemgebruik',
57
+ url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
+ },
59
+ {
60
+ name: 'JPEG.org Standaarden',
61
+ url: 'https://jpeg.org/',
62
+ },
63
+ ];
64
+
65
+ const seo: JpgAIcoLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'JPG naar ICO Converter: Maak Favicons en Windows Pictogrammen van je Foto\'s',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'Het <strong>ICO</strong>-formaat is de standaard van Microsoft voor pictogrammen van Windows-applicaties en favicons van websites. In tegenstelling tot het simpelweg hernoemen van een JPG naar .ico, vereist een echt ICO-bestand een specifieke binaire structuur met 22-byte headers en een ingesloten afbeeldingsoverzicht. <strong>JPG</strong> is het meest voorkomende startpunt voor het maken van deze pictogrammen — een bedrijfslogo, een profielfoto of een afbeelding die je wilt veranderen in het visuele icoon van je applicatie of website.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'JPG of ICO? Wanneer elk formaat te gebruiken',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: '<strong>JPG</strong> is een bronformaat, geen doel voor pictogrammen. Perfect voor foto\'s en banners, maar incompatibel met systemen die pictogrammen vereisen: Windows Verkenner, de favorietenbalk van de browser, snelkoppelingen op het bureaublad of PWA-applicatiedocumenten. Een besturingssysteem of browser die op zoek is naar een pictogram verwacht het ICO-formaat — und als het dat niet vindt, wordt een generiek pictogram of een gebroken vierkant weergegeven.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'Het <strong>ICO</strong>-formaat is ontworpen om meerdere resoluties in één bestand te bevatten: <strong>16×16</strong> voor de favorietenbalk, <strong>32×32</strong> voor snelkoppelingen, <strong>48×48</strong> voor de Verkenner und <strong>256×256</strong> voor displays met hoge densiteit. Browsers und besturingssystemen selecteren automatisch de juiste resolutie op basis van de weergavecontext — de gebruiker hoeft niets te beheren.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Vergelijking: Lokale vs Cloud Conversie',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Cloud Converters',
98
+ description: 'Tools die je bestanden uploaden naar een externe server.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Netwerklatentie bij uploaden und downloaden',
103
+ 'Je bedrijfslogo\'s opgeslagen op servers van derden',
104
+ 'Limieten voor bestandsgrootte und dagelijkse conversiequota',
105
+ 'Opdringerige advertenties und trackers van derden',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Onze Lokale Architectuur',
110
+ description: 'Directe verwerking op je eigen hardware met Vanilla JS-technologie.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Onmiddellijke snelheid — geen netwerklatentie',
115
+ 'Volledige privacy — 0 bytes extern verzonden',
116
+ 'Geen MB-limieten of beperkingen op aantal bestanden',
117
+ 'Schone interface, geen advertenties of tracking',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Hoe het technisch werkt',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'De JPG wordt gedecodeerd und getekend op een in-memory <strong>HTML5 Canvas</strong>. Omdat het ICO-formaat een vierkante afbeelding vereist, detecteert de engine automatisch of de JPG rechthoekig is und snijdt deze bij door het meest relevante deel te centreren. Vervolgens bouwt het de standaard Microsoft ICO-header met het juiste magische getal (<code>00 00 01 00</code>), het afbeeldingsoverzicht und de gecodeerde pixelgegevens. Het resultaat is een authentiek binair .ico-bestand — geen hernoemd PNG.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Omdat JPG geen alfakanaal heeft, zal het resulterende ICO-bestand ook geen transparantie hebben — het zal een effen achtergrond hebben die is overgenomen van de originele foto. Als je een favicon met een transparante achtergrond nodig hebt (bijvoorbeeld om je aan te passen aan donkere of lichte favorietenbalken), is de aanbevolen werkwijze: de achtergrond verwijderen in een editor, opslaan als PNG und de PNG naar ICO converter gebruiken.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Tip: meerdere resoluties in een enkele ICO',
138
+ html: 'ICO-bestanden kunnen <strong>meerdere resoluties</strong> in één bestand bevatten — de browser of het OS kiest automatisch de meest geschikte voor elke context. Gebruik voor het best mogelijke resultaat een vierkante JPG van minimaal <strong>256×256 pixels</strong> als bron: dit geeft de converter genoeg informatie om scherpe 16×16, 32×32 und 48×48 formaten te genereren zonder pixelvorming.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Toepassingen und compatibiliteit',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Website favicon: compatibel met alle browsers, inclusief Internet Explorer.',
150
+ 'Aanpassing van map- und bureaubladpictogrammen in Windows 10/11.',
151
+ 'Snelkoppelingspictogram voor desktopapplicaties of installatieprogramma\'s.',
152
+ 'Applicatiepictogram voor Electron-projecten of PWA-applicaties.',
153
+ 'Pictogrammen voor bestandsbeheersystemen und zakelijke verkenners.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Conclusie',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'Het converteren van een JPG naar ICO is een technisch essentiële stap voor elk web- of desktopproject dat een herkenbare visuele identiteit nodig heeft. Deze tool genereert authentieke ICO\'s met de juiste binaire structuur, in seconden, zonder je logo naar een externe server te uploaden. Het resultaat werkt in alle browsers, in de Windows Verkenner und in elk systeem dat de ICO-standaard van Microsoft gebruikt.',
164
+ },
165
+ ];
166
+
167
+ export const content: JpgAIcoLocaleContent = {
168
+ slug,
169
+ title,
170
+ description,
171
+ ui,
172
+ seo,
173
+ faq,
174
+ bibliography,
175
+ howTo,
176
+ schemas: generateSchemas({
177
+ title,
178
+ description,
179
+ inLanguage: 'nl',
180
+ faq,
181
+ howTo,
182
+ }),
183
+ };
@@ -0,0 +1,183 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { JpgAIcoLocaleContent } from '../index';
4
+
5
+ const slug = 'konwerter-jpg-na-ico';
6
+ const title = 'Konwerter JPG na ICO';
7
+ const description =
8
+ 'Konwertuj zdjęcia JPG na ICO z prawdziwymi nagłówkami binarnymi Microsoft. Automatyczne przycinanie do kwadratu. Bez przesyłania plików. Za darmo i prywatnie.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Przeciągnij pliki JPG...',
12
+ convertText: 'Aby błyskawicznie przekonwertować je na ICO',
13
+ selectFiles: 'Wybierz pliki',
14
+ processedFiles: 'Przetworzone pliki',
15
+ downloadAll: 'Pobierz wszystko (.zip)',
16
+ pending: 'Oczekujące',
17
+ bibliographyTitle: 'Bibliografia',
18
+ faqTitle: 'Często Zadawane Pytania',
19
+ };
20
+
21
+ const faq: JpgAIcoLocaleContent['faq'] = [
22
+ {
23
+ question: 'Czy wynikowy plik ICO jest natywnie kompatybilny z dostosowywaniem folderów Windows?',
24
+ answer:
25
+ 'Tak, tworzymy w 100% autentyczny plik w formacie Microsoft Icon, wstawiając ustandaryzowany nagłówek binarny na niskim poziomie do macierzy obrazu.',
26
+ },
27
+ {
28
+ question: 'Co dzieje się z proporcjami, jeśli mój oryginalny plik JPG jest panoramicznym zdjęciem poziomym?',
29
+ answer:
30
+ 'Rygorystyczny globalny standard ICO bezwzględnie wymaga idealnie kwadratowego obrazu. Nasz silnik HTML5 JS wycentruje zdjęcie i przytnie nadmiar, gwarantując zrównoważony wynik.',
31
+ },
32
+ {
33
+ question: 'Czy przesyłanie korporacyjnych lub osobistych logo JPG do konwertera jest bezpieczne?',
34
+ answer:
35
+ 'Silnik Canvas w JavaScript znajduje się w Twojej własnej przeglądarce. Konwertowanie setek zdjęć na ICO nie wysyła ani jednego megabajta do żadnej chmury w wątpliwych krajach.',
36
+ },
37
+ ];
38
+
39
+ const howTo: JpgAIcoLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Zbierz oryginalne zdjęcia JPG',
42
+ text: 'Znajdź i zbierz konwencjonalne zdjęcia, a następnie umieść je, przeciągając do naszego przyjaznego kwadratu.',
43
+ },
44
+ {
45
+ name: 'Obserwuj binarną puryfikację',
46
+ text: 'Rekodowanie natywnie i szybko wstawi metadane i nagłówki asynchronicznie, generując w pamięci ściśle czystą ikonę.',
47
+ },
48
+ {
49
+ name: 'Skompiluj wiele projektów ZIP',
50
+ text: 'Zakończ pracę, pobierając wszystko masowo w kompaktowym pakiecie w zaledwie kilka sekund.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: JpgAIcoLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Struktura ikonograficzna ICO i użycie w systemie',
57
+ url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
+ },
59
+ {
60
+ name: 'Standardy JPEG.org',
61
+ url: 'https://jpeg.org/',
62
+ },
63
+ ];
64
+
65
+ const seo: JpgAIcoLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'Konwerter JPG na ICO: Twórz favikony i ikony Windows ze swoich zdjęć',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'Format <strong>ICO</strong> to standard firmy Microsoft dla ikon aplikacji Windows i favikon stron internetowych. W przeciwieństwie do zwykłej zmiany nazwy pliku JPG na .ico, autentyczny plik ICO wymaga specyficznej struktury binarnej z 22-bajtowymi nagłówkami i wbudowanym katalogiem obrazów. <strong>JPG</strong> jest najczęstszym punktem wyjścia do tworzenia tych ikon — logo firmy, zdjęcia profilowego lub dowolnego obrazu, który chcesz zamienić w wizualny symbol swojej aplikacji lub strony internetowej.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'JPG czy ICO? Kiedy używać każdego formatu',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: '<strong>JPG</strong> to format źródłowy, a nie docelowy dla ikon. Idealny do zdjęć i banerów, ale niekompatybilny z systemami wymagającymi ikon: Eksploratorem plików Windows, paskiem zakładek przeglądarki, skrótami na pulpicie czy manifestami aplikacji PWA. System operacyjny lub przeglądarka szukająca ikony oczekuje formatu ICO — a jeśli go nie znajdzie, wyświetli ikonę ogólną lub uszkodzony kwadrat.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'Format <strong>ICO</strong> został zaprojektowany tak, aby zawierał wiele rozdzielczości w jednym pliku: <strong>16×16</strong> dla paska zakładek, <strong>32×32</strong> dla skrótów, <strong>48×48</strong> dla eksploratora plików i <strong>256×256</strong> dla wyświetlaczy o wysokiej gęstości. Przeglądarki i systemy operacyjne automatycznie wybierają odpowiednią rozdzielczość w zależności od kontekstu wyświetlania — użytkownik nie musi niczym zarządzać.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Porównanie: Konwersja lokalna vs w chmurze',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Konwertery w chmurze',
98
+ description: 'Narzędzia, które przesyłają pliki na zdalny serwer.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Opóźnienia sieciowe podczas przesyłania i pobierania',
103
+ 'Twoje logotypy korporacyjne przechowywane na serwerach osób trzecich',
104
+ 'Limiti rozmiaru plików i dzienne limity konwersji',
105
+ 'Intruzywne reklamy i skrypty śledzące osób trzecich',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Nasza lokalna architektura',
110
+ description: 'Bezpośrednie przetwarzanie na Twoim sprzęcie przy użyciu technologii Vanilla JS.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Błyskawiczna prędkość — zero opóźnień sieciowych',
115
+ 'Pełna prywatność — 0 bajtów wysłanych na zewnątrz',
116
+ 'Brak limitów MB lub ograniczeń liczby plików',
117
+ 'Czysty interfejs, bez reklam i śledzenia',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Jak to działa technicznie',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'Plik JPG jest dekodowany i rysowany na <strong>HTML5 Canvas</strong> w pamięci. Ponieważ format ICO wymaga kwadratowego obrazu, silnik automatycznie wykrywa, czy plik JPG jest prostokątny i przycina go, centrując najważniejszą część. Następnie buduje standardowy nagłówek Microsoft ICO z poprawną sygnaturą (<code>00 00 01 00</code>), katalogiem obrazów i zakodowanymi danymi pikseli. Wynikiem jest autentyczny binarny plik .ico — a nie zmieniony format PNG.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Ponieważ w formacie JPG brakuje kanału alfa, wynikowy plik ICO również nie będzie miał przezroczystości — będzie miał jednolite tło odziedziczone po oryginalnym zdjęciu. Jeśli potrzebujesz favikony z przezroczystym tłem (na przykład, aby dostosować ją do ciemnych lub jasnych pasków zakładek), zalecanym sposobem pracy jest: usunięcie tła w edytorze, zapisanie jako PNG und użycie konwertera PNG na ICO.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Wskazówka: wiele rozdzielczości w jednym pliku ICO',
138
+ html: 'Pliki ICO mogą zawierać <strong>wiele rozdzielczości</strong> w jednym pliku — przeglądarka lub system operacyjny automatycznie wybierają najbardziej odpowiednią dla każdego kontekstu. Aby uzyskać najlepszy możliwy wynik, użyj jako źródła kwadratowego zdjęcia JPG o rozdzielczości co najmniej <strong>256×256 pikseli</strong>: daje to konwerterowi wystarczającą ilość informacji do wygenerowania ostrych rozmiarów 16×16, 32×32 und 48×48 bez pikselozy.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Zastosowania und kompatybilność',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Favikona strony internetowej: kompatybilna ze wszystkimi przeglądarkami, w tym Internet Explorer.',
150
+ 'Dostosowywanie ikon folderów und pulpitu w systemie Windows 10/11.',
151
+ 'Ikona skrótu dla aplikacji desktopowych lub instalatorów.',
152
+ 'Ikona aplikacji dla projektów Electron lub aplikacji PWA.',
153
+ 'Ikony dla systemów zarządzania plikami und eksploratorów korporacyjnych.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Podsumowanie',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'Konwersja JPG na ICO to technicznie niezbędny krok dla każdego projektu internetowego lub desktopowego, który potrzebuje rozpoznawalnej tożsamości wizualnej. To narzędzie generuje autentyczne pliki ICO z poprawną strukturą binarną w kilka sekund, bez przesyłania Twojego logo na żaden zewnętrzny serwer. Wynik działa we wszystkich przeglądarkach, w Eksploratorze plików Windows und w każdym systemie korzystającym ze standardu ICO firmy Microsoft.',
164
+ },
165
+ ];
166
+
167
+ export const content: JpgAIcoLocaleContent = {
168
+ slug,
169
+ title,
170
+ description,
171
+ ui,
172
+ seo,
173
+ faq,
174
+ bibliography,
175
+ howTo,
176
+ schemas: generateSchemas({
177
+ title,
178
+ description,
179
+ inLanguage: 'pl',
180
+ faq,
181
+ howTo,
182
+ }),
183
+ };