@jjlmoya/utils-converters 1.7.0 → 1.9.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/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/slug_uniqueness.test.ts +81 -0
  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,183 @@
1
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import { generateSchemas } from '../../../shared/logic/schemas';
3
+ import type { PngAIcoLocaleContent } from '../index';
4
+
5
+ const slug = 'png-to-ico-converter';
6
+ const title = 'PNG를 ICO로 온라인에서 변환하세요';
7
+ const description =
8
+ '실제 바이너리 헤더를 사용하여 PNG를 ICO로 변환하세요. 투명도가 유지됩니다. 파일 업로드 없음. 무료이며 100% 개인 정보가 보호됩니다.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'PNG 파일을 드래그하세요...',
12
+ convertText: '즉시 ICO로 변환하려면',
13
+ selectFiles: '파일 선택',
14
+ processedFiles: '처리된 파일',
15
+ downloadAll: '모두 다운로드 (.zip)',
16
+ pending: '대기 중',
17
+ bibliographyTitle: '참고 문헌',
18
+ faqTitle: '자주 묻는 질문',
19
+ };
20
+
21
+ const faq: PngAIcoLocaleContent['faq'] = [
22
+ {
23
+ question: '이 변환기는 단순히 PNG 파일의 확장자만 바꾼 것인가요, 아니면 진짜 ICO를 생성하나요?',
24
+ answer:
25
+ '진짜 ICO를 만듭니다. 사용자의 PNG에서 데이터를 추출하고, 표준화된 Microsoft 16진수 헤더(22바이트의 헤더 + 디렉토리)를 생성하며, 로컬에서 이상적인 정사각형 형식으로 크기를 조정하고 네이티브 파일로 검증된 최종 파일을 조립합니다.',
26
+ },
27
+ {
28
+ question: '로고를 아이콘으로 만들 때 투명도가 유지되나요?',
29
+ answer:
30
+ '당연히 그렇습니다. 당사의 엔진은 사용자의 PNG를 32비트로 읽어 고정하면서 모든 투명한 영역을 정밀하게 유지하므로, 브라우저의 주소 표시줄(파비콘)에서 깔끔하게 돋보입니다.',
31
+ },
32
+ {
33
+ question: '회사 로고가 웹 서버에 저장되나요?',
34
+ answer:
35
+ '본 서비스는 외부 네트워크 접촉이 전혀 없음을 보장합니다. 변환기는 사용자의 내부 HTML5 Canvas 내에서 작동하며, 아이콘 제작은 순수하게 비밀이 보장되는 로컬 메모리 내에서 100% 이루어집니다.',
36
+ },
37
+ ];
38
+
39
+ const howTo: PngAIcoLocaleContent['howTo'] = [
40
+ {
41
+ name: '파일을 드래그하여 전송',
42
+ text: '사진 매트릭스(정사각형 512x512 PNG가 이상적임)를 대화형 로컬 프레임에 배치하세요.',
43
+ },
44
+ {
45
+ name: '자동 바이트코드 컴파일',
46
+ text: '정제된 ICO 16진수 헤더의 로컬 매트릭스를 로드하고 제작하는 동안 내부적으로 진행 바가 움직이는 것을 볼 수 있습니다.',
47
+ },
48
+ {
49
+ name: '모아서 ZIP으로 다운로드',
50
+ text: '웹사이트용 대량 컴파일(전체 ZIP 버튼)을 클릭하여 다운로드하거나 Windows 실행 파일용 썸네일을 다운로드하세요.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: PngAIcoLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Microsoft ICO 형식 기술 구조',
57
+ url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
+ },
59
+ {
60
+ name: '파비콘 표준 - W3C',
61
+ url: 'https://www.w3.org/2005/10/howto-favicon',
62
+ },
63
+ ];
64
+
65
+ const seo: PngAIcoLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'PNG to ICO 변환기: 완벽한 투명도를 갖춘 파비콘을 위한 최고의 선택',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: '<strong>투명도가 포함된 PNG</strong>는 전문가 수준의 ICO 아이콘을 만들기 위한 이상적인 소스 재료입니다. 알파 채널이 없는 JPG나 손실 압축 형식과 달리, PNG는 ICO 형식이 필요로 하는 것(선명한 픽셀, 깔끔한 가장자리, 아이콘이 어떤 배경에서든 완벽하게 어우러지게 하는 32비트 알파 채널)을 정확하게 제공합니다. 이는 Safari의 흰색 즐겨찾기 바, Firefox의 어두운 바 또는 Windows 11 데스크톱 등 어디에나 해당됩니다.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'PNG 또는 ICO? 각 형식을 사용해야 하는 경우',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: '<strong>PNG</strong>는 작업용 형식입니다. 로고를 디자인하고, Figma나 Illustrator에서 내보내고, 편집 가능한 버전을 저장하는 용도입니다. 투명도, 픽셀 정밀도 및 무손실 압축 덕분에 디자인 프로세스에서 독보적입니다. 하지만 브라우저, 운영 체제 und Windows 애플리케이션은 PNG를 직접 수용하지 않으며 ICO를 필요로 합니다.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: '<strong>ICO</strong>는 Microsoft 환경과 웹에서 아이콘을 배포하기 위한 형식입니다. 단일 파일에 여러 해상도를 담을 수 있는 특정 바이너리 구조를 포함합니다. 브라우저는 ICO 내부 디렉토리를 읽고 브라우저 탭용 <strong>16×16</strong>, 바로가기용 <strong>32×32</strong>, 파일 탐색기용 <strong>48×48</strong> und Retina 및 4K 화면용 <strong>256×256</strong>을 자동으로 선택합니다. 투명 PNG에서 시작하면 흰색 테두리 없이 모든 해상도에서 완벽한 가장자리를 보장합니다.',
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
+ '업로드 und 다운로드 시 네트워크 지연 발생',
103
+ '기업 로고가 타사 서버에 저장됨',
104
+ '파일 크기 제한 und 일일 변환 횟수 제한',
105
+ '강제적인 광고 und 타사 추적 프로그램 포함',
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: 'PNG 파일이 32비트 알파 채널이 완벽하게 지원되는 메모리상 <strong>HTML5 Canvas</strong>에 디코딩됩니다. 엔진은 올바른 매직 넘버(<code>00 00 01 00</code>)를 포함한 표준 Microsoft ICO 헤더, 크기 und 데이터 오프셋이 포함된 이미지 디렉토리, 그리고 투명도 정보가 유지된 픽셀 데이터를 구축합니다. 결과물은 Windows, macOS und 모든 브라우저에서 기본적으로 인식되는 실제 바이너리 .ico 파일입니다.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'PNG의 투명도는 생성된 ICO에서 완벽하게 유지됩니다. 투명 픽셀은 투명하게 유지되고, 반투명 픽셀은 정확한 알파 값을 유지하며, 불투명 픽셀은 원래 색상을 유지합니다. 이는 다양한 배경 위의 로고에 매우 중요합니다. 파비콘은 라이트 모드, 다크 모드 und 브라우저 인터페이스 색상의 어떤 조합에서도 올바르게 표시됩니다.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: '팁: 512×512 PNG를 소스로 사용하세요',
138
+ html: '최상의 결과를 얻으려면 <strong>정사각형 512×512 PNG</strong>를 소스 이미지로 사용하세요. 이 정도 해상도는 변환기가 16×16 파비콘부터 고밀도 화면용 256×256까지 모든 표준 ICO 크기를 픽셀 깨짐이나 가장자리 디테일 손실 없이 선명하게 생성할 수 있는 충분한 정보를 제공합니다. 소스 PNG가 클수록 작은 크기의 아이콘도 더 좋게 보입니다.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: '활용 사례 und 호환성',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ '웹사이트용 투명 파비콘: Chrome, Firefox, Safari, Edge, e Internet Explorer에서 작동합니다.',
150
+ 'PWA 애플리케이션 아이콘: manifest.json은 데스크톱 설치를 위해 ICO를 참조합니다.',
151
+ '흰색 배경 없이 기업 로고를 사용한 Windows 10/11 폴더 사용자 정의.',
152
+ '데스크톱 애플리케이션, 설치 프로그램 und 실행 파일을 위한 바로가기 아이콘.',
153
+ 'Chrome und Firefox 확장 프로그램을 위한 브라우저 확장 프로그램 아이콘.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: '결론',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: '투명 PNG는 의심할 여지 없이 전문가 수준의 품질을 갖춘 ICO 아이콘을 만들기 위한 최고의 시작점입니다. 본 도구를 사용하면 변환이 즉시 이루어지고, 알파 채널이 완벽하게 보존되며, 결과물은 올바른 바이너리 구조를 갖춘 실제 ICO 파일이 됩니다. 로고를 서버에 업로드할 필요가 없고, 워터마크나 제한이 없으며, 모든 크기에서 완벽한 투명도를 누릴 수 있습니다.',
164
+ },
165
+ ];
166
+
167
+ export const content: PngAIcoLocaleContent = {
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 { PngAIcoLocaleContent } from '../index';
4
+
5
+ const slug = 'png-naar-ico-converter';
6
+ const title = 'Converteer PNG naar ICO Online';
7
+ const description =
8
+ 'Converteer PNG naar ICO met echte binaire headers. Transparantie behouden. Geen bestandsuploads. Gratis en 100% privé.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Sleep PNG-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: PngAIcoLocaleContent['faq'] = [
22
+ {
23
+ question: 'Is jullie converter een maker van simpele vermomde PNG-bestanden of een echte ICO?',
24
+ answer:
25
+ 'Wij maken een echte ICO. We extraheren gegevens uit je PNG, maken de gestandaardiseerde Microsoft hexadecimale header (Header + Directory van 22 bytes), schalen lokaal naar het ideale vierkante formaat en stellen een definitief bestand samen dat als native is gevalideerd.',
26
+ },
27
+ {
28
+ question: 'Blijft transparantie behouden wanneer mijn logo in het pictogram wordt geplaatst?',
29
+ answer:
30
+ 'Absoluut ja. Onze engine leest je PNG in 32-bits, verankert deze en behoudt nauwkeurig alle transparante gebieden, zodat ze opvallen in de universele adresbalk van de browser (Favicon).',
31
+ },
32
+ {
33
+ question: 'Wordt mijn bedrijfslogo op jullie servers opgeslagen?',
34
+ answer:
35
+ 'Deze service garandeert nul contact met externe netwerken. De converter werkt verankerd in je interne HTML5 Canvas; de vervaardiging van je pictogram vindt honderd procent plaats op je eigen machine in puur geheim lokaal geheugen.',
36
+ },
37
+ ];
38
+
39
+ const howTo: PngAIcoLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Sleep bestanden om over te zetten',
42
+ text: 'Plaats je fotomatrices (vierkante 512x512 PNG is ideaal) op het interactieve lokale frame.',
43
+ },
44
+ {
45
+ name: 'Automatische bytecode-compilatie',
46
+ text: 'Je ziet de balk intern lopen terwijl de lokale matrix van gezuiverde ICO hexadecimale headers wordt geladen en gefabriceerd.',
47
+ },
48
+ {
49
+ name: 'Verzamel of ontsnap met je ZIP',
50
+ text: 'Download them door te klikken op een mega-compilatie voor je websites (globale ZIP-knoppen) of download de miniatuur voor het uitvoerbare Windows-bestand.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: PngAIcoLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Microsoft ICO Format Technische Structuur',
57
+ url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
+ },
59
+ {
60
+ name: 'Favicon Standaard - W3C',
61
+ url: 'https://www.w3.org/2005/10/howto-favicon',
62
+ },
63
+ ];
64
+
65
+ const seo: PngAIcoLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'PNG naar ICO Converter: De beste bron voor Favicons met perfecte transparantie',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: '<strong>PNG met transparantie</strong> is het ideale basismateriaal voor het maken van professionele ICO-pictogrammen. In tegenstelling tot JPG (dat geen alfakanaal heeft) of formaten met verlies, PNG geeft je precies wat het ICO-formaat nodig heeft: scherpe pixels, strakke randen en een 32-bits alfakanaal waardoor het pictogram perfect integreert op elke achtergrond — of het nu de witte favorietenbalk van Safari is, de donkere balk van Firefox of het bureaublad van Windows 11.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'PNG of ICO? Wanneer je elk formaat moet gebruiken',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: '<strong>PNG</strong> is het werkformaat: het is de plek waar je je logo ontwerpt, exporteert vanuit Figma of Illustrator en je bewerkbare versies opslaat. De transparantie, pixelprecisie en verliesvrije compressie maken het onverslaanbaar voor het ontwerpproces. Maar browsers, besturingssystemen und Windows-applicaties die op zoek zijn naar een favicon of app-pictogram accepteren PNG niet rechtstreeks — ze hebben ICO nodig.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: '<strong>ICO</strong> is het distributieformaat voor pictogrammen in Microsoft-omgevingen und op het web. Het bevat een specifieke binaire structuur die het mogelijk maakt om meerdere resoluties in één bestand te verpakken: de browser leest de interne directory van de ICO und selecteert automatisch <strong>16×16</strong> voor het browsertabblad, <strong>32×32</strong> voor snelkoppelingen, <strong>48×48</strong> voor de Verkenner und <strong>256×256</strong> voor Retina- und 4K-schermen. Vertrekken vanuit een transparante PNG garandeert dat al die resoluties perfecte randen hebben zonder witte franjes.',
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 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 PNG wordt gedecodeerd in een in-memory <strong>HTML5 Canvas</strong> met volledige 32-bits alfakanaalondersteuning. De engine bouwt de standaard Microsoft ICO-header met het juiste magische getal (<code>00 00 01 00</code>), de directory met afmetingen und gegevens-offset, und de pixelgegevens terwijl de transparantie-informatie behouden blijft. Het resultaat is een authentiek binair .ico-bestand dat Windows, macOS und alle browsers standaard herkennen.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'De transparantie van de PNG wordt volledig behouden in de resulterende ICO — transparante pixels blijven transparant, semi-transparante pixels behouden hun exacte alfawaarde und ondoorzichtige pixels behouden hun oorspronkelijke kleur. Dit is cruciaal voor logo\'s op variabele achtergronden: je favicon ziet er correct uit in de lichte modus, donkere modus und elke combinatie van interfacekleuren van de browser.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Tip: gebruik een 512×512 PNG als bron',
138
+ html: 'Gebruik voor het best mogelijke resultaat een <strong>vierkante PNG van 512×512</strong> als bronafbeelding. Deze resolutie geeft de converter genoeg informatie om alle standaard ICO-formaten scherp te genereren — van de 16×16 favicon tot de 256×256 voor schermen met hoge densiteit — zonder pixelvorming of verlies van detail in de randen. Hoe groter de bron-PNG, hoe beter de kleine pictogramformaten eruit zullen zien.',
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
+ 'Transparante favicon voor websites: werkt in Chrome, Firefox, Safari, Edge en Internet Explorer.',
150
+ 'Pictogram voor PWA-applicatie: manifest.json verwijst naar de ICO voor desktopinstallatie.',
151
+ 'Aanpassing van Windows 10/11-mappen met een bedrijfslogo zonder witte achtergrond.',
152
+ 'Snelkoppelingspictogram voor desktopapplicaties, installatieprogramma\'s und uitvoerbare bestanden.',
153
+ 'Pictogram voor browserextensies voor Chrome- und Firefox-extensies.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Conclusie',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'PNG met transparantie is ongetwijfeld het beste startpunt voor het maken van ICO-pictogrammen van professionele kwaliteit. Met deze tool is de conversie onmiddellijk, worden alfakanalen volledig behouden und is het resulterende bestand een echte ICO met de juiste binaire structuur. Je uploadt je logo naar geen enkele server, geen watermerken, geen limieten — und perfecte transparantie in alle formaten.',
164
+ },
165
+ ];
166
+
167
+ export const content: PngAIcoLocaleContent = {
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 { PngAIcoLocaleContent } from '../index';
4
+
5
+ const slug = 'konwerter-png-na-ico';
6
+ const title = 'Konwertuj PNG na ICO Online';
7
+ const description =
8
+ 'Konwertuj PNG na ICO z prawdziwymi nagłówkami binarnymi. Przezroczystość zachowana. Bez przesyłania plików. Za darmo i w 100% prywatnie.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Przeciągnij pliki PNG...',
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: PngAIcoLocaleContent['faq'] = [
22
+ {
23
+ question: 'Czy Twój konwerter tworzy proste, zamaskowane pliki PNG, czy autentyczne ICO?',
24
+ answer:
25
+ 'Tworzymy prawdziwe ICO. Wyodrębniamy dane z pliku PNG, tworzymy ustandaryzowany nagłówek szesnastkowy Microsoft (Header + Directory o rozmiarze 22 bajtów), lokalnie zmieniamy rozmiar na idealny format kwadratowy i składamy końcowy plik zweryfikowany jako natywny.',
26
+ },
27
+ {
28
+ question: 'Czy przezroczystość zostaje zachowana, gdy moje logo zostanie umieszczone w ikonie?',
29
+ answer:
30
+ 'Zdecydowanie tak. Nasz silnik odczytuje plik PNG w formacie 32-bitowym, kotwicząc go i precyzyjnie zachowując wszelkie przezroczyste obszary, dzięki czemu wyróżniają się one w uniwersalnym pasku adresu przeglądarki (Favicon).',
31
+ },
32
+ {
33
+ question: 'Czy logo mojej firmy jest przechowywane na Twoich serwerach?',
34
+ answer:
35
+ 'Ta usługa gwarantuje brak kontaktu z sieciami zewnętrznymi. Konwerter pracuje zakotwiczony w Twoim wewnętrznym HTML5 Canvas; tworzenie ikony odbywa się w stu procentach wewnątrz Twojej maszyny, w całkowicie bezpiecznej, lokalnej pamięci.',
36
+ },
37
+ ];
38
+
39
+ const howTo: PngAIcoLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Przeciągnij pliki do przetworzenia',
42
+ text: 'Umieść swoje obrazy źródłowe (idealny jest kwadratowy plik PNG 512x512) w interaktywnej ramce lokalnej.',
43
+ },
44
+ {
45
+ name: 'Automatyczna kompilacja bajtkodu',
46
+ text: 'Zobaczysz pasek postępu pokazujący proces ładowania i tworzenia lokalnej macierzy oczyszczonych szesnastkowych nagłówków ICO.',
47
+ },
48
+ {
49
+ name: 'Pobierz ZIP',
50
+ text: 'Pobierz wyniki jednym kliknięciem (przyciski zbiorczego ZIP) lub pobierz miniaturę dla pliku wykonywalnego Windows.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: PngAIcoLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Struktura techniczna formatu Microsoft ICO',
57
+ url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
+ },
59
+ {
60
+ name: 'Standard Favicon - W3C',
61
+ url: 'https://www.w3.org/2005/10/howto-favicon',
62
+ },
63
+ ];
64
+
65
+ const seo: PngAIcoLocaleContent['seo'] = [
66
+ {
67
+ type: 'title',
68
+ text: 'Konwerter PNG na ICO: Najlepsze źródło Favikon z idealną przezroczystością',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: '<strong>PNG z przezroczystością</strong> to idealny materiał wyjściowy do tworzenia profesjonalnych ikon ICO. W przeciwieństwie do JPG (który nie posiada kanału alfa) lub formatów stratnych, PNG daje dokładnie to, czego wymaga format ICO: ostre piksele, wyraźne krawędzie i 32-bitowy kanał alfa, który pozwala ikonie idealnie wtopić się w dowolne tło — czy to biały pasek zakładek Safari, ciemny pasek Firefoxa czy pulpit Windows 11.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'PNG czy ICO? Kiedy używać każdego formatu',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: '<strong>PNG</strong> to format roboczy: to w nim projektujesz logo, eksportujesz z Figmy lub Illustratora i zapisujesz wersje edytowalne. Jego przezroczystość, precyzja pikseli i bezstratna kompresja sprawiają, że jest bezkonkurencyjny w procesie projektowania. Jednak przeglądarki, systemy operacyjne und aplikacje Windows szukające favikony lub ikony aplikacji nie akceptują bezpośrednio PNG — wymagają formatu ICO.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: '<strong>ICO</strong> to format dystrybucji ikon w środowiskach Microsoft oraz w sieci. Zawiera specyficzną strukturę binarną, która pozwala na spakowanie wielu rozdzielczości w jednym pliku: przeglądarka odczytuje wewnętrzny katalog ICO und automatycznie wybiera <strong>16x16</strong> dla karty przeglądarki, <strong>32x32</strong> dla skrótów, <strong>48x48</strong> dla eksploratora plików oraz <strong>256x256</strong> dla ekranów Retina und 4K. Rozpoczęcie od przezroczystego PNG gwarantuje, że wszystkie te rozdzielczości będą miały idealne krawędzie bez białej obwódki.',
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 und pobierania',
103
+ 'Twoje logo korporacyjne przechowywane na serwerach osób trzecich',
104
+ 'Limity rozmiaru plików und dzienne limity konwersji',
105
+ 'Intruzywne reklamy und 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 PNG jest dekodowany do <strong>HTML5 Canvas</strong> w pamięci z pełną obsługą 32-bitowego kanału alfa. Silnik buduje standardowy nagłówek Microsoft ICO z poprawną sygnaturą (<code>00 00 01 00</code>), katalogiem obrazów z wymiarami und przesunięciem danych oraz danymi pikseli przy jednoczesnym zachowaniu informacji o przezroczystości. Rezultatem jest autentyczny binarny plik .ico, który systemy Windows, macOS und wszystkie przeglądarki rozpoznają natywnie.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Przezroczystość pliku PNG jest w pełni zachowana w wynikowym pliku ICO — przezroczyste piksele pozostają przezroczyste, półprzezroczyste zachowują swoją dokładną wartość alfa, und nieprzezroczyste zachowują swój pierwotny kolor. Jest to kluczowe dla logotypów na zmiennym tle: Twoja favikona będzie wyglądać poprawnie w trybie jasnym, ciemnym oraz w dowolnym połączeniu kolorów interfejsu przeglądarki.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Wskazówka: użyj PNG 512x512 jako źródła',
138
+ html: 'Aby uzyskać najlepszy możliwy wynik, jako obrazu źródłowego użyj <strong>kwadratowego pliku PNG o wymiarach 512x512</strong>. Taka rozdzielczość daje konwerterowi wystarczającą ilość informacji do wygenerowania wszystkich standardowych rozmiarów ICO z doskonałą ostrością — od favikony 16x16 po ikonę 256x256 dla ekranów o wysokiej gęstości — bez pikselozy i utraty detali na krawędziach. Im większy źródłowy PNG, tym lepiej będą wyglądać małe rozmiary ikon.',
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
+ 'Przezroczysta favikona dla stron internetowych: działa w Chrome, Firefox, Safari, Edge e Internet Explorer.',
150
+ 'Ikona aplikacji PWA: manifest.json odwołuje się do pliku ICO w celu instalacji na pulpicie.',
151
+ 'Dostosowywanie folderów Windows 10/11 con logo korporacyjnym bez białego tła.',
152
+ 'Ikona skrótu dla aplikacji desktopowych, instalatorów und plików wykonywalnych.',
153
+ 'Ikona rozszerzenia przeglądarki dla rozszerzeń Chrome und Firefox.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Podsumowanie',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'PNG z przezroczystością to bez wątpienia najlepszy punkt wyjścia do tworzenia profesjonalnej jakości ikon ICO. Dzięki temu narzędziu konwersja jest natychmiastowa, kanały alfa są w pełni zachowane und wynikiem jest autentyczne ICO z poprawną strukturą binarną. Bez przesyłania logo na żaden serwer, bez znaków wodnych i limitów — oraz z idealną przezroczystością we wszystkich rozmiarach.',
164
+ },
165
+ ];
166
+
167
+ export const content: PngAIcoLocaleContent = {
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
+ };