@jjlmoya/utils-developer 1.3.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 (339) 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/index.ts +12 -0
  16. package/src/tests/faq_count.test.ts +1 -1
  17. package/src/tests/i18n_coverage.test.ts +36 -0
  18. package/src/tests/locale_completeness.test.ts +2 -2
  19. package/src/tests/slug_uniqueness.test.ts +81 -0
  20. package/src/tool/aspectRatio/i18n/de.ts +177 -0
  21. package/src/tool/aspectRatio/i18n/id.ts +177 -0
  22. package/src/tool/aspectRatio/i18n/it.ts +177 -0
  23. package/src/tool/aspectRatio/i18n/ja.ts +178 -0
  24. package/src/tool/aspectRatio/i18n/ko.ts +178 -0
  25. package/src/tool/aspectRatio/i18n/nl.ts +178 -0
  26. package/src/tool/aspectRatio/i18n/pl.ts +177 -0
  27. package/src/tool/aspectRatio/i18n/pt.ts +177 -0
  28. package/src/tool/aspectRatio/i18n/ru.ts +177 -0
  29. package/src/tool/aspectRatio/i18n/sv.ts +177 -0
  30. package/src/tool/aspectRatio/i18n/tr.ts +177 -0
  31. package/src/tool/aspectRatio/i18n/zh.ts +178 -0
  32. package/src/tool/aspectRatio/index.ts +15 -7
  33. package/src/tool/calculadoraTiempoDatos/i18n/de.ts +150 -0
  34. package/src/tool/calculadoraTiempoDatos/i18n/id.ts +150 -0
  35. package/src/tool/calculadoraTiempoDatos/i18n/it.ts +150 -0
  36. package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +151 -0
  37. package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +151 -0
  38. package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +150 -0
  39. package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +150 -0
  40. package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +150 -0
  41. package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +151 -0
  42. package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +150 -0
  43. package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +150 -0
  44. package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +151 -0
  45. package/src/tool/calculadoraTiempoDatos/index.ts +15 -7
  46. package/src/tool/colorConverter/i18n/de.ts +126 -0
  47. package/src/tool/colorConverter/i18n/id.ts +126 -0
  48. package/src/tool/colorConverter/i18n/it.ts +126 -0
  49. package/src/tool/colorConverter/i18n/ja.ts +127 -0
  50. package/src/tool/colorConverter/i18n/ko.ts +127 -0
  51. package/src/tool/colorConverter/i18n/nl.ts +126 -0
  52. package/src/tool/colorConverter/i18n/pl.ts +126 -0
  53. package/src/tool/colorConverter/i18n/pt.ts +126 -0
  54. package/src/tool/colorConverter/i18n/ru.ts +126 -0
  55. package/src/tool/colorConverter/i18n/sv.ts +126 -0
  56. package/src/tool/colorConverter/i18n/tr.ts +126 -0
  57. package/src/tool/colorConverter/i18n/zh.ts +127 -0
  58. package/src/tool/colorConverter/index.ts +15 -7
  59. package/src/tool/conversorExcelCsvHtml/i18n/de.ts +129 -0
  60. package/src/tool/conversorExcelCsvHtml/i18n/id.ts +129 -0
  61. package/src/tool/conversorExcelCsvHtml/i18n/it.ts +129 -0
  62. package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +130 -0
  63. package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +130 -0
  64. package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +129 -0
  65. package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +129 -0
  66. package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +129 -0
  67. package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +129 -0
  68. package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +129 -0
  69. package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +129 -0
  70. package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +130 -0
  71. package/src/tool/conversorExcelCsvHtml/index.ts +15 -7
  72. package/src/tool/cronGenerator/i18n/de.ts +192 -0
  73. package/src/tool/cronGenerator/i18n/es.ts +2 -1
  74. package/src/tool/cronGenerator/i18n/fr.ts +2 -1
  75. package/src/tool/cronGenerator/i18n/id.ts +192 -0
  76. package/src/tool/cronGenerator/i18n/it.ts +192 -0
  77. package/src/tool/cronGenerator/i18n/ja.ts +192 -0
  78. package/src/tool/cronGenerator/i18n/ko.ts +192 -0
  79. package/src/tool/cronGenerator/i18n/nl.ts +192 -0
  80. package/src/tool/cronGenerator/i18n/pl.ts +192 -0
  81. package/src/tool/cronGenerator/i18n/pt.ts +192 -0
  82. package/src/tool/cronGenerator/i18n/ru.ts +192 -0
  83. package/src/tool/cronGenerator/i18n/sv.ts +192 -0
  84. package/src/tool/cronGenerator/i18n/tr.ts +192 -0
  85. package/src/tool/cronGenerator/i18n/zh.ts +192 -0
  86. package/src/tool/cronGenerator/index.ts +15 -7
  87. package/src/tool/cssSpecificityCalculator/i18n/de.ts +168 -0
  88. package/src/tool/cssSpecificityCalculator/i18n/id.ts +168 -0
  89. package/src/tool/cssSpecificityCalculator/i18n/it.ts +168 -0
  90. package/src/tool/cssSpecificityCalculator/i18n/ja.ts +169 -0
  91. package/src/tool/cssSpecificityCalculator/i18n/ko.ts +169 -0
  92. package/src/tool/cssSpecificityCalculator/i18n/nl.ts +168 -0
  93. package/src/tool/cssSpecificityCalculator/i18n/pl.ts +168 -0
  94. package/src/tool/cssSpecificityCalculator/i18n/pt.ts +168 -0
  95. package/src/tool/cssSpecificityCalculator/i18n/ru.ts +168 -0
  96. package/src/tool/cssSpecificityCalculator/i18n/sv.ts +168 -0
  97. package/src/tool/cssSpecificityCalculator/i18n/tr.ts +168 -0
  98. package/src/tool/cssSpecificityCalculator/i18n/zh.ts +169 -0
  99. package/src/tool/cssSpecificityCalculator/index.ts +15 -7
  100. package/src/tool/cssToInlineConverter/i18n/de.ts +160 -0
  101. package/src/tool/cssToInlineConverter/i18n/id.ts +160 -0
  102. package/src/tool/cssToInlineConverter/i18n/it.ts +160 -0
  103. package/src/tool/cssToInlineConverter/i18n/ja.ts +161 -0
  104. package/src/tool/cssToInlineConverter/i18n/ko.ts +161 -0
  105. package/src/tool/cssToInlineConverter/i18n/nl.ts +160 -0
  106. package/src/tool/cssToInlineConverter/i18n/pl.ts +160 -0
  107. package/src/tool/cssToInlineConverter/i18n/pt.ts +160 -0
  108. package/src/tool/cssToInlineConverter/i18n/ru.ts +160 -0
  109. package/src/tool/cssToInlineConverter/i18n/sv.ts +160 -0
  110. package/src/tool/cssToInlineConverter/i18n/tr.ts +160 -0
  111. package/src/tool/cssToInlineConverter/i18n/zh.ts +161 -0
  112. package/src/tool/cssToInlineConverter/index.ts +15 -7
  113. package/src/tool/duplicateCssRemover/i18n/de.ts +167 -0
  114. package/src/tool/duplicateCssRemover/i18n/id.ts +167 -0
  115. package/src/tool/duplicateCssRemover/i18n/it.ts +167 -0
  116. package/src/tool/duplicateCssRemover/i18n/ja.ts +168 -0
  117. package/src/tool/duplicateCssRemover/i18n/ko.ts +168 -0
  118. package/src/tool/duplicateCssRemover/i18n/nl.ts +167 -0
  119. package/src/tool/duplicateCssRemover/i18n/pl.ts +167 -0
  120. package/src/tool/duplicateCssRemover/i18n/pt.ts +167 -0
  121. package/src/tool/duplicateCssRemover/i18n/ru.ts +167 -0
  122. package/src/tool/duplicateCssRemover/i18n/sv.ts +167 -0
  123. package/src/tool/duplicateCssRemover/i18n/tr.ts +167 -0
  124. package/src/tool/duplicateCssRemover/i18n/zh.ts +168 -0
  125. package/src/tool/duplicateCssRemover/index.ts +15 -7
  126. package/src/tool/generadorSecurityTxt/i18n/de.ts +174 -0
  127. package/src/tool/generadorSecurityTxt/i18n/id.ts +174 -0
  128. package/src/tool/generadorSecurityTxt/i18n/it.ts +174 -0
  129. package/src/tool/generadorSecurityTxt/i18n/ja.ts +174 -0
  130. package/src/tool/generadorSecurityTxt/i18n/ko.ts +174 -0
  131. package/src/tool/generadorSecurityTxt/i18n/nl.ts +174 -0
  132. package/src/tool/generadorSecurityTxt/i18n/pl.ts +174 -0
  133. package/src/tool/generadorSecurityTxt/i18n/pt.ts +174 -0
  134. package/src/tool/generadorSecurityTxt/i18n/ru.ts +174 -0
  135. package/src/tool/generadorSecurityTxt/i18n/sv.ts +174 -0
  136. package/src/tool/generadorSecurityTxt/i18n/tr.ts +174 -0
  137. package/src/tool/generadorSecurityTxt/i18n/zh.ts +174 -0
  138. package/src/tool/generadorSecurityTxt/index.ts +15 -7
  139. package/src/tool/hashGenerator/i18n/de.ts +119 -0
  140. package/src/tool/hashGenerator/i18n/id.ts +119 -0
  141. package/src/tool/hashGenerator/i18n/it.ts +118 -0
  142. package/src/tool/hashGenerator/i18n/ja.ts +119 -0
  143. package/src/tool/hashGenerator/i18n/ko.ts +119 -0
  144. package/src/tool/hashGenerator/i18n/nl.ts +119 -0
  145. package/src/tool/hashGenerator/i18n/pl.ts +118 -0
  146. package/src/tool/hashGenerator/i18n/pt.ts +118 -0
  147. package/src/tool/hashGenerator/i18n/ru.ts +119 -0
  148. package/src/tool/hashGenerator/i18n/sv.ts +119 -0
  149. package/src/tool/hashGenerator/i18n/tr.ts +118 -0
  150. package/src/tool/hashGenerator/i18n/zh.ts +119 -0
  151. package/src/tool/hashGenerator/index.ts +15 -7
  152. package/src/tool/inspectorCertificadosSsl/i18n/de.ts +214 -0
  153. package/src/tool/inspectorCertificadosSsl/i18n/id.ts +215 -0
  154. package/src/tool/inspectorCertificadosSsl/i18n/it.ts +214 -0
  155. package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +215 -0
  156. package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +215 -0
  157. package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +215 -0
  158. package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +215 -0
  159. package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +214 -0
  160. package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +215 -0
  161. package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +215 -0
  162. package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +215 -0
  163. package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +215 -0
  164. package/src/tool/inspectorCertificadosSsl/index.ts +24 -0
  165. package/src/tool/jsonFormatter/i18n/de.ts +157 -0
  166. package/src/tool/jsonFormatter/i18n/es.ts +2 -1
  167. package/src/tool/jsonFormatter/i18n/fr.ts +2 -1
  168. package/src/tool/jsonFormatter/i18n/id.ts +157 -0
  169. package/src/tool/jsonFormatter/i18n/it.ts +156 -0
  170. package/src/tool/jsonFormatter/i18n/ja.ts +157 -0
  171. package/src/tool/jsonFormatter/i18n/ko.ts +157 -0
  172. package/src/tool/jsonFormatter/i18n/nl.ts +157 -0
  173. package/src/tool/jsonFormatter/i18n/pl.ts +156 -0
  174. package/src/tool/jsonFormatter/i18n/pt.ts +156 -0
  175. package/src/tool/jsonFormatter/i18n/ru.ts +157 -0
  176. package/src/tool/jsonFormatter/i18n/sv.ts +157 -0
  177. package/src/tool/jsonFormatter/i18n/tr.ts +157 -0
  178. package/src/tool/jsonFormatter/i18n/zh.ts +157 -0
  179. package/src/tool/jsonFormatter/index.ts +15 -7
  180. package/src/tool/keycode/i18n/de.ts +161 -0
  181. package/src/tool/keycode/i18n/es.ts +2 -1
  182. package/src/tool/keycode/i18n/fr.ts +2 -1
  183. package/src/tool/keycode/i18n/id.ts +161 -0
  184. package/src/tool/keycode/i18n/it.ts +161 -0
  185. package/src/tool/keycode/i18n/ja.ts +161 -0
  186. package/src/tool/keycode/i18n/ko.ts +161 -0
  187. package/src/tool/keycode/i18n/nl.ts +161 -0
  188. package/src/tool/keycode/i18n/pl.ts +161 -0
  189. package/src/tool/keycode/i18n/pt.ts +160 -0
  190. package/src/tool/keycode/i18n/ru.ts +160 -0
  191. package/src/tool/keycode/i18n/sv.ts +160 -0
  192. package/src/tool/keycode/i18n/tr.ts +160 -0
  193. package/src/tool/keycode/i18n/zh.ts +161 -0
  194. package/src/tool/keycode/index.ts +15 -7
  195. package/src/tool/llmCostCalculator/i18n/de.ts +166 -0
  196. package/src/tool/llmCostCalculator/i18n/fr.ts +2 -1
  197. package/src/tool/llmCostCalculator/i18n/id.ts +166 -0
  198. package/src/tool/llmCostCalculator/i18n/it.ts +166 -0
  199. package/src/tool/llmCostCalculator/i18n/ja.ts +166 -0
  200. package/src/tool/llmCostCalculator/i18n/ko.ts +166 -0
  201. package/src/tool/llmCostCalculator/i18n/nl.ts +166 -0
  202. package/src/tool/llmCostCalculator/i18n/pl.ts +165 -0
  203. package/src/tool/llmCostCalculator/i18n/pt.ts +165 -0
  204. package/src/tool/llmCostCalculator/i18n/ru.ts +165 -0
  205. package/src/tool/llmCostCalculator/i18n/sv.ts +165 -0
  206. package/src/tool/llmCostCalculator/i18n/tr.ts +165 -0
  207. package/src/tool/llmCostCalculator/i18n/zh.ts +166 -0
  208. package/src/tool/llmCostCalculator/index.ts +24 -0
  209. package/src/tool/mobileMockupGenerator/i18n/de.ts +121 -0
  210. package/src/tool/mobileMockupGenerator/i18n/id.ts +121 -0
  211. package/src/tool/mobileMockupGenerator/i18n/it.ts +121 -0
  212. package/src/tool/mobileMockupGenerator/i18n/ja.ts +122 -0
  213. package/src/tool/mobileMockupGenerator/i18n/ko.ts +122 -0
  214. package/src/tool/mobileMockupGenerator/i18n/nl.ts +121 -0
  215. package/src/tool/mobileMockupGenerator/i18n/pl.ts +31 -0
  216. package/src/tool/mobileMockupGenerator/i18n/pt.ts +121 -0
  217. package/src/tool/mobileMockupGenerator/i18n/ru.ts +121 -0
  218. package/src/tool/mobileMockupGenerator/i18n/sv.ts +121 -0
  219. package/src/tool/mobileMockupGenerator/i18n/tr.ts +121 -0
  220. package/src/tool/mobileMockupGenerator/i18n/zh.ts +122 -0
  221. package/src/tool/mobileMockupGenerator/index.ts +24 -0
  222. package/src/tool/musicalTypography/i18n/de.ts +179 -0
  223. package/src/tool/musicalTypography/i18n/id.ts +179 -0
  224. package/src/tool/musicalTypography/i18n/it.ts +179 -0
  225. package/src/tool/musicalTypography/i18n/ja.ts +180 -0
  226. package/src/tool/musicalTypography/i18n/ko.ts +180 -0
  227. package/src/tool/musicalTypography/i18n/nl.ts +179 -0
  228. package/src/tool/musicalTypography/i18n/pl.ts +179 -0
  229. package/src/tool/musicalTypography/i18n/pt.ts +101 -0
  230. package/src/tool/musicalTypography/i18n/ru.ts +47 -0
  231. package/src/tool/musicalTypography/i18n/sv.ts +29 -0
  232. package/src/tool/musicalTypography/i18n/tr.ts +29 -0
  233. package/src/tool/musicalTypography/i18n/zh.ts +30 -0
  234. package/src/tool/musicalTypography/index.ts +15 -7
  235. package/src/tool/placeholderGenerator/i18n/de.ts +176 -0
  236. package/src/tool/placeholderGenerator/i18n/id.ts +176 -0
  237. package/src/tool/placeholderGenerator/i18n/it.ts +176 -0
  238. package/src/tool/placeholderGenerator/i18n/ja.ts +177 -0
  239. package/src/tool/placeholderGenerator/i18n/ko.ts +177 -0
  240. package/src/tool/placeholderGenerator/i18n/nl.ts +176 -0
  241. package/src/tool/placeholderGenerator/i18n/pl.ts +176 -0
  242. package/src/tool/placeholderGenerator/i18n/pt.ts +176 -0
  243. package/src/tool/placeholderGenerator/i18n/ru.ts +176 -0
  244. package/src/tool/placeholderGenerator/i18n/sv.ts +176 -0
  245. package/src/tool/placeholderGenerator/i18n/tr.ts +176 -0
  246. package/src/tool/placeholderGenerator/i18n/zh.ts +177 -0
  247. package/src/tool/placeholderGenerator/index.ts +24 -0
  248. package/src/tool/promptLibrary/i18n/de.ts +131 -0
  249. package/src/tool/promptLibrary/i18n/id.ts +131 -0
  250. package/src/tool/promptLibrary/i18n/it.ts +131 -0
  251. package/src/tool/promptLibrary/i18n/ja.ts +132 -0
  252. package/src/tool/promptLibrary/i18n/ko.ts +132 -0
  253. package/src/tool/promptLibrary/i18n/nl.ts +131 -0
  254. package/src/tool/promptLibrary/i18n/pl.ts +28 -0
  255. package/src/tool/promptLibrary/i18n/pt.ts +101 -0
  256. package/src/tool/promptLibrary/i18n/ru.ts +101 -0
  257. package/src/tool/promptLibrary/i18n/sv.ts +93 -0
  258. package/src/tool/promptLibrary/i18n/tr.ts +93 -0
  259. package/src/tool/promptLibrary/i18n/zh.ts +94 -0
  260. package/src/tool/promptLibrary/index.ts +24 -0
  261. package/src/tool/readabilityCalculator/i18n/de.ts +133 -0
  262. package/src/tool/readabilityCalculator/i18n/id.ts +133 -0
  263. package/src/tool/readabilityCalculator/i18n/it.ts +133 -0
  264. package/src/tool/readabilityCalculator/i18n/ja.ts +134 -0
  265. package/src/tool/readabilityCalculator/i18n/ko.ts +134 -0
  266. package/src/tool/readabilityCalculator/i18n/nl.ts +133 -0
  267. package/src/tool/readabilityCalculator/i18n/pl.ts +29 -0
  268. package/src/tool/readabilityCalculator/i18n/pt.ts +91 -0
  269. package/src/tool/readabilityCalculator/i18n/ru.ts +91 -0
  270. package/src/tool/readabilityCalculator/i18n/sv.ts +43 -0
  271. package/src/tool/readabilityCalculator/i18n/tr.ts +43 -0
  272. package/src/tool/readabilityCalculator/i18n/zh.ts +44 -0
  273. package/src/tool/readabilityCalculator/index.ts +24 -0
  274. package/src/tool/svgSanitizer/i18n/de.ts +125 -0
  275. package/src/tool/svgSanitizer/i18n/id.ts +125 -0
  276. package/src/tool/svgSanitizer/i18n/it.ts +125 -0
  277. package/src/tool/svgSanitizer/i18n/ja.ts +126 -0
  278. package/src/tool/svgSanitizer/i18n/ko.ts +126 -0
  279. package/src/tool/svgSanitizer/i18n/nl.ts +125 -0
  280. package/src/tool/svgSanitizer/i18n/pl.ts +125 -0
  281. package/src/tool/svgSanitizer/i18n/pt.ts +30 -0
  282. package/src/tool/svgSanitizer/i18n/ru.ts +126 -0
  283. package/src/tool/svgSanitizer/i18n/sv.ts +126 -0
  284. package/src/tool/svgSanitizer/i18n/tr.ts +126 -0
  285. package/src/tool/svgSanitizer/i18n/zh.ts +126 -0
  286. package/src/tool/svgSanitizer/index.ts +24 -0
  287. package/src/tool/svgToCss/i18n/de.ts +174 -0
  288. package/src/tool/svgToCss/i18n/id.ts +174 -0
  289. package/src/tool/svgToCss/i18n/it.ts +174 -0
  290. package/src/tool/svgToCss/i18n/ja.ts +175 -0
  291. package/src/tool/svgToCss/i18n/ko.ts +175 -0
  292. package/src/tool/svgToCss/i18n/nl.ts +174 -0
  293. package/src/tool/svgToCss/i18n/pl.ts +174 -0
  294. package/src/tool/svgToCss/i18n/pt.ts +174 -0
  295. package/src/tool/svgToCss/i18n/ru.ts +174 -0
  296. package/src/tool/svgToCss/i18n/sv.ts +174 -0
  297. package/src/tool/svgToCss/i18n/tr.ts +174 -0
  298. package/src/tool/svgToCss/i18n/zh.ts +175 -0
  299. package/src/tool/svgToCss/index.ts +15 -7
  300. package/src/tool/urlCleaner/i18n/de.ts +116 -0
  301. package/src/tool/urlCleaner/i18n/id.ts +116 -0
  302. package/src/tool/urlCleaner/i18n/it.ts +116 -0
  303. package/src/tool/urlCleaner/i18n/ja.ts +117 -0
  304. package/src/tool/urlCleaner/i18n/ko.ts +117 -0
  305. package/src/tool/urlCleaner/i18n/nl.ts +116 -0
  306. package/src/tool/urlCleaner/i18n/pl.ts +29 -0
  307. package/src/tool/urlCleaner/i18n/pt.ts +43 -0
  308. package/src/tool/urlCleaner/i18n/ru.ts +43 -0
  309. package/src/tool/urlCleaner/i18n/sv.ts +43 -0
  310. package/src/tool/urlCleaner/i18n/tr.ts +43 -0
  311. package/src/tool/urlCleaner/i18n/zh.ts +44 -0
  312. package/src/tool/urlCleaner/index.ts +24 -0
  313. package/src/tool/urlEncoderDecoder/i18n/de.ts +163 -0
  314. package/src/tool/urlEncoderDecoder/i18n/id.ts +163 -0
  315. package/src/tool/urlEncoderDecoder/i18n/it.ts +163 -0
  316. package/src/tool/urlEncoderDecoder/i18n/ja.ts +163 -0
  317. package/src/tool/urlEncoderDecoder/i18n/ko.ts +163 -0
  318. package/src/tool/urlEncoderDecoder/i18n/nl.ts +163 -0
  319. package/src/tool/urlEncoderDecoder/i18n/pl.ts +162 -0
  320. package/src/tool/urlEncoderDecoder/i18n/pt.ts +162 -0
  321. package/src/tool/urlEncoderDecoder/i18n/ru.ts +163 -0
  322. package/src/tool/urlEncoderDecoder/i18n/sv.ts +163 -0
  323. package/src/tool/urlEncoderDecoder/i18n/tr.ts +162 -0
  324. package/src/tool/urlEncoderDecoder/i18n/zh.ts +163 -0
  325. package/src/tool/urlEncoderDecoder/index.ts +15 -7
  326. package/src/tool/utmGenerator/i18n/de.ts +118 -0
  327. package/src/tool/utmGenerator/i18n/id.ts +118 -0
  328. package/src/tool/utmGenerator/i18n/it.ts +118 -0
  329. package/src/tool/utmGenerator/i18n/ja.ts +118 -0
  330. package/src/tool/utmGenerator/i18n/ko.ts +118 -0
  331. package/src/tool/utmGenerator/i18n/nl.ts +118 -0
  332. package/src/tool/utmGenerator/i18n/pl.ts +117 -0
  333. package/src/tool/utmGenerator/i18n/pt.ts +118 -0
  334. package/src/tool/utmGenerator/i18n/ru.ts +118 -0
  335. package/src/tool/utmGenerator/i18n/sv.ts +118 -0
  336. package/src/tool/utmGenerator/i18n/tr.ts +117 -0
  337. package/src/tool/utmGenerator/i18n/zh.ts +118 -0
  338. package/src/tool/utmGenerator/index.ts +15 -7
  339. package/src/types.ts +1 -2
@@ -0,0 +1,126 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ColorConverterUI } from '../ui';
4
+
5
+ const slug = 'kleuren-converter-rgb-hex-hsl';
6
+ const title = 'Online Kleuren Converter RGB HEX en HSL';
7
+ const description = 'Converteer kleuren direct tussen RGB, HEX en HSL. Genereer complementaire kleurharmonieën en analyseer WCAG-contrast. 100% client-side en privé.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Hoe werkt de RGB naar HEX en HSL kleurenconverter?',
12
+ answer: 'De tool neemt Rood, Groen en Blauw (RGB) waarden en gebruikt wiskundige algoritmen om deze om te zetten naar hun hexadecimale (HEX) equivalent of Hue, Saturation, Lightness (HSL) waarden. Het werkt ook omgekeerd.',
13
+ },
14
+ {
15
+ question: 'Waarom zou ik HSL gebruiken in plaats van HEX in mijn ontwerpen?',
16
+ answer: 'Het HSL-formaat is veel intuïtiever. Het stelt je in staat om verzadiging of lichtheid aan te passen zonder de tint te veranderen, waardoor het veel gemakkelijker is om harmonische paletten of knopstatussen (hover, uitgeschakeld) te maken.',
17
+ },
18
+ {
19
+ question: 'Wat is de relatieve contrastwaarde?',
20
+ answer: 'Het is een maatstaf die de leesbaarheid van tekst tegen een achtergrond aangeeft op basis van de luminantie. Hoog contrast zorgt ervoor dat mensen met een visuele beperking de inhoud kunnen lezen, volgens de WCAG-toegankelijkheidsrichtlijnen.',
21
+ },
22
+ {
23
+ question: 'Is het veilig om deze online kleurenconverter te gebruiken?',
24
+ answer: 'Absoluut. Omdat het 100% client-side is, verlaten je kleurgegevens nooit je computer. Alle verwerking vindt rechtstreeks plaats in je browser, wat privacy en directe prestaties garandeert.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: 'Selecteer een Kleur', text: 'Gebruik de Rood, Groen en Blauw schuifregelaars of typ een HEX-code rechtstreeks in het tekstveld.' },
30
+ { name: 'Pas RGB-kanalen aan', text: 'Verschuif de regelaars om de intensiteit van elk kanaal te veranderen en zie de real-time update.' },
31
+ { name: 'Kopieer het Formaat', text: 'Klik op de kopieerknop naast het HEX-, RGB- of HSL-formaat dat je nodig hebt.' },
32
+ { name: 'Verken Harmonieën', text: 'Klik op de harmoniekleuren (complementair, analoog, triadisch) om ze naar het klembord te kopiëren.' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
51
+ };
52
+
53
+ const appSchema: WithContext<SoftwareApplication> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'SoftwareApplication',
56
+ name: title,
57
+ description,
58
+ applicationCategory: 'UtilityApplication',
59
+ operatingSystem: 'All',
60
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
61
+ inLanguage: 'nl',
62
+ };
63
+
64
+ const ui: ColorConverterUI = {
65
+ labelPreview: 'Voorbeeld (klik om HEX te kopiëren)',
66
+ labelHarmonies: 'Kleurharmonieën',
67
+ labelR: 'Rood',
68
+ labelG: 'Groen',
69
+ labelB: 'Blauw',
70
+ labelComp: 'Comp.',
71
+ labelAna1: 'Analoog 1',
72
+ labelAna2: 'Analoog 2',
73
+ labelTri1: 'Triadisch 1',
74
+ labelTri2: 'Triadisch 2',
75
+ btnCopy: 'Kopiëren',
76
+ btnCopied: 'Gekopieerd',
77
+ contrastLabel: 'Contrast',
78
+ clickToCopy: 'Klik om te kopiëren',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<ColorConverterUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ ui,
86
+ faqTitle: 'Veelgestelde Vragen',
87
+ faq: faqData,
88
+ bibliographyTitle: 'Kleur- en Webdesignbronnen',
89
+ bibliography: [
90
+ { name: 'W3C: CSS Kleur Documentatie', url: 'https://www.w3.org/TR/css-color-4/' },
91
+ { name: 'MDN: Gids voor HSL Kleurmodel', url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl' },
92
+ { name: 'WebAIM: Gids voor Contrast en Toegankelijkheid', url: 'https://webaim.org/resources/contrastchecker/' },
93
+ ],
94
+ howTo: howToData,
95
+ schemas: [faqSchema, howToSchema, appSchema],
96
+ seo: [
97
+ { type: 'title', text: 'RGB naar HEX en HSL Kleurenconverter voor Ontwikkelaars', level: 2 },
98
+ {
99
+ type: 'paragraph',
100
+ html: 'In de wereld van <strong>frontend development</strong> en <strong>UI/UX design</strong> is kleurbeheer een constante taak. Onze <strong>online kleurenconverter</strong> laat je waarden tussen <strong>HEX, RGB en HSL</strong> direct en met wiskundige precisie transformeren.',
101
+ },
102
+ { type: 'title', text: 'Kleurformaten: HEX, RGB en HSL', level: 3 },
103
+ {
104
+ type: 'list',
105
+ items: [
106
+ '<strong>HEX (Hexadecimaal):</strong> De de facto standaard voor CSS. Compact en gemakkelijk te delen in code.',
107
+ '<strong>RGB (Rood, Groen, Blauw):</strong> Gebaseerd op het additieve lichtsysteem. Ideaal voor het direct manipuleren van kanalen of het toepassen van transparantie met RGBA.',
108
+ '<strong>HSL (Hue, Saturation, Lightness):</strong> Het meest intuïtieve formaat. Pas tint, verzadiging en lichtheid aan om harmonische paletten te maken.',
109
+ ],
110
+ },
111
+ { type: 'title', text: 'Contrast en WCAG Toegankelijkheid', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'De calculator bevat een <strong>relatieve contrastmeting</strong> op basis van luminantie. Dit helpt je om te voldoen aan de <strong>WCAG</strong>-richtlijnen, zodat je tekst leesbaar is tegen de geselecteerde achtergronden.',
115
+ },
116
+ { type: 'title', text: 'Automatische Kleurharmonieën', level: 3 },
117
+ {
118
+ type: 'list',
119
+ items: [
120
+ '<strong>Complementair:</strong> De tegenoverliggende kleur op het kleurenwiel, ideaal voor maximaal contrast.',
121
+ '<strong>Analoog:</strong> Naastgelegen kleuren die vloeiende, harmonische overgangen creëren.',
122
+ '<strong>Triadisch:</strong> Drie kleuren op gelijke afstand voor levendige, uitgebalanceerde composities.',
123
+ ],
124
+ },
125
+ ],
126
+ };
@@ -0,0 +1,126 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ColorConverterUI } from '../ui';
4
+
5
+ const slug = 'konwerter-kolorow-rgb-hex-hsl';
6
+ const title = 'Internetowy konwerter kolorów RGB, HEX i HSL';
7
+ const description = 'Natychmiast konwertuj kolory między formatami RGB, HEX i HSL. Generuj komplementarne harmonie kolorów i analizuj kontrast WCAG. W 100% po stronie klienta i prywatnie.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Jak działa konwerter kolorów z RGB na HEX i HSL?',
12
+ answer: 'Narzędzie pobiera wartości czerwonego, zielonego i niebieskiego (RGB) i wykorzystuje algorytmy matematyczne do ich konwersji na odpowiednik szesnastkowy (HEX) lub wartości odcienia, nasycenia i jasności (HSL). Działa to również w drugą stronę.',
13
+ },
14
+ {
15
+ question: 'Dlaczego w moich projektach powinienem używać HSL zamiast HEX?',
16
+ answer: 'Format HSL jest znacznie bardziej intuicyjny. Pozwala na dostosowanie nasycenia lub jasności bez zmiany samego odcienia, co znacznie ułatwia tworzenie harmonijnych palet lub stanów przycisków (hover, disabled).',
17
+ },
18
+ {
19
+ question: 'Co to jest wartość kontrastu względnego?',
20
+ answer: 'Jest to wskaźnik określający czytelność tekstu na danym tle w oparciu o jego luminancję. Wysoki kontrast zapewnia osobom z niepełnosprawnościami wzroku możliwość odczytania treści, zgodnie z wytycznymi WCAG dotyczącymi dostępności.',
21
+ },
22
+ {
23
+ question: 'Czy korzystanie z tego konwertera kolorów online jest bezpieczne?',
24
+ answer: 'Absolutnie. Ponieważ narzędzie działa w 100% po stronie klienta, dane o Twoich kolorach nigdy nie opuszczają Twojego komputera. Całe przetwarzanie odbywa się bezpośrednio w przeglądarce, co gwarantuje prywatność i natychmiastowe działanie.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: 'Wybierz kolor', text: 'Użyj suwaków czerwonego, zielonego i niebieskiego lub wpisz kod HEX bezpośrednio w polu tekstowym.' },
30
+ { name: 'Dostosuj kanały RGB', text: 'Przesuń suwaki, aby zmienić intensywność każdego kanału i zobaczyć aktualizację w czasie rzeczywistym.' },
31
+ { name: 'Skopiuj format', text: 'Kliknij przycisk Kopiuj obok potrzebnego formatu HEX, RGB lub HSL.' },
32
+ { name: 'Eksploruj harmonie', text: 'Kliknij na kolory harmonii (komplementarne, analogiczne, triady), aby skopiować je do schowka.' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
51
+ };
52
+
53
+ const appSchema: WithContext<SoftwareApplication> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'SoftwareApplication',
56
+ name: title,
57
+ description,
58
+ applicationCategory: 'UtilityApplication',
59
+ operatingSystem: 'All',
60
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
61
+ inLanguage: 'pl',
62
+ };
63
+
64
+ const ui: ColorConverterUI = {
65
+ labelPreview: 'Podgląd (kliknij, aby skopiować HEX)',
66
+ labelHarmonies: 'Harmonie kolorów',
67
+ labelR: 'Czerwony',
68
+ labelG: 'Zielony',
69
+ labelB: 'Niebieski',
70
+ labelComp: 'Kompl.',
71
+ labelAna1: 'Analog. 1',
72
+ labelAna2: 'Analog. 2',
73
+ labelTri1: 'Triada 1',
74
+ labelTri2: 'Triada 2',
75
+ btnCopy: 'Kopiuj',
76
+ btnCopied: 'Skopiowano',
77
+ contrastLabel: 'Kontrast',
78
+ clickToCopy: 'Kliknij, aby skopiować',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<ColorConverterUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ ui,
86
+ faqTitle: 'Często zadawane pytania',
87
+ faq: faqData,
88
+ bibliographyTitle: 'Zasoby dotyczące kolorów i projektowania stron',
89
+ bibliography: [
90
+ { name: 'W3C: Dokumentacja kolorów CSS', url: 'https://www.w3.org/TR/css-color-4/' },
91
+ { name: 'MDN: Przewodnik po modelu kolorów HSL', url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl' },
92
+ { name: 'WebAIM: Przewodnik po kontraście i dostępności', url: 'https://webaim.org/resources/contrastchecker/' },
93
+ ],
94
+ howTo: howToData,
95
+ schemas: [faqSchema, howToSchema, appSchema],
96
+ seo: [
97
+ { type: 'title', text: 'Konwerter kolorów RGB na HEX i HSL dla programistów', level: 2 },
98
+ {
99
+ type: 'paragraph',
100
+ html: 'W świecie <strong>frontend developmentu</strong> i projektowania <strong>UI/UX</strong> zarządzanie kolorami jest stałym zadaniem. Nasz <strong>konwerter kolorów online</strong> pozwala na natychmiastową transformację wartości między formatami <strong>HEX, RGB i HSL</strong> z matematyczną precyzją.',
101
+ },
102
+ { type: 'title', text: 'Formaty kolorów: HEX, RGB i HSL', level: 3 },
103
+ {
104
+ type: 'list',
105
+ items: [
106
+ '<strong>HEX (szesnastkowy):</strong> standard de facto dla CSS. Kompaktowy i łatwy do udostępniania w kodzie.',
107
+ '<strong>RGB (Czerwony, Zielony, Niebieski):</strong> oparty na systemie światła addytywnego. Idealny do bezpośredniego manipulowania kanałami lub nakładania przezroczystości za pomocą RGBA.',
108
+ '<strong>HSL (Odcień, Nasycenie, Jasność):</strong> najbardziej intuicyjny format. Dostosuj odcień, nasycenie i jasność, aby tworzyć harmonijne palety.',
109
+ ],
110
+ },
111
+ { type: 'title', text: 'Kontrast i dostępność WCAG', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'Kalkulator zawiera pomiar <strong>kontrastu względnego</strong> opartego na luminancji. Pomaga to spełnić wytyczne <strong>WCAG</strong>, zapewniając czytelność tekstu na wybranych tłach.',
115
+ },
116
+ { type: 'title', text: 'Automatyczne harmonie kolorów', level: 3 },
117
+ {
118
+ type: 'list',
119
+ items: [
120
+ '<strong>Komplementarne:</strong> kolor przeciwny na kole kolorów, idealny dla uzyskania maksymalnego kontrastu.',
121
+ '<strong>Analogiczne:</strong> sąsiednie kolory, które tworzą gładkie, harmonijne przejścia.',
122
+ '<strong>Triady:</strong> trzy kolory w równej odległości dla uzyskania żywych, zrównoważonych kompozycji.',
123
+ ],
124
+ },
125
+ ],
126
+ };
@@ -0,0 +1,126 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ColorConverterUI } from '../ui';
4
+
5
+ const slug = 'conversor-de-cores-rgb-hex-hsl';
6
+ const title = 'Conversor de Cores Online RGB HEX e HSL';
7
+ const description = 'Converta cores entre RGB, HEX e HSL instantaneamente. Gere harmonias de cores complementares e analise o contraste WCAG. 100% no lado do cliente e privado.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Como funciona o conversor de cores de RGB para HEX e HSL?',
12
+ answer: 'A ferramenta recebe valores de Vermelho, Verde e Azul (RGB) e utiliza algoritmos matemáticos para convertê-los no seu equivalente hexadecimal (HEX) ou nos valores de Matiz, Saturação e Luminosidade (HSL). Também funciona no sentido inverso.',
13
+ },
14
+ {
15
+ question: 'Por que devo usar HSL em vez de HEX nos meus designs?',
16
+ answer: 'O formato HSL é muito mais intuitivo. Ele permite ajustar a saturação ou a luminosidade sem alterar a matiz, tornando muito mais fácil criar paletas harmônicas ou estados de botões (hover, desativado).',
17
+ },
18
+ {
19
+ question: 'O que é o valor de contraste relativo?',
20
+ answer: 'É uma métrica que indica a legibilidade do texto em relação a um fundo com base na sua luminância. O alto contraste garante que pessoas com deficiências visuais possam ler o conteúdo, seguendo as diretrizes de acessibilidade WCAG.',
21
+ },
22
+ {
23
+ question: 'É seguro usar este conversor de cores online?',
24
+ answer: 'Com certeza. Por ser 100% no lado do cliente, os dados das suas cores nunca saem do seu computador. Todo o processamento ocorre diretamente no seu navegador, garantindo privacidade e desempenho instantâneo.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: 'Selecione uma Cor', text: 'Use os seletores de Vermelho, Verde e Azul ou digite um código HEX diretamente no campo de texto.' },
30
+ { name: 'Ajuste os Canais RGB', text: 'Mova os seletores para alterar a intensidade de cada canal e veja a atualização em tempo real.' },
31
+ { name: 'Copie o Formato', text: 'Clique no botão Copiar ao lado do formato HEX, RGB ou HSL conforme necessário.' },
32
+ { name: 'Explore Harmonias', text: 'Clique nas cores de harmonia (complementar, análoga, triádica) para copiá-las para a área de transferência.' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
51
+ };
52
+
53
+ const appSchema: WithContext<SoftwareApplication> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'SoftwareApplication',
56
+ name: title,
57
+ description,
58
+ applicationCategory: 'UtilityApplication',
59
+ operatingSystem: 'All',
60
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
61
+ inLanguage: 'pt',
62
+ };
63
+
64
+ const ui: ColorConverterUI = {
65
+ labelPreview: 'Pré-visualização (clique para copiar HEX)',
66
+ labelHarmonies: 'Harmonias de Cores',
67
+ labelR: 'Vermelho',
68
+ labelG: 'Verde',
69
+ labelB: 'Azul',
70
+ labelComp: 'Comp.',
71
+ labelAna1: 'Análoga 1',
72
+ labelAna2: 'Análoga 2',
73
+ labelTri1: 'Triádica 1',
74
+ labelTri2: 'Triádica 2',
75
+ btnCopy: 'Copiar',
76
+ btnCopied: 'Copiado',
77
+ contrastLabel: 'Contraste',
78
+ clickToCopy: 'Clique para copiar',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<ColorConverterUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ ui,
86
+ faqTitle: 'Perguntas Frequentes',
87
+ faq: faqData,
88
+ bibliographyTitle: 'Recursos de Cores e Web Design',
89
+ bibliography: [
90
+ { name: 'W3C: Documentação de Cores CSS', url: 'https://www.w3.org/TR/css-color-4/' },
91
+ { name: 'MDN: Guia do Modelo de Cores HSL', url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl' },
92
+ { name: 'WebAIM: Guia de Contraste e Acessibilidade', url: 'https://webaim.org/resources/contrastchecker/' },
93
+ ],
94
+ howTo: howToData,
95
+ schemas: [faqSchema, howToSchema, appSchema],
96
+ seo: [
97
+ { type: 'title', text: 'Conversor de Cores RGB para HEX e HSL para Desenvolvedores', level: 2 },
98
+ {
99
+ type: 'paragraph',
100
+ html: 'No mundo do <strong>desenvolvimento frontend</strong> e do <strong>design UI/UX</strong>, o gerenciamento de cores é uma tarefa constante. Nosso <strong>conversor de cores online</strong> permite transformar valores entre <strong>HEX, RGB e HSL</strong> instantaneamente e com precisão matemática.',
101
+ },
102
+ { type: 'title', text: 'Formatos de Cores: HEX, RGB e HSL', level: 3 },
103
+ {
104
+ type: 'list',
105
+ items: [
106
+ '<strong>HEX (Hexadecimal):</strong> O padrão de fato para CSS. Compacto e fácil de compartilhar no código.',
107
+ '<strong>RGB (Vermelho, Verde, Azul):</strong> Baseado no sistema de luz aditiva. Ideal para manipular canais diretamente ou aplicar transparência com RGBA.',
108
+ '<strong>HSL (Matiz, Saturação, Luminosidade):</strong> O formato mais intuitivo. Ajuste matiz, saturação e luminosidade para criar paletas harmônicas.',
109
+ ],
110
+ },
111
+ { type: 'title', text: 'Contraste e Acessibilidade WCAG', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'A calculadora inclui uma medição de <strong>contraste relativo</strong> baseada na luminância. Isso ajuda você a cumprir as diretrizes <strong>WCAG</strong>, garantindo que o seu texto seja legível em relação aos fundos selecionados.',
115
+ },
116
+ { type: 'title', text: 'Harmonias de Cores Automáticas', level: 3 },
117
+ {
118
+ type: 'list',
119
+ items: [
120
+ '<strong>Complementar:</strong> A cor oposta na roda de cores, ideal para contraste máximo.',
121
+ '<strong>Análoga:</strong> Cores adjacentes que criam transições suaves e harmônicas.',
122
+ '<strong>Triádica:</strong> Três cores equidistantes para composições vibrantes e equilibradas.',
123
+ ],
124
+ },
125
+ ],
126
+ };
@@ -0,0 +1,126 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ColorConverterUI } from '../ui';
4
+
5
+ const slug = 'cvhetovoj-konverter-rgb-hex-hsl';
6
+ const title = 'Онлайн конвертер цветов RGB, HEX и HSL';
7
+ const description = 'Мгновенно конвертируйте цвета между RGB, HEX и HSL. Генерируйте комплементарные цветовые гармонии и анализируйте контрастность по WCAG. 100% на стороне клиента и приватно.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Как работает конвертер цветов RGB в HEX и HSL?',
12
+ answer: 'Инструмент принимает значения красного, зеленого и синего (RGB) и использует математические алгоритмы для их преобразования в шестнадцатеричный эквивалент (HEX) или значения тона, насыщенности и светлоты (HSL). Он также работает в обратном порядке.',
13
+ },
14
+ {
15
+ question: 'Почему в своих проектах мне стоит использовать HSL вместо HEX?',
16
+ answer: 'Формат HSL гораздо более интуитивно понятен. Он позволяет настраивать насыщенность или светлоту без изменения самого цветового тона, что значительно упрощает создание гармоничных палитр или состояний кнопок (при наведении, отключено).',
17
+ },
18
+ {
19
+ question: 'Что такое значение относительной контрастности?',
20
+ answer: 'Это показатель, который указывает на читаемость текста на фоне на основе его яркости. Высокая контрастность гарантирует, что люди с нарушениями зрения смогут прочитать контент в соответствии с рекомендациями по доступности WCAG.',
21
+ },
22
+ {
23
+ question: 'Безопасно ли использовать этот онлайн-конвертер цветов?',
24
+ answer: 'Безусловно. Поскольку он на 100% работает на стороне клиента, ваши данные о цвете никогда не покидают ваш компьютер. Вся обработка происходит прямо в вашем браузере, что гарантирует конфиденциальность и мгновенную работу.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: 'Выберите цвет', text: 'Используйте ползунки красного, зеленого и синего или введите HEX-код прямо в текстовое поле.' },
30
+ { name: 'Настройте каналы RGB', text: 'Передвигайте ползунки, чтобы изменить интенсивность каждого канала и увидеть обновление в режиме реального времени.' },
31
+ { name: 'Скопируйте формат', text: 'Нажмите кнопку «Копировать» рядом с нужным форматом HEX, RGB или HSL.' },
32
+ { name: 'Исследуйте гармонии', text: 'Нажмите на гармоничные цвета (комплементарные, аналогичные, триадические), чтобы скопировать их в буфер обмена.' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
51
+ };
52
+
53
+ const appSchema: WithContext<SoftwareApplication> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'SoftwareApplication',
56
+ name: title,
57
+ description,
58
+ applicationCategory: 'UtilityApplication',
59
+ operatingSystem: 'All',
60
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
61
+ inLanguage: 'ru',
62
+ };
63
+
64
+ const ui: ColorConverterUI = {
65
+ labelPreview: 'Предпросмотр (нажмите, чтобы скопировать HEX)',
66
+ labelHarmonies: 'Цветовые гармонии',
67
+ labelR: 'Красный',
68
+ labelG: 'Зеленый',
69
+ labelB: 'Синий',
70
+ labelComp: 'Компл.',
71
+ labelAna1: 'Аналог. 1',
72
+ labelAna2: 'Аналог. 2',
73
+ labelTri1: 'Триада 1',
74
+ labelTri2: 'Триада 2',
75
+ btnCopy: 'Копировать',
76
+ btnCopied: 'Скопировано',
77
+ contrastLabel: 'Контрастность',
78
+ clickToCopy: 'Нажмите, чтобы скопировать',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<ColorConverterUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ ui,
86
+ faqTitle: 'Часто задаваемые вопросы',
87
+ faq: faqData,
88
+ bibliographyTitle: 'Ресурсы по цвету и веб-дизайну',
89
+ bibliography: [
90
+ { name: 'W3C: Документация по цветам в CSS', url: 'https://www.w3.org/TR/css-color-4/' },
91
+ { name: 'MDN: Руководство по цветовой модели HSL', url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl' },
92
+ { name: 'WebAIM: Руководство по контрастности и доступности', url: 'https://webaim.org/resources/contrastchecker/' },
93
+ ],
94
+ howTo: howToData,
95
+ schemas: [faqSchema, howToSchema, appSchema],
96
+ seo: [
97
+ { type: 'title', text: 'Конвертер цветов RGB в HEX и HSL для разработчиков', level: 2 },
98
+ {
99
+ type: 'paragraph',
100
+ html: 'В мире <strong>frontend-разработки</strong> и <strong>UI/UX дизайна</strong> управление цветом — это постоянная задача. Наш <strong>онлайн-конвертер цветов</strong> позволяет мгновенно и с математической точностью преобразовывать значения между <strong>HEX, RGB и HSL</strong>.',
101
+ },
102
+ { type: 'title', text: 'Форматы цветов: HEX, RGB и HSL', level: 3 },
103
+ {
104
+ type: 'list',
105
+ items: [
106
+ '<strong>HEX (шестнадцатеричный):</strong> стандарт де-факто для CSS. Компактный и удобный для обмена в коде.',
107
+ '<strong>RGB (Красный, Зеленый, Синий):</strong> на основе аддитивной системы света. Идеально подходит для прямого манипулирования каналами или применения прозрачности с помощью RGBA.',
108
+ '<strong>HSL (Цветовой тон, Насыщенность, Светлота):</strong> самый интуитивно понятный формат. Настраивайте тон, насыщенность и светлоту для создания гармоничных палитр.',
109
+ ],
110
+ },
111
+ { type: 'title', text: 'Контрастность и доступность по WCAG', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'Калькулятор включает измерение <strong>относительной контрастности</strong> на основе яркости. Это помогает вам соблюдать рекомендации <strong>WCAG</strong>, гарантируя читаемость вашего текста на выбранном фоне.',
115
+ },
116
+ { type: 'title', text: 'Автоматические цветовые гармонии', level: 3 },
117
+ {
118
+ type: 'list',
119
+ items: [
120
+ '<strong>Комплементарные:</strong> противоположный цвет на цветовом круге, идеально подходит для максимального контраста.',
121
+ '<strong>Аналогичные:</strong> соседние цвета, которые создают плавные, гармоничные переходы.',
122
+ '<strong>Триадические:</strong> три равноудаленных цвета для ярких, сбалансированных композиций.',
123
+ ],
124
+ },
125
+ ],
126
+ };
@@ -0,0 +1,126 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { ColorConverterUI } from '../ui';
4
+
5
+ const slug = 'fargkonverterare-rgb-hex-hsl';
6
+ const title = 'Online Färgkonverterare RGB HEX och HSL';
7
+ const description = 'Konvertera färger mellan RGB, HEX och HSL direkt. Skapa komplementära färgkombinationer och analysera WCAG-kontrast. 100 % körs lokalt i webbläsaren.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Hur fungerar färgkonverteraren för RGB till HEX och HSL?',
12
+ answer: 'Verktyget tar värden för rött, grönt och blått (RGB) och använder matematiska algoritmer för att omvandla dem till deras hexadekimala (HEX) motsvarighet eller värden för nyans, mättnad och ljusstyrka (HSL). Det fungerar även åt andra hållet.',
13
+ },
14
+ {
15
+ question: 'Varför ska jag använda HSL istället för HEX i mina designer?',
16
+ answer: 'HSL-formatet är mycket mer intuitivt. Det gör att du kan justera mättnad eller ljusstyrka utan att ändra själva färgtonen, vilket gör det mycket enklare att skapa harmoniska paletter eller knapplägen (hover, inaktiverad).',
17
+ },
18
+ {
19
+ question: 'Vad är det relativa kontrastvärdet?',
20
+ answer: 'Det är ett mått som anger läsbarheten för text mot en bakgrund baserat på dess luminans. Hög kontrast säkerställer att personer med synnedsättning kan läsa innehållet, i enlighet med WCAG:s riktlinjer för tillgänglighet.',
21
+ },
22
+ {
23
+ question: 'Är det säkert att använda denna online färgkonverterare?',
24
+ answer: 'Absolut. Eftersom den körs till 100 % på klientsidan lämnar dina färgdata aldrig din dator. All process sker direkt i din webbläsare, vilket garanterar integritet och omedelbar prestanda.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: 'Välj en färg', text: 'Använd skjutreglagen för rött, grönt och blått eller skriv in en HEX-kod direkt i textfältet.' },
30
+ { name: 'Justera RGB-kanaler', text: 'Flytta skjutreglagen för att ändra intensiteten för varje kanal och se uppdateringen i realtid.' },
31
+ { name: 'Kopiera formatet', text: 'Klicka på knappen "Kopiera" bredvid det HEX-, RGB- eller HSL-format du behöver.' },
32
+ { name: 'Utforska harmonier', text: 'Klicka på harmonifärgerna (komplementär, analog, triadisk) för att kopiera dem till urklipp.' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
51
+ };
52
+
53
+ const appSchema: WithContext<SoftwareApplication> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'SoftwareApplication',
56
+ name: title,
57
+ description,
58
+ applicationCategory: 'UtilityApplication',
59
+ operatingSystem: 'All',
60
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
61
+ inLanguage: 'sv',
62
+ };
63
+
64
+ const ui: ColorConverterUI = {
65
+ labelPreview: 'Förhandsgranskning (klicka för att kopiera HEX)',
66
+ labelHarmonies: 'Färgharmonier',
67
+ labelR: 'Röd',
68
+ labelG: 'Grön',
69
+ labelB: 'Blå',
70
+ labelComp: 'Komp.',
71
+ labelAna1: 'Analog 1',
72
+ labelAna2: 'Analog 2',
73
+ labelTri1: 'Triad 1',
74
+ labelTri2: 'Triad 2',
75
+ btnCopy: 'Kopiera',
76
+ btnCopied: 'Kopierad',
77
+ contrastLabel: 'Kontrast',
78
+ clickToCopy: 'Klicka för att kopiera',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<ColorConverterUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ ui,
86
+ faqTitle: 'Vanliga frågor',
87
+ faq: faqData,
88
+ bibliographyTitle: 'Resurser för färg och webbdesign',
89
+ bibliography: [
90
+ { name: 'W3C: CSS färg-dokumentation', url: 'https://www.w3.org/TR/css-color-4/' },
91
+ { name: 'MDN: Guide till HSL-färgmodellen', url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl' },
92
+ { name: 'WebAIM: Guide till kontrast och tillgänglighet', url: 'https://webaim.org/resources/contrastchecker/' },
93
+ ],
94
+ howTo: howToData,
95
+ schemas: [faqSchema, howToSchema, appSchema],
96
+ seo: [
97
+ { type: 'title', text: 'RGB till HEX och HSL färgkonverterare för utvecklare', level: 2 },
98
+ {
99
+ type: 'paragraph',
100
+ html: 'I världen av <strong>frontend-utveckling</strong> och <strong>UI/UX-design</strong> är färgoptimering en ständig uppgift. Vår <strong>online färgkonverterare</strong> låter dig transformera värden mellan <strong>HEX, RGB och HSL</strong> direkt och med matematisk precision.',
101
+ },
102
+ { type: 'title', text: 'Färgformat: HEX, RGB och HSL', level: 3 },
103
+ {
104
+ type: 'list',
105
+ items: [
106
+ '<strong>HEX (Hexadecimal):</strong> De facto-standarden för CSS. Kompakt och lätt att dela i kod.',
107
+ '<strong>RGB (Röd, Grön, Blå):</strong> Baserat på det additiva ljussystemet. Idealiskt för att manipulera kanaler direkt eller använda transparens med RGBA.',
108
+ '<strong>HSL (Nyans, Mättnad, Ljusstyrka):</strong> Det mest intuitiva formatet. Justera nyans, mättnad och ljusstyrka för att skapa harmoniska paletter.',
109
+ ],
110
+ },
111
+ { type: 'title', text: 'Kontrast och WCAG-tillgänglighet', level: 3 },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'Kalkylatorn inkluderar en mätning av <strong>relativ kontrast</strong> baserad på luminans. Detta hjälper dig att uppfylla <strong>WCAG</strong>-riktlinjerna och säkerställa att din text är läsbar mot valda bakgrunder.',
115
+ },
116
+ { type: 'title', text: 'Automatiska färgharmonier', level: 3 },
117
+ {
118
+ type: 'list',
119
+ items: [
120
+ '<strong>Komplementär:</strong> Motsatt färg i färgcirkeln, perfekt för maximal kontrast.',
121
+ '<strong>Analog:</strong> Intilliggande färger som skapar mjuka, harmoniska övergångar.',
122
+ '<strong>Triadisk:</strong> Tre färger med lika avstånd för livfulla och balanserade kompositioner.',
123
+ ],
124
+ },
125
+ ],
126
+ };