@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 = 'conversor-de-png-para-ico';
6
+ const title = 'Converter PNG para ICO Online';
7
+ const description =
8
+ 'Converta PNG para ICO com cabeçalhos binários reais. Transparências preservadas. Sem upload de arquivos. Grátis e 100% privado.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Arraste arquivos PNG...',
12
+ convertText: 'Para convertê-los em ICO instantaneamente',
13
+ selectFiles: 'Selecionar arquivos',
14
+ processedFiles: 'Arquivos processados',
15
+ downloadAll: 'Baixar tudo (.zip)',
16
+ pending: 'Pendente',
17
+ bibliographyTitle: 'Referências Bibliográfica',
18
+ faqTitle: 'Perguntas Frequentes',
19
+ };
20
+
21
+ const faq: PngAIcoLocaleContent['faq'] = [
22
+ {
23
+ question: 'O seu conversor cria simples arquivos PNG disfarçados ou um ICO genuíno?',
24
+ answer:
25
+ 'Criamos um ICO real. Extraímos dados do seu PNG, criamos o cabeçalho hexadecimal padronizado da Microsoft (Cabeçalho + Diretório de 22 bytes), redimensionamos localmente para o formato quadrado ideal e montamos um arquivo final validado como nativo.',
26
+ },
27
+ {
28
+ question: 'As transparências são preservadas quando o meu logótipo é colocado no ícone?',
29
+ answer:
30
+ 'Absolutamente sim. O nosso motor lê o seu PNG a 32 bits, ancorando-o e preservando com precisão quaisquer áreas transparentes para que se destaquem na barra de endereços web universal (Favicon).',
31
+ },
32
+ {
33
+ question: 'O logótipo da minha empresa é armazenado nos seus servidores?',
34
+ answer:
35
+ 'Este serviço garante zero contacto com redes externas. O conversor trabalha ancorado no seu HTML5 Canvas interno; o fabrico do seu ícone ocorre cem por cento dentro da sua máquina em memória local puramente secreta.',
36
+ },
37
+ ];
38
+
39
+ const howTo: PngAIcoLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Arraste arquivos para transferir',
42
+ text: 'Coloque as suas matrizes fotográficas (un PNG quadrado 512x512 é o ideal) na moldura local interativa.',
43
+ },
44
+ {
45
+ name: 'Compilação automática de bytecode',
46
+ text: 'Verá a barra correr internamente enquanto carrega e fabrica a matriz local de cabeçalhos hexadecimais ICO purificados.',
47
+ },
48
+ {
49
+ name: 'Acumule ou saia com o seu ZIP',
50
+ text: 'Baixe-os clicando numa mega compilação para os seus sites (botões ZIP globais) ou baixe a miniatura para o executável Windows.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: PngAIcoLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Estrutura Técnica do Formato ICO Microsoft',
57
+ url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
+ },
59
+ {
60
+ name: 'Favicon Standard - 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: 'Conversor de PNG para ICO: A Melhor Fonte para Favicons con Transparência Perfeita',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: 'O <strong>PNG com transparência</strong> é o material de partida ideal para a criação de ícones ICO profissionais. Ao contrário do JPG (que não possui canal alfa) ou formatos com perdas, o PNG oferece exatamente o que o formato ICO necessita: píxeis nítidos, bordas limpas e um canal alfa de 32 bits que permite ao ícone integrar-se perfeitamente em qualquer fundo — seja na barra de favoritos branca do Safari, na barra escura do Firefox ou no ambiente de trabalho do Windows 11.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'PNG ou ICO? Quando utilizar cada formato',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: 'O <strong>PNG</strong> é o formato de trabalho: é onde desenha o seu logótipo, exporta do Figma ou Illustrator e guarda as suas versões editáveis. A sua transparência, precisão de píxeis e compressão sem perdas tornam-no imbatível para o processo de design. Mas os navegadores, sistemas operativos e aplicações Windows que procuram um favicon ou um ícone de aplicação não aceitam PNG diretamente — precisam de ICO.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: 'O <strong>ICO</strong> é o formato de distribuição para ícones em ambientes Microsoft und na web. Contém uma estrutura binaria específica que permite agrupar múltiplas resoluções num único arquivo: o navegador lê o diretório interno do ICO und seleciona automaticamente <strong>16×16</strong> para o separador do navegador, <strong>32×32</strong> para atalhos, <strong>48×48</strong> para o explorador de arquivos und <strong>256×256</strong> para ecrãs Retina und 4K. Partir de um PNG transparente garante que todas essas resoluções terão bordas perfeitas sem qualquer auréola branca.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Comparação: Conversão Local vs Cloud',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Conversores Cloud',
98
+ description: 'Ferramentas que carregam os seus arquivos para um servidor remoto.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Latência de rede no upload und download',
103
+ 'O seu logótipo corporativo armazenado em servidores de terceiros',
104
+ 'Limites de tamanho de arquivo und quotas de conversão diárias',
105
+ 'Anúncios intrusivos und rastreadores de terceiros',
106
+ ],
107
+ },
108
+ {
109
+ title: 'A Nossa Arquitetura Local',
110
+ description: 'Processamento direto no seu hardware utilizando a tecnologia Vanilla JS.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Velocidade instantânea — latência de rede zero',
115
+ 'Privacidade total — 0 bytes enviados externamente',
116
+ 'Sem limites de MB ou restrições no número de arquivos',
117
+ 'Interface limpa, sem anúncios ou rastreamento',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Como funciona tecnicamente',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'O PNG é descodificado num <strong>HTML5 Canvas</strong> em memória com total suporte ao canal alfa de 32 bits. O motor constrói o cabeçalho ICO padrão da Microsoft com o número mágico correto (<code>00 00 01 00</code>), o diretório de imagens com dimensões und offset de dados, und os dados de píxeis mantendo a informação de transparência. O resultado é um arquivo binário .ico genuíno que o Windows, macOS und todos os navegadores reconhecem nativamente.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'A transparência do PNG é totalmente preservada no ICO resultante — píxeis transparentes continuam transparentes, píxeis semitransparentes mantêm o seu valor alfa exato und píxeis opacos conservam a sua cor original. Isto é crítico para logótipos em fundos variáveis: o seu favicon terá o aspeto correto em modo claro, modo escuro und qualquer combinação de cores de interface do navegador.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Dica: use un PNG 512×512 como fonte',
138
+ html: 'Para o melhor resultado possível, use um <strong>PNG quadrado de 512×512</strong> como imagem de origem. Esta resolução oferece ao conversor informação suficiente para gerar todos os tamanhos ICO padrão com nitidez — desde o favicon 16×16 até ao ícone 256×256 para ecrãs de alta densidade — sem pixelização ou perda de detalhe nas bordas. Quanto maior for o PNG de origem, melhor será o aspeto dos ícones de tamanhos pequenos.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Casos de uso und compatibilidade',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Favicon transparente para websites: funciona no Chrome, Firefox, Safari, Edge e Internet Explorer.',
150
+ 'Ícone de aplicação PWA: el manifest.json referencia o ICO para instalação no desktop.',
151
+ 'Personalização de pastas Windows 10/11 com logótipo corporativo e sem fundo branco.',
152
+ 'Ícone de atalho para aplicações desktop, instaladores und executáveis.',
153
+ 'Ícone de extensão de navegador para extensões do Chrome und Firefox.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Conclusão',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'O PNG com transparência é sem dúvida o melhor ponto de partida para a criação de ícones ICO de qualidade profissional. Com esta ferramenta, a conversão é instantânea, os canais alfa são totalmente preservados und o arquivo resultante é um ICO genuíno com a estrutura binária correta. Sem carregar o seu logótipo para qualquer servidor, sem marcas de agua, sem limites — und transparência perfeita em todos os tamanhos.',
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: 'pt',
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 = 'konverter-png-v-ico';
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 (Header + Directory размером 22 байта), локально меняем размер под идеальный квадрат и собираем финальный файл, который распознается как нативный.',
26
+ },
27
+ {
28
+ question: 'Сохраняется ли прозрачность при помещении моего логотипа в иконку?',
29
+ answer:
30
+ 'Безусловно, да. Наш движок считывает ваш PNG в 32-битном формате, закрепляя его и точно сохраняя все прозрачные области, чтобы они эффектно смотрелись в универсальной адресной строке браузера (Favicon).',
31
+ },
32
+ {
33
+ question: 'Хранится ли логотип моей компании на ваших серверах?',
34
+ answer:
35
+ 'Этот сервис гарантирует нулевой контакт с внешними сетями. Конвертер работает внутри вашего HTML5 Canvas; создание иконки происходит на сто процентов внутри вашей машины в локальной памяти.',
36
+ },
37
+ ];
38
+
39
+ const howTo: PngAIcoLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Перетащите файлы для обработки',
42
+ text: 'Разместите ваши исходные изображения (идеально — квадратные PNG 512x512) в интерактивной локальной области.',
43
+ },
44
+ {
45
+ name: 'Автоматическая компиляция байт-кода',
46
+ text: 'Вы увидите, как индикатор прогресса отображает процесс формирования локальной матрицы очищенных шестнадцатеричных заголовков ICO.',
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: 'Стандарт 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: 'Конвертер PNG в 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 и сохраняете редактируемые версии. Его прозрачность, точность пикселей и сжатие без потерь делают его незаменимым в процессе проектирования. Но браузеры, операционные системы и приложения Windows, ищущие фавикон или иконку приложения, не принимают PNG напрямую — им нужен ICO.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: '<strong>ICO</strong> — формат распространения иконок в среде Microsoft und веб-пространстве. Он содержит специфическую бинарную структуру, позволяющую упаковывать несколько разрешений в один файл: браузер считывает внутренний каталог ICO und автоматически выбирает <strong>16×16</strong> для вкладки браузера, <strong>32×32</strong> для ярлыков, <strong>48×48</strong> для проводника und <strong>256×256</strong> для экранов Retina und 4K. Использование прозрачного 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 декодируется в <strong>HTML5 Canvas</strong> в памяти с полной поддержкой 32-битного альфа-канала. Движок создает стандартный заголовок Microsoft ICO с правильным магическим числом (<code>00 00 01 00</code>), каталогом изображений с указанием размеров und смещения данных, а также данными пикселей с сохранением информации о прозрачности. Результат — подлинный бинарный файл .ico, который нативно распознается Windows, macOS und всеми браузерами.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Прозрачность PNG полностью сохраняется в итоговом ICO — прозрачные пиксели остаются прозрачными, полупрозрачные пиксели сохраняют свое значение альфа-канала, а непрозрачные — свой исходный цвет. Это критически важно для логотипов на сменяющемся фоне: фавикон будет выглядеть корректно в светлой и темной темах, а также при любом сочетании цветов интерфейса браузера.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Совет: используйте PNG 512x512 в качестве источника',
138
+ html: 'Для достижения наилучшего результата используйте в качестве исходного изображения <strong>квадратный PNG размером 512x512</strong>. Такое разрешение дает конвертеру достаточно данных для создания четких иконок всех стандартных размеров ICO — от фавикона 16x16 до иконки 256x256 для экранов высокой плотности — без пикселизации и потери деталей по краям. Чем больше исходный 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: 'ru',
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 = 'konvertera-png-till-ico';
6
+ const title = 'Konvertera PNG till ICO Online';
7
+ const description =
8
+ 'Konvertera PNG till ICO med riktiga binära headers. Transparens bevaras. Inga filuppladdningar. Gratis och 100 % privat.';
9
+
10
+ const ui: ImageConverterUI = {
11
+ dragText: 'Dra PNG-filer hit...',
12
+ convertText: 'För att konvertera dem till ICO direkt',
13
+ selectFiles: 'Välj filer',
14
+ processedFiles: 'Bearbetade filer',
15
+ downloadAll: 'Ladda ner alla (.zip)',
16
+ pending: 'Väntande',
17
+ bibliographyTitle: 'Bibliografiska Referenser',
18
+ faqTitle: 'Vanliga Frågor',
19
+ };
20
+
21
+ const faq: PngAIcoLocaleContent['faq'] = [
22
+ {
23
+ question: 'Är din konverterare en skapare av enkla förtäckta PNG-filer eller en äkta ICO?',
24
+ answer:
25
+ 'Vi skapar en riktig ICO. Vi extraherar data från din PNG, skapar den standardiserade Microsoft hexadekimala headern (Header + Directory på 22 byte), ändrar storlek till det ideala kvadratiska formatet lokalt och sätter ihop en slutlig fil som valideras som nativ.',
26
+ },
27
+ {
28
+ question: 'Bevaras transparens när min logotyp placeras i ikonen?',
29
+ answer:
30
+ 'Absolut ja. Vår motor läser din PNG i 32 bitar, förankrar den och bevarar noggrant alla transparenta genomskinliga hål så att de sticker ut i den universella adressfältet (Favicon).',
31
+ },
32
+ {
33
+ question: 'Lagras min företagslogotyp på dina servrar?',
34
+ answer:
35
+ 'Denna tjänst garanterar noll kontakt med externa nätverk. Konverteraren fungerar förankrad i din interna HTML5 Canvas; tillverkningen av din ikon sker till hundra procent inuti din machine i rent hemligt lokalt minne.',
36
+ },
37
+ ];
38
+
39
+ const howTo: PngAIcoLocaleContent['howTo'] = [
40
+ {
41
+ name: 'Dra filer för att överföra',
42
+ text: 'Placera dina bildmatriser (kvadratisk 512x512 PNG är idealisk) på den interaktiva lokala ramen.',
43
+ },
44
+ {
45
+ name: 'Automatische Bytecodskompilering',
46
+ text: 'Du kommer att se fältet köras internt när den lokala matrisen av renade ICO-hexadecimala headers laddas och tillverkas.',
47
+ },
48
+ {
49
+ name: 'Samla eller kom iväg med din ZIP',
50
+ text: 'Ladda ner dem genom att klicka på en megasamling för dina webbplatser (globala ZIP-knappar) eller ladda ner miniatyren för den körbara Windows-filen.',
51
+ },
52
+ ];
53
+
54
+ const bibliography: PngAIcoLocaleContent['bibliography'] = [
55
+ {
56
+ name: 'Microsoft ICO Format Teknisk Struktur',
57
+ url: 'https://en.wikipedia.org/wiki/ICO_(file_format)',
58
+ },
59
+ {
60
+ name: 'Favicon Standard - 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 till ICO-konverterare: Den bästa källan för Favicons med perfekt transparens',
69
+ level: 2,
70
+ },
71
+ {
72
+ type: 'paragraph',
73
+ html: '<strong>PNG med transparens</strong> är det ideala utgångsmaterialet för att skapa professionella ICO-ikoner. Till skillnad från JPG (som inte har någon alfakanal) eller format med dataförlust, ger PNG dig exakt vad ICO-formatet behöver: skarpa pixlar, rena kanter och en 32-bitars alfakanal som gör att ikonen kan integreras perfekt över vilken bakgrund som helst — oavsett om det är Safaris vita bokmärkesfält, Firefox mörka fält eller Windows 11-skrivbordet.',
74
+ },
75
+ {
76
+ type: 'title',
77
+ text: 'PNG eller ICO? När du ska använda respektive format',
78
+ level: 3,
79
+ },
80
+ {
81
+ type: 'paragraph',
82
+ html: '<strong>PNG</strong> är arbetsformatet: det är där du designar din logotyp, exporterar från Figma eller Illustrator och sparar dina redigerbara versioner. Dess transparens, pixelprecision och förlustfria komprimering gör det oslagbart för designprocessen. Men webbläsare, operativsystem und Windows-applikationer som letar efter en favicon eller appikon accepterar inte PNG direkt — de behöver ICO.',
83
+ },
84
+ {
85
+ type: 'paragraph',
86
+ html: '<strong>ICO</strong> är distributionsformatet för ikoner i Microsoft-miljöer und på webben. Det innehåller en specifik binär struktur som gör att flera upplösningar kan packas i en enda fil: webbläsaren läser ICO-filens interna katalog und väljer automatiskt <strong>16×16</strong> för webbläsarfliken, <strong>32×32</strong> för genvägar, <strong>48×48</strong> för filutforskaren und <strong>256×256</strong> för Retina- und 4K-skärmar. Att utgå från en transparent PNG garanterar at alla dessa upplösningar får perfekta kanter utan vita ytterkanter.',
87
+ },
88
+ {
89
+ type: 'title',
90
+ text: 'Jämförelse: Lokal vs Molnkonvertering',
91
+ level: 3,
92
+ },
93
+ {
94
+ type: 'comparative',
95
+ items: [
96
+ {
97
+ title: 'Molnkonverterare',
98
+ description: 'Verktyg som laddar upp dina filer till en fjärrserver.',
99
+ icon: 'mdi:cloud-upload',
100
+ pointIcon: 'mdi:close-circle-outline',
101
+ points: [
102
+ 'Nätverkslatens vid uppladdning und nedladdning',
103
+ 'Din företagslogotyp lagras på tredjepartsservrar',
104
+ 'Begränsningar i filstorlek und dagliga konverteringstak',
105
+ 'Påträngande annonser und spårare från tredje part',
106
+ ],
107
+ },
108
+ {
109
+ title: 'Vår Lokala Arkitektur',
110
+ description: 'Direkt bearbetning på din hårdvara med Vanilla JS-teknik.',
111
+ icon: 'mdi:laptop-mac',
112
+ highlight: true,
113
+ points: [
114
+ 'Omedelbar hastighet — noll nätverkslatens',
115
+ 'Komplett integritet — 0 byte skickas externt',
116
+ 'Inga MB-gränser eller begränsningar på antal filer',
117
+ 'Rent gränssnitt, inga annonser eller spårning',
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: 'Hur det fungerar tekniskt',
125
+ level: 3,
126
+ },
127
+ {
128
+ type: 'paragraph',
129
+ html: 'PNG-filen avkodas till ett <strong>HTML5 Canvas</strong> i minnet med fullt stöd för 32-bitars alfakanal. Motorn bygger standarden för Microsoft ICO-header med korrekt magic number (<code>00 00 01 00</code>), bildkatalogen med dimensioner und dataoffset, und pixeldatan samtidigt som transparensinformationen bevaras. Resultatet är en äkta binär .ico-fil som Windows, macOS und alla webbläsare känner igen nativt.',
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'Transparensen i PNG-filen bevaras helt i den resulterande ICO-filen — transparenta pixlar förblir transparenta, halvtransparenta pixlar behåller sitt exakta alfavärde und opaka pixlar behåller sin ursprungliga färg. Detta är avgörande för logotyper på varierande bakgrunder: din favicon kommer att se korrekt ut i ljust läge, mörkt läge und alla kombinationer av webbläsargränssnittets färger.',
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: 'Tips: använd en 512×512 PNG som källa',
138
+ html: 'För bästa möjliga resultat, använd en <strong>kvadratisk 512×512 PNG</strong> som källbild. Denna upplösning ger konverteraren tillräckligt med information för att generera alla standard ICO-storlekar med skärpa — från 16×16 favicon upp till 256×256 för högupplösta skärmar — utan pixelering eller förlust av kantdetaljer. Ju större käll-PNG, desto bättre kommer de små ikonstorlekarna att se ut.',
139
+ },
140
+ {
141
+ type: 'title',
142
+ text: 'Användningsområden und kompatibilitet',
143
+ level: 3,
144
+ },
145
+ {
146
+ type: 'list',
147
+ icon: 'mdi:check-circle',
148
+ items: [
149
+ 'Transparent favicon för webbplatser: fungerar i Chrome, Firefox, Safari, Edge e Internet Explorer.',
150
+ 'Ikon för PWA-applikation: manifest.json refererar till ICO-filen för skrivbordsinstallation.',
151
+ 'Anpassning av Windows 10/11-mappar med en företagslogotyp utan vit bakgrund.',
152
+ 'Genvägsikon för skrivbordsapplikationer, installerare und körbara filer.',
153
+ 'Ikon för webbläsartillägg för Chrome und Firefox.',
154
+ ],
155
+ },
156
+ {
157
+ type: 'title',
158
+ text: 'Slutsats',
159
+ level: 3,
160
+ },
161
+ {
162
+ type: 'paragraph',
163
+ html: 'PNG med transparens är utan tvekan den bästa utgångspunkten för att skapa ICO-ikoner av professionell kvalitet. Med detta verktyg sker konverteringen omedelbart, alfakanaler bevaras fullt ut und den resulterande filen är en äkta ICO met korrekt binär struktur. Ingen uppladdning av din logotyp till någon server, inga vattenstämplar, inga gränser — und perfekt transparens i alla storlekar.',
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: 'sv',
180
+ faq,
181
+ howTo,
182
+ }),
183
+ };