@jjlmoya/utils-developer 1.4.0 → 1.5.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 (338) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +34 -0
  3. package/src/category/i18n/id.ts +34 -0
  4. package/src/category/i18n/it.ts +34 -0
  5. package/src/category/i18n/ja.ts +34 -0
  6. package/src/category/i18n/ko.ts +34 -0
  7. package/src/category/i18n/nl.ts +34 -0
  8. package/src/category/i18n/pl.ts +34 -0
  9. package/src/category/i18n/pt.ts +34 -0
  10. package/src/category/i18n/ru.ts +34 -0
  11. package/src/category/i18n/sv.ts +34 -0
  12. package/src/category/i18n/tr.ts +34 -0
  13. package/src/category/i18n/zh.ts +34 -0
  14. package/src/category/index.ts +13 -1
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +2 -2
  18. package/src/tests/slug_uniqueness.test.ts +81 -0
  19. package/src/tool/aspectRatio/i18n/de.ts +177 -0
  20. package/src/tool/aspectRatio/i18n/id.ts +177 -0
  21. package/src/tool/aspectRatio/i18n/it.ts +177 -0
  22. package/src/tool/aspectRatio/i18n/ja.ts +178 -0
  23. package/src/tool/aspectRatio/i18n/ko.ts +178 -0
  24. package/src/tool/aspectRatio/i18n/nl.ts +178 -0
  25. package/src/tool/aspectRatio/i18n/pl.ts +177 -0
  26. package/src/tool/aspectRatio/i18n/pt.ts +177 -0
  27. package/src/tool/aspectRatio/i18n/ru.ts +177 -0
  28. package/src/tool/aspectRatio/i18n/sv.ts +177 -0
  29. package/src/tool/aspectRatio/i18n/tr.ts +177 -0
  30. package/src/tool/aspectRatio/i18n/zh.ts +178 -0
  31. package/src/tool/aspectRatio/index.ts +15 -7
  32. package/src/tool/calculadoraTiempoDatos/i18n/de.ts +150 -0
  33. package/src/tool/calculadoraTiempoDatos/i18n/id.ts +150 -0
  34. package/src/tool/calculadoraTiempoDatos/i18n/it.ts +150 -0
  35. package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +151 -0
  36. package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +151 -0
  37. package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +150 -0
  38. package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +150 -0
  39. package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +150 -0
  40. package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +151 -0
  41. package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +150 -0
  42. package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +150 -0
  43. package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +151 -0
  44. package/src/tool/calculadoraTiempoDatos/index.ts +15 -7
  45. package/src/tool/colorConverter/i18n/de.ts +126 -0
  46. package/src/tool/colorConverter/i18n/id.ts +126 -0
  47. package/src/tool/colorConverter/i18n/it.ts +126 -0
  48. package/src/tool/colorConverter/i18n/ja.ts +127 -0
  49. package/src/tool/colorConverter/i18n/ko.ts +127 -0
  50. package/src/tool/colorConverter/i18n/nl.ts +126 -0
  51. package/src/tool/colorConverter/i18n/pl.ts +126 -0
  52. package/src/tool/colorConverter/i18n/pt.ts +126 -0
  53. package/src/tool/colorConverter/i18n/ru.ts +126 -0
  54. package/src/tool/colorConverter/i18n/sv.ts +126 -0
  55. package/src/tool/colorConverter/i18n/tr.ts +126 -0
  56. package/src/tool/colorConverter/i18n/zh.ts +127 -0
  57. package/src/tool/colorConverter/index.ts +15 -7
  58. package/src/tool/conversorExcelCsvHtml/i18n/de.ts +129 -0
  59. package/src/tool/conversorExcelCsvHtml/i18n/id.ts +129 -0
  60. package/src/tool/conversorExcelCsvHtml/i18n/it.ts +129 -0
  61. package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +130 -0
  62. package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +130 -0
  63. package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +129 -0
  64. package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +129 -0
  65. package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +129 -0
  66. package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +129 -0
  67. package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +129 -0
  68. package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +129 -0
  69. package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +130 -0
  70. package/src/tool/conversorExcelCsvHtml/index.ts +15 -7
  71. package/src/tool/cronGenerator/i18n/de.ts +192 -0
  72. package/src/tool/cronGenerator/i18n/es.ts +2 -1
  73. package/src/tool/cronGenerator/i18n/fr.ts +2 -1
  74. package/src/tool/cronGenerator/i18n/id.ts +192 -0
  75. package/src/tool/cronGenerator/i18n/it.ts +192 -0
  76. package/src/tool/cronGenerator/i18n/ja.ts +192 -0
  77. package/src/tool/cronGenerator/i18n/ko.ts +192 -0
  78. package/src/tool/cronGenerator/i18n/nl.ts +192 -0
  79. package/src/tool/cronGenerator/i18n/pl.ts +192 -0
  80. package/src/tool/cronGenerator/i18n/pt.ts +192 -0
  81. package/src/tool/cronGenerator/i18n/ru.ts +192 -0
  82. package/src/tool/cronGenerator/i18n/sv.ts +192 -0
  83. package/src/tool/cronGenerator/i18n/tr.ts +192 -0
  84. package/src/tool/cronGenerator/i18n/zh.ts +192 -0
  85. package/src/tool/cronGenerator/index.ts +15 -7
  86. package/src/tool/cssSpecificityCalculator/i18n/de.ts +168 -0
  87. package/src/tool/cssSpecificityCalculator/i18n/id.ts +168 -0
  88. package/src/tool/cssSpecificityCalculator/i18n/it.ts +168 -0
  89. package/src/tool/cssSpecificityCalculator/i18n/ja.ts +169 -0
  90. package/src/tool/cssSpecificityCalculator/i18n/ko.ts +169 -0
  91. package/src/tool/cssSpecificityCalculator/i18n/nl.ts +168 -0
  92. package/src/tool/cssSpecificityCalculator/i18n/pl.ts +168 -0
  93. package/src/tool/cssSpecificityCalculator/i18n/pt.ts +168 -0
  94. package/src/tool/cssSpecificityCalculator/i18n/ru.ts +168 -0
  95. package/src/tool/cssSpecificityCalculator/i18n/sv.ts +168 -0
  96. package/src/tool/cssSpecificityCalculator/i18n/tr.ts +168 -0
  97. package/src/tool/cssSpecificityCalculator/i18n/zh.ts +169 -0
  98. package/src/tool/cssSpecificityCalculator/index.ts +15 -7
  99. package/src/tool/cssToInlineConverter/i18n/de.ts +160 -0
  100. package/src/tool/cssToInlineConverter/i18n/id.ts +160 -0
  101. package/src/tool/cssToInlineConverter/i18n/it.ts +160 -0
  102. package/src/tool/cssToInlineConverter/i18n/ja.ts +161 -0
  103. package/src/tool/cssToInlineConverter/i18n/ko.ts +161 -0
  104. package/src/tool/cssToInlineConverter/i18n/nl.ts +160 -0
  105. package/src/tool/cssToInlineConverter/i18n/pl.ts +160 -0
  106. package/src/tool/cssToInlineConverter/i18n/pt.ts +160 -0
  107. package/src/tool/cssToInlineConverter/i18n/ru.ts +160 -0
  108. package/src/tool/cssToInlineConverter/i18n/sv.ts +160 -0
  109. package/src/tool/cssToInlineConverter/i18n/tr.ts +160 -0
  110. package/src/tool/cssToInlineConverter/i18n/zh.ts +161 -0
  111. package/src/tool/cssToInlineConverter/index.ts +15 -7
  112. package/src/tool/duplicateCssRemover/i18n/de.ts +167 -0
  113. package/src/tool/duplicateCssRemover/i18n/id.ts +167 -0
  114. package/src/tool/duplicateCssRemover/i18n/it.ts +167 -0
  115. package/src/tool/duplicateCssRemover/i18n/ja.ts +168 -0
  116. package/src/tool/duplicateCssRemover/i18n/ko.ts +168 -0
  117. package/src/tool/duplicateCssRemover/i18n/nl.ts +167 -0
  118. package/src/tool/duplicateCssRemover/i18n/pl.ts +167 -0
  119. package/src/tool/duplicateCssRemover/i18n/pt.ts +167 -0
  120. package/src/tool/duplicateCssRemover/i18n/ru.ts +167 -0
  121. package/src/tool/duplicateCssRemover/i18n/sv.ts +167 -0
  122. package/src/tool/duplicateCssRemover/i18n/tr.ts +167 -0
  123. package/src/tool/duplicateCssRemover/i18n/zh.ts +168 -0
  124. package/src/tool/duplicateCssRemover/index.ts +15 -7
  125. package/src/tool/generadorSecurityTxt/i18n/de.ts +174 -0
  126. package/src/tool/generadorSecurityTxt/i18n/id.ts +174 -0
  127. package/src/tool/generadorSecurityTxt/i18n/it.ts +174 -0
  128. package/src/tool/generadorSecurityTxt/i18n/ja.ts +174 -0
  129. package/src/tool/generadorSecurityTxt/i18n/ko.ts +174 -0
  130. package/src/tool/generadorSecurityTxt/i18n/nl.ts +174 -0
  131. package/src/tool/generadorSecurityTxt/i18n/pl.ts +174 -0
  132. package/src/tool/generadorSecurityTxt/i18n/pt.ts +174 -0
  133. package/src/tool/generadorSecurityTxt/i18n/ru.ts +174 -0
  134. package/src/tool/generadorSecurityTxt/i18n/sv.ts +174 -0
  135. package/src/tool/generadorSecurityTxt/i18n/tr.ts +174 -0
  136. package/src/tool/generadorSecurityTxt/i18n/zh.ts +174 -0
  137. package/src/tool/generadorSecurityTxt/index.ts +15 -7
  138. package/src/tool/hashGenerator/i18n/de.ts +119 -0
  139. package/src/tool/hashGenerator/i18n/id.ts +119 -0
  140. package/src/tool/hashGenerator/i18n/it.ts +118 -0
  141. package/src/tool/hashGenerator/i18n/ja.ts +119 -0
  142. package/src/tool/hashGenerator/i18n/ko.ts +119 -0
  143. package/src/tool/hashGenerator/i18n/nl.ts +119 -0
  144. package/src/tool/hashGenerator/i18n/pl.ts +118 -0
  145. package/src/tool/hashGenerator/i18n/pt.ts +118 -0
  146. package/src/tool/hashGenerator/i18n/ru.ts +119 -0
  147. package/src/tool/hashGenerator/i18n/sv.ts +119 -0
  148. package/src/tool/hashGenerator/i18n/tr.ts +118 -0
  149. package/src/tool/hashGenerator/i18n/zh.ts +119 -0
  150. package/src/tool/hashGenerator/index.ts +15 -7
  151. package/src/tool/inspectorCertificadosSsl/i18n/de.ts +214 -0
  152. package/src/tool/inspectorCertificadosSsl/i18n/id.ts +215 -0
  153. package/src/tool/inspectorCertificadosSsl/i18n/it.ts +214 -0
  154. package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +215 -0
  155. package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +215 -0
  156. package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +215 -0
  157. package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +215 -0
  158. package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +214 -0
  159. package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +215 -0
  160. package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +215 -0
  161. package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +215 -0
  162. package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +215 -0
  163. package/src/tool/inspectorCertificadosSsl/index.ts +24 -0
  164. package/src/tool/jsonFormatter/i18n/de.ts +157 -0
  165. package/src/tool/jsonFormatter/i18n/es.ts +2 -1
  166. package/src/tool/jsonFormatter/i18n/fr.ts +2 -1
  167. package/src/tool/jsonFormatter/i18n/id.ts +157 -0
  168. package/src/tool/jsonFormatter/i18n/it.ts +156 -0
  169. package/src/tool/jsonFormatter/i18n/ja.ts +157 -0
  170. package/src/tool/jsonFormatter/i18n/ko.ts +157 -0
  171. package/src/tool/jsonFormatter/i18n/nl.ts +157 -0
  172. package/src/tool/jsonFormatter/i18n/pl.ts +156 -0
  173. package/src/tool/jsonFormatter/i18n/pt.ts +156 -0
  174. package/src/tool/jsonFormatter/i18n/ru.ts +157 -0
  175. package/src/tool/jsonFormatter/i18n/sv.ts +157 -0
  176. package/src/tool/jsonFormatter/i18n/tr.ts +157 -0
  177. package/src/tool/jsonFormatter/i18n/zh.ts +157 -0
  178. package/src/tool/jsonFormatter/index.ts +15 -7
  179. package/src/tool/keycode/i18n/de.ts +161 -0
  180. package/src/tool/keycode/i18n/es.ts +2 -1
  181. package/src/tool/keycode/i18n/fr.ts +2 -1
  182. package/src/tool/keycode/i18n/id.ts +161 -0
  183. package/src/tool/keycode/i18n/it.ts +161 -0
  184. package/src/tool/keycode/i18n/ja.ts +161 -0
  185. package/src/tool/keycode/i18n/ko.ts +161 -0
  186. package/src/tool/keycode/i18n/nl.ts +161 -0
  187. package/src/tool/keycode/i18n/pl.ts +161 -0
  188. package/src/tool/keycode/i18n/pt.ts +160 -0
  189. package/src/tool/keycode/i18n/ru.ts +160 -0
  190. package/src/tool/keycode/i18n/sv.ts +160 -0
  191. package/src/tool/keycode/i18n/tr.ts +160 -0
  192. package/src/tool/keycode/i18n/zh.ts +161 -0
  193. package/src/tool/keycode/index.ts +15 -7
  194. package/src/tool/llmCostCalculator/i18n/de.ts +166 -0
  195. package/src/tool/llmCostCalculator/i18n/fr.ts +2 -1
  196. package/src/tool/llmCostCalculator/i18n/id.ts +166 -0
  197. package/src/tool/llmCostCalculator/i18n/it.ts +166 -0
  198. package/src/tool/llmCostCalculator/i18n/ja.ts +166 -0
  199. package/src/tool/llmCostCalculator/i18n/ko.ts +166 -0
  200. package/src/tool/llmCostCalculator/i18n/nl.ts +166 -0
  201. package/src/tool/llmCostCalculator/i18n/pl.ts +165 -0
  202. package/src/tool/llmCostCalculator/i18n/pt.ts +165 -0
  203. package/src/tool/llmCostCalculator/i18n/ru.ts +165 -0
  204. package/src/tool/llmCostCalculator/i18n/sv.ts +165 -0
  205. package/src/tool/llmCostCalculator/i18n/tr.ts +165 -0
  206. package/src/tool/llmCostCalculator/i18n/zh.ts +166 -0
  207. package/src/tool/llmCostCalculator/index.ts +24 -0
  208. package/src/tool/mobileMockupGenerator/i18n/de.ts +121 -0
  209. package/src/tool/mobileMockupGenerator/i18n/id.ts +121 -0
  210. package/src/tool/mobileMockupGenerator/i18n/it.ts +121 -0
  211. package/src/tool/mobileMockupGenerator/i18n/ja.ts +122 -0
  212. package/src/tool/mobileMockupGenerator/i18n/ko.ts +122 -0
  213. package/src/tool/mobileMockupGenerator/i18n/nl.ts +121 -0
  214. package/src/tool/mobileMockupGenerator/i18n/pl.ts +31 -0
  215. package/src/tool/mobileMockupGenerator/i18n/pt.ts +121 -0
  216. package/src/tool/mobileMockupGenerator/i18n/ru.ts +121 -0
  217. package/src/tool/mobileMockupGenerator/i18n/sv.ts +121 -0
  218. package/src/tool/mobileMockupGenerator/i18n/tr.ts +121 -0
  219. package/src/tool/mobileMockupGenerator/i18n/zh.ts +122 -0
  220. package/src/tool/mobileMockupGenerator/index.ts +24 -0
  221. package/src/tool/musicalTypography/i18n/de.ts +179 -0
  222. package/src/tool/musicalTypography/i18n/id.ts +179 -0
  223. package/src/tool/musicalTypography/i18n/it.ts +179 -0
  224. package/src/tool/musicalTypography/i18n/ja.ts +180 -0
  225. package/src/tool/musicalTypography/i18n/ko.ts +180 -0
  226. package/src/tool/musicalTypography/i18n/nl.ts +179 -0
  227. package/src/tool/musicalTypography/i18n/pl.ts +179 -0
  228. package/src/tool/musicalTypography/i18n/pt.ts +101 -0
  229. package/src/tool/musicalTypography/i18n/ru.ts +47 -0
  230. package/src/tool/musicalTypography/i18n/sv.ts +29 -0
  231. package/src/tool/musicalTypography/i18n/tr.ts +29 -0
  232. package/src/tool/musicalTypography/i18n/zh.ts +30 -0
  233. package/src/tool/musicalTypography/index.ts +15 -7
  234. package/src/tool/placeholderGenerator/i18n/de.ts +176 -0
  235. package/src/tool/placeholderGenerator/i18n/id.ts +176 -0
  236. package/src/tool/placeholderGenerator/i18n/it.ts +176 -0
  237. package/src/tool/placeholderGenerator/i18n/ja.ts +177 -0
  238. package/src/tool/placeholderGenerator/i18n/ko.ts +177 -0
  239. package/src/tool/placeholderGenerator/i18n/nl.ts +176 -0
  240. package/src/tool/placeholderGenerator/i18n/pl.ts +176 -0
  241. package/src/tool/placeholderGenerator/i18n/pt.ts +176 -0
  242. package/src/tool/placeholderGenerator/i18n/ru.ts +176 -0
  243. package/src/tool/placeholderGenerator/i18n/sv.ts +176 -0
  244. package/src/tool/placeholderGenerator/i18n/tr.ts +176 -0
  245. package/src/tool/placeholderGenerator/i18n/zh.ts +177 -0
  246. package/src/tool/placeholderGenerator/index.ts +24 -0
  247. package/src/tool/promptLibrary/i18n/de.ts +131 -0
  248. package/src/tool/promptLibrary/i18n/id.ts +131 -0
  249. package/src/tool/promptLibrary/i18n/it.ts +131 -0
  250. package/src/tool/promptLibrary/i18n/ja.ts +132 -0
  251. package/src/tool/promptLibrary/i18n/ko.ts +132 -0
  252. package/src/tool/promptLibrary/i18n/nl.ts +131 -0
  253. package/src/tool/promptLibrary/i18n/pl.ts +28 -0
  254. package/src/tool/promptLibrary/i18n/pt.ts +101 -0
  255. package/src/tool/promptLibrary/i18n/ru.ts +101 -0
  256. package/src/tool/promptLibrary/i18n/sv.ts +93 -0
  257. package/src/tool/promptLibrary/i18n/tr.ts +93 -0
  258. package/src/tool/promptLibrary/i18n/zh.ts +94 -0
  259. package/src/tool/promptLibrary/index.ts +24 -0
  260. package/src/tool/readabilityCalculator/i18n/de.ts +133 -0
  261. package/src/tool/readabilityCalculator/i18n/id.ts +133 -0
  262. package/src/tool/readabilityCalculator/i18n/it.ts +133 -0
  263. package/src/tool/readabilityCalculator/i18n/ja.ts +134 -0
  264. package/src/tool/readabilityCalculator/i18n/ko.ts +134 -0
  265. package/src/tool/readabilityCalculator/i18n/nl.ts +133 -0
  266. package/src/tool/readabilityCalculator/i18n/pl.ts +29 -0
  267. package/src/tool/readabilityCalculator/i18n/pt.ts +91 -0
  268. package/src/tool/readabilityCalculator/i18n/ru.ts +91 -0
  269. package/src/tool/readabilityCalculator/i18n/sv.ts +43 -0
  270. package/src/tool/readabilityCalculator/i18n/tr.ts +43 -0
  271. package/src/tool/readabilityCalculator/i18n/zh.ts +44 -0
  272. package/src/tool/readabilityCalculator/index.ts +24 -0
  273. package/src/tool/svgSanitizer/i18n/de.ts +125 -0
  274. package/src/tool/svgSanitizer/i18n/id.ts +125 -0
  275. package/src/tool/svgSanitizer/i18n/it.ts +125 -0
  276. package/src/tool/svgSanitizer/i18n/ja.ts +126 -0
  277. package/src/tool/svgSanitizer/i18n/ko.ts +126 -0
  278. package/src/tool/svgSanitizer/i18n/nl.ts +125 -0
  279. package/src/tool/svgSanitizer/i18n/pl.ts +125 -0
  280. package/src/tool/svgSanitizer/i18n/pt.ts +30 -0
  281. package/src/tool/svgSanitizer/i18n/ru.ts +126 -0
  282. package/src/tool/svgSanitizer/i18n/sv.ts +126 -0
  283. package/src/tool/svgSanitizer/i18n/tr.ts +126 -0
  284. package/src/tool/svgSanitizer/i18n/zh.ts +126 -0
  285. package/src/tool/svgSanitizer/index.ts +24 -0
  286. package/src/tool/svgToCss/i18n/de.ts +174 -0
  287. package/src/tool/svgToCss/i18n/id.ts +174 -0
  288. package/src/tool/svgToCss/i18n/it.ts +174 -0
  289. package/src/tool/svgToCss/i18n/ja.ts +175 -0
  290. package/src/tool/svgToCss/i18n/ko.ts +175 -0
  291. package/src/tool/svgToCss/i18n/nl.ts +174 -0
  292. package/src/tool/svgToCss/i18n/pl.ts +174 -0
  293. package/src/tool/svgToCss/i18n/pt.ts +174 -0
  294. package/src/tool/svgToCss/i18n/ru.ts +174 -0
  295. package/src/tool/svgToCss/i18n/sv.ts +174 -0
  296. package/src/tool/svgToCss/i18n/tr.ts +174 -0
  297. package/src/tool/svgToCss/i18n/zh.ts +175 -0
  298. package/src/tool/svgToCss/index.ts +15 -7
  299. package/src/tool/urlCleaner/i18n/de.ts +116 -0
  300. package/src/tool/urlCleaner/i18n/id.ts +116 -0
  301. package/src/tool/urlCleaner/i18n/it.ts +116 -0
  302. package/src/tool/urlCleaner/i18n/ja.ts +117 -0
  303. package/src/tool/urlCleaner/i18n/ko.ts +117 -0
  304. package/src/tool/urlCleaner/i18n/nl.ts +116 -0
  305. package/src/tool/urlCleaner/i18n/pl.ts +29 -0
  306. package/src/tool/urlCleaner/i18n/pt.ts +43 -0
  307. package/src/tool/urlCleaner/i18n/ru.ts +43 -0
  308. package/src/tool/urlCleaner/i18n/sv.ts +43 -0
  309. package/src/tool/urlCleaner/i18n/tr.ts +43 -0
  310. package/src/tool/urlCleaner/i18n/zh.ts +44 -0
  311. package/src/tool/urlCleaner/index.ts +24 -0
  312. package/src/tool/urlEncoderDecoder/i18n/de.ts +163 -0
  313. package/src/tool/urlEncoderDecoder/i18n/id.ts +163 -0
  314. package/src/tool/urlEncoderDecoder/i18n/it.ts +163 -0
  315. package/src/tool/urlEncoderDecoder/i18n/ja.ts +163 -0
  316. package/src/tool/urlEncoderDecoder/i18n/ko.ts +163 -0
  317. package/src/tool/urlEncoderDecoder/i18n/nl.ts +163 -0
  318. package/src/tool/urlEncoderDecoder/i18n/pl.ts +162 -0
  319. package/src/tool/urlEncoderDecoder/i18n/pt.ts +162 -0
  320. package/src/tool/urlEncoderDecoder/i18n/ru.ts +163 -0
  321. package/src/tool/urlEncoderDecoder/i18n/sv.ts +163 -0
  322. package/src/tool/urlEncoderDecoder/i18n/tr.ts +162 -0
  323. package/src/tool/urlEncoderDecoder/i18n/zh.ts +163 -0
  324. package/src/tool/urlEncoderDecoder/index.ts +15 -7
  325. package/src/tool/utmGenerator/i18n/de.ts +118 -0
  326. package/src/tool/utmGenerator/i18n/id.ts +118 -0
  327. package/src/tool/utmGenerator/i18n/it.ts +118 -0
  328. package/src/tool/utmGenerator/i18n/ja.ts +118 -0
  329. package/src/tool/utmGenerator/i18n/ko.ts +118 -0
  330. package/src/tool/utmGenerator/i18n/nl.ts +118 -0
  331. package/src/tool/utmGenerator/i18n/pl.ts +117 -0
  332. package/src/tool/utmGenerator/i18n/pt.ts +118 -0
  333. package/src/tool/utmGenerator/i18n/ru.ts +118 -0
  334. package/src/tool/utmGenerator/i18n/sv.ts +118 -0
  335. package/src/tool/utmGenerator/i18n/tr.ts +117 -0
  336. package/src/tool/utmGenerator/i18n/zh.ts +118 -0
  337. package/src/tool/utmGenerator/index.ts +15 -7
  338. package/src/types.ts +1 -2
@@ -0,0 +1,174 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { SvgToCssUI } from '../ui';
4
+
5
+ const slug = 'konwerter-svg-na-css';
6
+ const title = 'Darmowy konwerter SVG na CSS i Data URI online';
7
+ const description =
8
+ 'Przekształć swoje ikony i wektory SVG w kod CSS (Background lub Mask) lub skompresowany Data URI. Zoptymalizuj wydajność swojej strony internetowej, eliminując zewnętrzne żądania HTTP.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Czy lepiej jest używać Data URI czy zewnętrznego pliku .svg?',
13
+ answer:
14
+ 'To zależy od przypadku użycia. Data URI eliminują żądania HTTP (idealne dla małych ikon), ale zwiększają rozmiar pliku CSS. W przypadku dużych lub bogatych w szczegóły ilustracji preferowany jest plik zewnętrzny.',
15
+ },
16
+ {
17
+ question: 'Jak zmienić kolor obrazu SVG osadzonego w CSS?',
18
+ answer:
19
+ "Najlepszym sposobem jest użycie 'mask-image'. Definiując SVG jako maskę, możesz użyć 'background-color', aby dynamicznie zmieniać jego kolor, nawet w stanach :hover.",
20
+ },
21
+ {
22
+ question: 'Które przeglądarki obsługują maski CSS?',
23
+ answer:
24
+ 'Wszystkie nowoczesne przeglądarki (Chrome, Firefox, Safari, Edge) mają pełne wsparcie. W przypadku starszych przeglądarek powszechnie stosuje się prefiksy -webkit-.',
25
+ },
26
+ {
27
+ question: 'Czy używanie Data URI wpływa na SEO?',
28
+ answer:
29
+ 'Tak, pozytywnie. Zmniejszając liczbę żądań potrzebnych do wyrenderowania strony, poprawia czas ładowania (LCP) i wyniki Core Web Vitals.',
30
+ },
31
+ {
32
+ question: 'Czy mogę go używać w frameworkach takich jak React czy Tailwind?',
33
+ answer:
34
+ 'Oczywiście! Możesz skopiować wygenerowany kod i użyć go w swoich plikach .css lub nawet jako dowolne wartości w Tailwind CSS.',
35
+ },
36
+ ];
37
+
38
+ const howToData = [
39
+ {
40
+ name: 'Wklej SVG',
41
+ text: 'Skopiuj kod źródłowy pliku SVG i wklej go w polu tekstowym po lewej stronie.',
42
+ },
43
+ {
44
+ name: 'Wybierz typ wyjściowy',
45
+ text: 'Wybierz między tłem (Background Image dla statycznego tła), maską CSS (CSS Mask dla ikon z dynamicznym kolorem) lub samym Data URI (do bezpośredniego użycia).',
46
+ },
47
+ {
48
+ name: 'Skopiuj wynik',
49
+ text: 'Kliknij „Kopiuj”, aby pobrać wygenerowany kod CSS do schowka.',
50
+ },
51
+ {
52
+ name: 'Zastosuj w swoim projekcie',
53
+ text: 'Wklej kod do arkusza stylów lub komponentu CSS. W przypadku masek dodaj również background-color, aby zdefiniować kolor ikony.',
54
+ },
55
+ ];
56
+
57
+ const faqSchema: WithContext<FAQPage> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'FAQPage',
60
+ mainEntity: faqData.map((item) => ({
61
+ '@type': 'Question',
62
+ name: item.question,
63
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
64
+ })),
65
+ };
66
+
67
+ const howToSchema: WithContext<HowToThing> = {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'HowTo',
70
+ name: title,
71
+ description,
72
+ step: howToData.map((step, i) => ({
73
+ '@type': 'HowToStep',
74
+ position: i + 1,
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
88
+ inLanguage: 'pl',
89
+ };
90
+
91
+ const ui: SvgToCssUI = {
92
+ labelPasteTitle: 'Wklej SVG',
93
+ labelInputArea: 'Kod źródłowy SVG',
94
+ labelPreviewOriginal: 'Podgląd oryginału',
95
+ labelResultTitle: 'Wynik CSS',
96
+ labelPreviewApplied: 'Zastosowany wynik',
97
+ tabBackground: 'Obraz tła (Background)',
98
+ tabMask: 'Maska CSS / Webkit',
99
+ tabUri: 'Tylko Data URI',
100
+ btnCopy: 'Kopiuj',
101
+ btnCopied: 'Skopiowano!',
102
+ placeholder: '<svg xmlns="http://www.w3.org/2000/svg" ...',
103
+ };
104
+
105
+ export const content: ToolLocaleContent<SvgToCssUI> = {
106
+ slug,
107
+ title,
108
+ description,
109
+ ui,
110
+ faqTitle: 'Często zadawane pytania',
111
+ faq: faqData,
112
+ bibliographyTitle: 'Referencje i dokumentacja',
113
+ bibliography: [
114
+ {
115
+ name: 'CSS-Tricks: Używanie SVG jako tła',
116
+ url: 'https://css-tricks.com/using-svg/',
117
+ },
118
+ {
119
+ name: 'MDN Web Docs: mask-image',
120
+ url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/mask-image',
121
+ },
122
+ {
123
+ name: 'MDN Web Docs: background-image',
124
+ url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/background-image',
125
+ },
126
+ {
127
+ name: 'W3C: CSS Masking Module Level 1',
128
+ url: 'https://www.w3.org/TR/css-masking-1/',
129
+ },
130
+ ],
131
+ howTo: howToData,
132
+ schemas: [faqSchema, howToSchema, appSchema],
133
+ seo: [
134
+ {
135
+ type: 'title',
136
+ text: 'Dlaczego warto konwertować SVG na CSS Data URI?',
137
+ level: 2,
138
+ },
139
+ {
140
+ type: 'paragraph',
141
+ html: 'W nowoczesnym programowaniu stron internetowych optymalizacja wydajności i ładowania zasobów jest kluczowa. Osadzanie ikon bezpośrednio w CSS za pomocą <strong>Data URI</strong> eliminuje niepotrzebne żądania HTTP, zmniejszając opóźnienia i poprawiając wskaźnik Time to Interactive (TTI).',
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'To narzędzie przekształca kod wektorowy <code>&lt;svg&gt;</code> w zakodowany ciąg tekstowy, który przeglądarka może zinterpretować jako obraz tła lub maskę przycinającą, zachowując nieskończoną skalowalność i ostrość charakterystyczną dla wektorów.',
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Kluczowe korzyści techniczne',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'list',
154
+ items: [
155
+ '<strong>Zero żądań HTTP:</strong> Osadzając grafikę w plikach <code>.css</code>, przeglądarka nie musi pobierać dodatkowych plików zewnętrznych.',
156
+ '<strong>Personalizacja przez maskę CSS:</strong> Dzięki technice <code>mask-image</code> możesz zmienić kolor złożonej ikony wektorowej po prostu za pomocą <code>background-color</code>.',
157
+ '<strong>Natychmiastowe renderowanie:</strong> Unikasz mignięcia treści (FOUC), ponieważ krytyczne zasoby wizualne są dostępne natychmiast po pobraniu arkusza stylów.',
158
+ ],
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: 'Maski CSS vs Tła (Backgrounds)',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'paragraph',
167
+ html: 'Wielu deweloperów używa po prostu <code>background-image</code> do osadzania wektorów, ale ma to pewne ograniczenie: nie można dynamicznie zmieniać koloru SVG z poziomu CSS.',
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'Nasze narzędzie obsługuje generowanie kodu dla <strong>masek CSS</strong>. Stosując <code>mask-image</code> z wygenerowanym Data URI, ikona działa jak szablon, pozwalając <code>background-color</code> elementu zdefiniować ostateczny kolor ikony. To najbardziej profesjonalny i elastyczny sposób zarządzania ikonami w Astro, Next.js lub jakimkolwiek nowoczesnym frameworku.',
172
+ },
173
+ ],
174
+ };
@@ -0,0 +1,174 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { SvgToCssUI } from '../ui';
4
+
5
+ const slug = 'conversor-svg-para-css';
6
+ const title = 'Conversor Gratuito Online de SVG para CSS e Data URI';
7
+ const description =
8
+ 'Transforme seus ícones e vetores SVG em código CSS (Background ou Mask) ou Data URI compactado. Otimize o desempenho do seu site eliminando solicitações HTTP externas.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'É melhor usar um Data URI ou um arquivo .svg externo?',
13
+ answer:
14
+ 'Depende do caso de uso. Os Data URIs eliminam solicitações HTTP (ideal para ícones pequenos), mas aumentam o tamanho do arquivo CSS. Para ilustrações grandes ou ricas em detalhes, um arquivo externo é preferível.',
15
+ },
16
+ {
17
+ question: 'Como faço para alterar a cor de um SVG incorporado no CSS?',
18
+ answer:
19
+ "A melhor maneira é via 'mask-image'. Definindo o SVG como uma máscara, você pode usar 'background-color' para alterar sua cor dinamicamente, inclusive em estados :hover.",
20
+ },
21
+ {
22
+ question: 'Quais navegadores suportam CSS Masks?',
23
+ answer:
24
+ 'Todos os navegadores modernos (Chrome, Firefox, Safari, Edge) têm suporte total. Para navegadores mais antigos, os prefixos -webkit- são comumente usados.',
25
+ },
26
+ {
27
+ question: 'O uso de Data URIs afeta o SEO?',
28
+ answer:
29
+ 'Sim, positivamente. Ao reduzir o número de solicitações necessárias para renderizar a página, melhora o tempo de carregamento (LCP) e as pontuações do Core Web Vitals.',
30
+ },
31
+ {
32
+ question: 'Posso usá-lo em frameworks como React ou Tailwind?',
33
+ answer:
34
+ 'Com certeza! Você pode copiar o código gerado e usá-lo em seus arquivos .css ou até mesmo como valores arbitrários no Tailwind CSS.',
35
+ },
36
+ ];
37
+
38
+ const howToData = [
39
+ {
40
+ name: 'Cole o SVG',
41
+ text: 'Copie o código-fonte do seu arquivo SVG e cole-o na área de texto à esquerda.',
42
+ },
43
+ {
44
+ name: 'Escolha o tipo de saída',
45
+ text: 'Selecione entre Imagem de Fundo (para fundos estáticos), Máscara CSS (para ícones com cor dinâmica) ou Apenas Data URI (para uso direto).',
46
+ },
47
+ {
48
+ name: 'Copie o resultado',
49
+ text: 'Clique em "Copiar" para levar o código CSS gerado para sua área de transferência.',
50
+ },
51
+ {
52
+ name: 'Aplique no seu projeto',
53
+ text: 'Cole o código em sua folha de estilo ou componente CSS. Para Máscaras, adicione também background-color para definir a cor do ícone.',
54
+ },
55
+ ];
56
+
57
+ const faqSchema: WithContext<FAQPage> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'FAQPage',
60
+ mainEntity: faqData.map((item) => ({
61
+ '@type': 'Question',
62
+ name: item.question,
63
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
64
+ })),
65
+ };
66
+
67
+ const howToSchema: WithContext<HowToThing> = {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'HowTo',
70
+ name: title,
71
+ description,
72
+ step: howToData.map((step, i) => ({
73
+ '@type': 'HowToStep',
74
+ position: i + 1,
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
88
+ inLanguage: 'pt',
89
+ };
90
+
91
+ const ui: SvgToCssUI = {
92
+ labelPasteTitle: 'Colar SVG',
93
+ labelInputArea: 'Código Fonte do SVG',
94
+ labelPreviewOriginal: 'Visualização Original',
95
+ labelResultTitle: 'Resultado CSS',
96
+ labelPreviewApplied: 'Resultado Aplicado',
97
+ tabBackground: 'Imagem de Fundo',
98
+ tabMask: 'Máscara CSS / Webkit',
99
+ tabUri: 'Apenas Data URI',
100
+ btnCopy: 'Copiar',
101
+ btnCopied: 'Copiado!',
102
+ placeholder: '<svg xmlns="http://www.w3.org/2000/svg" ...',
103
+ };
104
+
105
+ export const content: ToolLocaleContent<SvgToCssUI> = {
106
+ slug,
107
+ title,
108
+ description,
109
+ ui,
110
+ faqTitle: 'Perguntas Frequentes',
111
+ faq: faqData,
112
+ bibliographyTitle: 'Referências e Documentação',
113
+ bibliography: [
114
+ {
115
+ name: 'CSS-Tricks: Usando SVG como Fundo',
116
+ url: 'https://css-tricks.com/using-svg/',
117
+ },
118
+ {
119
+ name: 'MDN Web Docs: mask-image',
120
+ url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/mask-image',
121
+ },
122
+ {
123
+ name: 'MDN Web Docs: background-image',
124
+ url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/background-image',
125
+ },
126
+ {
127
+ name: 'W3C: CSS Masking Module Level 1',
128
+ url: 'https://www.w3.org/TR/css-masking-1/',
129
+ },
130
+ ],
131
+ howTo: howToData,
132
+ schemas: [faqSchema, howToSchema, appSchema],
133
+ seo: [
134
+ {
135
+ type: 'title',
136
+ text: 'Por que Converter SVG para CSS Data URI?',
137
+ level: 2,
138
+ },
139
+ {
140
+ type: 'paragraph',
141
+ html: 'No desenvolvimento web moderno, otimizar o desempenho e o carregamento de recursos é essencial. Incorporar ícones diretamente no CSS via <strong>Data URIs</strong> elimina solicitações HTTP desnecessárias, reduzindo a latência e melhorando o Tempo para Interatividade (TTI).',
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'Esta ferramenta transforma o código vetorial <code>&lt;svg&gt;</code> em uma sequência de texto codificada que o navegador pode interpretar como uma imagem de fundo ou uma máscara de recorte, mantendo a escalabilidade infinita e a nitidez característica dos vetores.',
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Principais Benefícios Técnicos',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'list',
154
+ items: [
155
+ '<strong>Zero Solicitações HTTP:</strong> Ao incorporar o gráfico em seus arquivos <code>.css</code>, o navegador não precisa baixar arquivos externos adicionais.',
156
+ '<strong>Personalização via Máscara CSS:</strong> Usando a técnica <code>mask-image</code>, você pode alterar a cor de um ícone vetorial complexo apenas usando <code>background-color</code>.',
157
+ '<strong>Renderização Imediata:</strong> Você evita a oscilação de conteúdo (FOUC), pois os recursos visuais críticos estão disponíveis assim que a folha de estilo é baixada.',
158
+ ],
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: 'Máscaras CSS vs Fundos',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'paragraph',
167
+ html: 'Muitos desenvolvedores simplesmente usam <code>background-image</code> para incorporar vetores, mas isso tem uma limitação: você não pode alterar a cor do SVG dinamicamente pelo CSS.',
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'Nossa ferramenta suporta a geração de código para <strong>Máscaras CSS</strong>. Ao aplicar uma <code>mask-image</code> com o Data URI gerado, o ícone atua como um estêncil, permitindo que o <code>background-color</code> do elemento defina a cor final do ícone. É a maneira mais profissional e flexível de gerenciar ícones no Astro, Next.js ou qualquer framework moderno.',
172
+ },
173
+ ],
174
+ };
@@ -0,0 +1,174 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { SvgToCssUI } from '../ui';
4
+
5
+ const slug = 'konverter-svg-v-css';
6
+ const title = 'Бесплатный онлайн конвертер SVG в CSS и Data URI';
7
+ const description =
8
+ 'Преобразуйте ваши SVG-иконки и векторы в CSS-код (Background или Mask) или сжатые Data URI. Оптимизируйте производительность вашего сайта, исключив внешние HTTP-запросы.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Что лучше использовать: Data URI или внешний файл .svg?',
13
+ answer:
14
+ 'Это зависит от случая. Data URI исключают HTTP-запросы (идеально для небольших иконок), но увеличивают размер CSS-файла. Для больших или детальных иллюстраций предпочтительнее внешний файл.',
15
+ },
16
+ {
17
+ question: 'Как изменить цвет SVG, встроенного в CSS?',
18
+ answer:
19
+ "Лучший способ — через 'mask-image'. Определив SVG как маску, вы можете использовать 'background-color' для динамического изменения его цвета, даже в состояниях :hover.",
20
+ },
21
+ {
22
+ question: ' какие браузеры поддерживают CSS Masks?',
23
+ answer:
24
+ 'Все современные браузеры (Chrome, Firefox, Safari, Edge) имеют полную поддержку. Для старых браузеров часто используются префиксы -webkit-.',
25
+ },
26
+ {
27
+ question: 'Влияет ли использование Data URI на SEO?',
28
+ answer:
29
+ 'Да, положительно. Уменьшая количество запросов, необходимых для рендеринга страницы, это улучшает время загрузки (LCP) и показатели Core Web Vitals.',
30
+ },
31
+ {
32
+ question: 'Могу ли я использовать его в таких фреймворках, как React или Tailwind?',
33
+ answer:
34
+ 'Конечно! Вы можете скопировать сгенерированный код и использовать его в своих .css-файлах или даже как произвольные значения в Tailwind CSS.',
35
+ },
36
+ ];
37
+
38
+ const howToData = [
39
+ {
40
+ name: 'Вставьте SVG',
41
+ text: 'Скопируйте исходный код вашего SVG-файла и вставьте его в текстовое поле слева.',
42
+ },
43
+ {
44
+ name: 'Выберите тип вывода',
45
+ text: 'Выберите между фоновым изображением (Background Image для статических фонов), маской CSS (CSS Mask для иконок с динамическим цветом) или только Data URI (для прямого использования).',
46
+ },
47
+ {
48
+ name: 'Скопируйте результат',
49
+ text: 'Нажмите «Копировать», чтобы перенести сгенерированный CSS-код в буфер обмена.',
50
+ },
51
+ {
52
+ name: 'Примените в своем проекте',
53
+ text: 'Вставьте код в свою таблицу стилей или CSS-компонент. Для масок также добавьте background-color, чтобы определить цвет иконки.',
54
+ },
55
+ ];
56
+
57
+ const faqSchema: WithContext<FAQPage> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'FAQPage',
60
+ mainEntity: faqData.map((item) => ({
61
+ '@type': 'Question',
62
+ name: item.question,
63
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
64
+ })),
65
+ };
66
+
67
+ const howToSchema: WithContext<HowToThing> = {
68
+ '@context': 'https://schema.org',
69
+ '@type': 'HowTo',
70
+ name: title,
71
+ description,
72
+ step: howToData.map((step, i) => ({
73
+ '@type': 'HowToStep',
74
+ position: i + 1,
75
+ name: step.name,
76
+ text: step.text,
77
+ })),
78
+ };
79
+
80
+ const appSchema: WithContext<SoftwareApplication> = {
81
+ '@context': 'https://schema.org',
82
+ '@type': 'SoftwareApplication',
83
+ name: title,
84
+ description,
85
+ applicationCategory: 'UtilityApplication',
86
+ operatingSystem: 'All',
87
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
88
+ inLanguage: 'ru',
89
+ };
90
+
91
+ const ui: SvgToCssUI = {
92
+ labelPasteTitle: 'Вставьте SVG',
93
+ labelInputArea: 'Исходный код SVG',
94
+ labelPreviewOriginal: 'Оригинальный просмотр',
95
+ labelResultTitle: 'Результат CSS',
96
+ labelPreviewApplied: 'Примененный результат',
97
+ tabBackground: 'Фоновое изображение',
98
+ tabMask: 'CSS-маска / Webkit',
99
+ tabUri: 'Только Data URI',
100
+ btnCopy: 'Копировать',
101
+ btnCopied: 'Скопировано!',
102
+ placeholder: '<svg xmlns="http://www.w3.org/2000/svg" ...',
103
+ };
104
+
105
+ export const content: ToolLocaleContent<SvgToCssUI> = {
106
+ slug,
107
+ title,
108
+ description,
109
+ ui,
110
+ faqTitle: 'Часто задаваемые вопросы',
111
+ faq: faqData,
112
+ bibliographyTitle: 'Ссылки и документация',
113
+ bibliography: [
114
+ {
115
+ name: 'CSS-Tricks: Использование SVG в качестве фона',
116
+ url: 'https://css-tricks.com/using-svg/',
117
+ },
118
+ {
119
+ name: 'MDN Web Docs: mask-image',
120
+ url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/mask-image',
121
+ },
122
+ {
123
+ name: 'MDN Web Docs: background-image',
124
+ url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/background-image',
125
+ },
126
+ {
127
+ name: 'W3C: CSS Masking Module Level 1',
128
+ url: 'https://www.w3.org/TR/css-masking-1/',
129
+ },
130
+ ],
131
+ howTo: howToData,
132
+ schemas: [faqSchema, howToSchema, appSchema],
133
+ seo: [
134
+ {
135
+ type: 'title',
136
+ text: 'Зачем конвертировать SVG в CSS Data URI?',
137
+ level: 2,
138
+ },
139
+ {
140
+ type: 'paragraph',
141
+ html: 'В современной веб-разработке оптимизация производительности и загрузки ресурсов имеет важное значение. Встраивание иконок непосредственно в CSS через <strong>Data URI</strong> исключает ненужные HTTP-запросы, сокращая задержки и улучшая время до интерактивности (TTI).',
142
+ },
143
+ {
144
+ type: 'paragraph',
145
+ html: 'Этот инструмент преобразует векторный код <code>&lt;svg&gt;</code> в закодированную текстовую строку, которую браузер может интерпретировать как фоновое изображение или маску обрезки, сохраняя бесконечную масштабируемость и четкость векторов.',
146
+ },
147
+ {
148
+ type: 'title',
149
+ text: 'Основные технические преимущества',
150
+ level: 3,
151
+ },
152
+ {
153
+ type: 'list',
154
+ items: [
155
+ '<strong>Ноль HTTP-запросов:</strong> Встраивая графику в ваши <code>.css</code>-файлы, браузеру не нужно загружать дополнительные внешние файлы.',
156
+ '<strong>Настройка через CSS-маску:</strong> Используя технологию <code>mask-image</code>, вы можете изменить цвет сложной векторной иконки, просто используя <code>background-color</code>.',
157
+ '<strong>Мгновенный рендеринг:</strong> Вы избегаете мерцания контента (FOUC), так как критические визуальные ресурсы доступны сразу после загрузки таблицы стилей.',
158
+ ],
159
+ },
160
+ {
161
+ type: 'title',
162
+ text: 'CSS-маски против фонов',
163
+ level: 3,
164
+ },
165
+ {
166
+ type: 'paragraph',
167
+ html: 'Многие разработчики просто используют <code>background-image</code> для встраивания векторов, но это имеет ограничение: вы не можете динамически изменять цвет SVG из CSS.',
168
+ },
169
+ {
170
+ type: 'paragraph',
171
+ html: 'Наша утилита поддерживает генерацию кода для <strong>CSS-масок</strong>. Применяя <code>mask-image</code> со сгенерированным Data URI, иконка действует как трафарет, позволяя <code>background-color</code> элемента определять конечный цвет иконки. Это самый профессиональный и гибкий способ управления иконками в Astro, Next.js или любом современном фреймворке.',
172
+ },
173
+ ],
174
+ };