@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,192 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CronGeneratorUI } from '../ui';
4
+
5
+ const slug = 'cron-sv';
6
+ const title = 'Online Cron Expression Generator. Översättare och visualisera';
7
+ const description =
8
+ 'Gratis visuellt verktyg för att generera Linux Cron-uttryck. Översätter * * * * * till mänskligt språk och visar de nästa 5 körningarna i realtid.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Vad är ett Cron-uttryck?',
13
+ answer:
14
+ 'Det är en textsträng som representerar ett körschema för automatiska uppgifter på Unix-liknande system (Linux, macOS). Det består av 5 fält som definierar minuter, timmar, dag i månaden, månad och veckodag.',
15
+ },
16
+ {
17
+ question: 'Är det kompatibelt med alla system?',
18
+ answer:
19
+ 'Ja, de genererade uttrycken följer POSIX-standarden, kompatibla med Linux Crontab, macOS cron och molntjänster som AWS CloudWatch eller GitHub Actions.',
20
+ },
21
+ {
22
+ question: 'Vad betyder asterisk (*) i Cron?',
23
+ answer:
24
+ 'Asterisken är ett jokertecken som betyder "alla". Till exempel betyder en * i fältet för minuter att uppgiften kommer att köras varje minut i det definierade intervallet.',
25
+ },
26
+ {
27
+ question: 'Hur kan jag kontrollera kommande körningar?',
28
+ answer:
29
+ 'Verktyget innehåller en realtidsvy som visar exakt de nästa 5 datumen och tiderna då din uppgift kommer att köras enligt det aktuella uttrycket.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Välj intervall',
36
+ text: 'Välj hur ofta du vill att uppgiften ska köras med hjälp av snabbinställningarna (varje minut, varje timme, dagligen, etc.).',
37
+ },
38
+ {
39
+ name: 'Konfigurera avancerade detaljer',
40
+ text: 'Byt till fliken "Avancerat" för att manuellt definiera exakta minuter, timmar eller specifika veckodagar.',
41
+ },
42
+ {
43
+ name: 'Verifiera översättning och datum',
44
+ text: 'Läs beskrivningen på mänskligt språk och kontrollera de nästa 5 körningarna för att bekräfta att schemat är korrekt.',
45
+ },
46
+ {
47
+ name: 'Kopiera uttrycket',
48
+ text: 'Kopiera den resulterande strängen och klistra in den direkt i din crontab-fil eller serverkonfiguration.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowToThing> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'sv',
84
+ };
85
+
86
+ const ui: CronGeneratorUI = {
87
+ labelMinute: 'Minut',
88
+ labelHour: 'Timme',
89
+ labelDom: 'Dag (månad)',
90
+ labelMonth: 'Månad',
91
+ labelDow: 'Dag (vecka)',
92
+ tabQuick: 'Snabb',
93
+ tabAdvanced: 'Avancerad',
94
+ fieldMinute: 'Minut (0-59)',
95
+ fieldHour: 'Timme (0-23)',
96
+ fieldDom: 'Dag i månaden (1-31)',
97
+ fieldMonth: 'Månad (1-12)',
98
+ fieldDow: 'Veckodag (0-6)',
99
+ hintMinute: 'T.ex.: *, */5, 0,30',
100
+ hintDow: '0 = Söndag, 6 = Lördag',
101
+ labelNextRuns: 'Nästa körningar',
102
+ btnCopy: 'Kopiera uttryck',
103
+ btnCopied: 'Kopierat!',
104
+ msgNoRuns: 'Inga kommande körningar hittades inom ett rimligt intervall.',
105
+ msgError: 'Fel vid beräkning av datum.',
106
+ presetEveryMinute: 'Varje minut',
107
+ presetEveryHour: 'Varje timme',
108
+ presetDaily: 'Dagligen',
109
+ presetWeekly: 'Veckovis',
110
+ presetMonthly: 'Månadsvis',
111
+ presetYearly: 'Årligen',
112
+ descEveryMinute: 'Körs varje minut',
113
+ descEveryHour: 'Körs i början av varje timme',
114
+ descEveryDay: 'Körs varje dag vid midnatt',
115
+ descPrefix: 'Körs',
116
+ descEveryMin: 'varje minut',
117
+ descEveryHourOnDot: 'varje heltimme',
118
+ descAtMinute: 'vid minut {m} varje timme',
119
+ descAtTime: 'klockan {h}:{m}',
120
+ descOnDay: ' den {d}:e i månaden',
121
+ descInMonth: ' i månad {mon}',
122
+ descIfDow: ' om det är dag {d} (0=Sön, 6=Lör)',
123
+ descDays: 'Söndag,Måndag,Tisdag,Onsdag,Torsdag,Fredag,Lördag',
124
+ descInvalid: 'Ogiltigt uttryck',
125
+ timeNow: 'nu',
126
+ timeMin: 'min',
127
+ timeHour: 'h',
128
+ timeDays: 'dagar',
129
+ locale: 'sv-SE',
130
+ };
131
+
132
+ export const content: ToolLocaleContent<CronGeneratorUI> = {
133
+ slug,
134
+ title,
135
+ description,
136
+ ui,
137
+ faqTitle: 'Vanliga frågor',
138
+ faq: faqData,
139
+ bibliographyTitle: 'Referenser och dokumentation',
140
+ bibliography: [
141
+ {
142
+ name: 'GNU Crontab Manual: Cron-uttryck på Linux',
143
+ url: 'https://www.gnu.org/software/mcron/manual/html_node/Crontab-file.html',
144
+ },
145
+ {
146
+ name: 'Cron på Wikipedia: Historia och syntax',
147
+ url: 'https://sv.wikipedia.org/wiki/Cron',
148
+ },
149
+ ],
150
+ howTo: howToData,
151
+ schemas: [faqSchema, howToSchema, appSchema],
152
+ seo: [
153
+ {
154
+ type: 'title',
155
+ text: 'Vikten av Cron i modern automatisering',
156
+ level: 2,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: 'Trots att vi lever i en tid av <em>serverless</em>-servrar och molnbaserade arbetsflöden, förblir <strong>Crontab</strong>-systemet ryggraden i den globala teknikinfrastrukturen. Från små bloggar till massiva bankinfrastrukturer är schemaläggning av uppgifter det som håller den digitala världen igång.',
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Anatomin hos ett Cron-uttryck',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>Fält 1 - Minut (0-59):</strong> När uppgiften startar inom timmen.',
171
+ '<strong>Fält 2 - Timme (0-23):</strong> 24-timmarsformat krävs.',
172
+ '<strong>Fält 3 - Dag i månaden (1-31):</strong> Specifik kalenderdag.',
173
+ '<strong>Fält 4 - Månad (1-12):</strong> Från januari till december.',
174
+ '<strong>Fält 5 - Veckodag (0-6):</strong> 0 är vanligtvis söndag.',
175
+ ],
176
+ },
177
+ {
178
+ type: 'title',
179
+ text: 'Specialoperatorer och vanliga misstag',
180
+ level: 3,
181
+ },
182
+ {
183
+ type: 'tip',
184
+ html: 'Använd snedstreck <code>/</code> för att definiera steg: <code>*/5</code> i minuter körs var 5:e minut. Komma <code>,</code> skapar listor (<code>1,3,5</code>) och bindestreck <code>-</code> definierar intervall (<code>1-5</code>).',
185
+ },
186
+ {
187
+ type: 'paragraph',
188
+ html: '90 % av alla servrar körs på <strong>UTC</strong>. Om du schemalägger en uppgift kl. 02:00 med din lokala tidszon i åtanke, kan den köras vid en oväntad tidpunkt. Cron har dessutom inte tillgång till din vanliga <code>$PATH</code> – använd alltid absoluta sökvägar som <code>/usr/local/bin/node</code>.',
189
+ },
190
+ ],
191
+ };
192
+
@@ -0,0 +1,192 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CronGeneratorUI } from '../ui';
4
+
5
+ const slug = 'cron-tr';
6
+ const title = 'Online Cron İfadesi Oluşturucu. Çevirmen ve Görselleştirici';
7
+ const description =
8
+ 'Linux Cron ifadeleri oluşturmak için ücretsiz görsel araç. * * * * * ifadesini insan diline çevirir ve sonraki 5 çalışmayı gerçek zamanlı olarak gösterir.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Cron ifadesi nedir?',
13
+ answer:
14
+ 'Unix benzeri sistemlerde (Linux, macOS) otomatik görevler için bir yürütme programını temsil eden bir metin dizesidir. Dakika, saat, ayın günü, ay ve haftanın gününü tanımlayan 5 alandan oluşur.',
15
+ },
16
+ {
17
+ question: 'Tüm sistemlerle uyumlu mu?',
18
+ answer:
19
+ 'Evet, oluşturulan ifadeler POSIX standardını takip eder; Linux Crontab, macOS cron\'ları ve AWS CloudWatch veya GitHub Actions gibi bulut hizmetleriyle uyumludur.',
20
+ },
21
+ {
22
+ question: 'Cron\'da yıldız işareti (*) ne anlama gelir?',
23
+ answer:
24
+ 'Yıldız işareti "tümü" anlamına gelen bir joker karakterdir. Örneğin, dakika alanındaki bir *, görevin tanımlanan aralığın her dakikasında çalışacağı anlamına gelir.',
25
+ },
26
+ {
27
+ question: 'Gelecekteki çalışmaları nasıl kontrol edebilirim?',
28
+ answer:
29
+ 'Araç, görevinizin mevcut ifadeye göre çalışacağı sonraki tam 5 tarih ve saati gösteren gerçek zamanlı bir görüntüleyici içerir.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Aralığı seçin',
36
+ text: 'Hızlı ön ayarları (her dakika, her saat, günlük vb.) kullanarak görevin ne sıklıkta çalışmasını istediğinizi seçin.',
37
+ },
38
+ {
39
+ name: 'Gelişmiş ayrıntıları yapılandırın',
40
+ text: 'Tam dakikaları, saatleri veya haftanın belirli günlerini manuel olarak tanımlamak için "Gelişmiş" sekmesine geçin.',
41
+ },
42
+ {
43
+ name: 'Çeviriyi ve tarihleri doğrulayın',
44
+ text: 'İnsan dili açıklamasını okuyun ve programın doğru olduğunu onaylamak için sonraki 5 çalışmayı kontrol edin.',
45
+ },
46
+ {
47
+ name: 'İfadeyi kopyalayın',
48
+ text: 'Sonuç dizesini kopyalayın ve doğrudan crontab dosyanıza veya sunucu yapılandırmanıza yapıştırın.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowToThing> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'tr',
84
+ };
85
+
86
+ const ui: CronGeneratorUI = {
87
+ labelMinute: 'Dakika',
88
+ labelHour: 'Saat',
89
+ labelDom: 'Gün (Ay)',
90
+ labelMonth: 'Ay',
91
+ labelDow: 'Gün (Hafta)',
92
+ tabQuick: 'Hızlı',
93
+ tabAdvanced: 'Gelişmiş',
94
+ fieldMinute: 'Dakika (0-59)',
95
+ fieldHour: 'Saat (0-23)',
96
+ fieldDom: 'Ayın Günü (1-31)',
97
+ fieldMonth: 'Ay (1-12)',
98
+ fieldDow: 'Haftanın Günü (0-6)',
99
+ hintMinute: 'Örn: *, */5, 0,30',
100
+ hintDow: '0 = Pazar, 6 = Cumartesi',
101
+ labelNextRuns: 'Sonraki Çalışmalar',
102
+ btnCopy: 'İfadeyi Kopyala',
103
+ btnCopied: 'Kopyalandı!',
104
+ msgNoRuns: 'Makul bir aralıkta yaklaşan çalışma bulunamadı.',
105
+ msgError: 'Tarihler hesaplanırken hata oluştu.',
106
+ presetEveryMinute: 'Her dakika',
107
+ presetEveryHour: 'Her saat',
108
+ presetDaily: 'Günlük',
109
+ presetWeekly: 'Haftalık',
110
+ presetMonthly: 'Aylık',
111
+ presetYearly: 'Yıllık',
112
+ descEveryMinute: 'Her dakika çalışır',
113
+ descEveryHour: 'Her saatin başında çalışır',
114
+ descEveryDay: 'Her gün gece yarısı çalışır',
115
+ descPrefix: 'Çalışma zamanı:',
116
+ descEveryMin: 'her dakika',
117
+ descEveryHourOnDot: 'her saat başında',
118
+ descAtMinute: 'her saatin {m}. dakikasında',
119
+ descAtTime: 'saat {h}:{m}\'de',
120
+ descOnDay: ' ayın {d}. gününde',
121
+ descInMonth: ' {mon}. ayda',
122
+ descIfDow: ' eğer gün {d} ise (0=Paz, 6=Cmt)',
123
+ descDays: 'Pazar,Pazartesi,Salı,Çarşamba,Perşembe,Cuma,Cumartesi',
124
+ descInvalid: 'Geçersiz ifade',
125
+ timeNow: 'şimdi',
126
+ timeMin: 'dk',
127
+ timeHour: 'sa',
128
+ timeDays: 'gün',
129
+ locale: 'tr-TR',
130
+ };
131
+
132
+ export const content: ToolLocaleContent<CronGeneratorUI> = {
133
+ slug,
134
+ title,
135
+ description,
136
+ ui,
137
+ faqTitle: 'Sıkça Sorulan Sorular',
138
+ faq: faqData,
139
+ bibliographyTitle: 'Referanslar ve Dokümantasyon',
140
+ bibliography: [
141
+ {
142
+ name: 'GNU Crontab Kılavuzu: Linux\'ta Cron İfadeleri',
143
+ url: 'https://www.gnu.org/software/mcron/manual/html_node/Crontab-file.html',
144
+ },
145
+ {
146
+ name: 'Wikipedia\'da Cron: Tarihçe ve Sözdizimi',
147
+ url: 'https://tr.wikipedia.org/wiki/Cron',
148
+ },
149
+ ],
150
+ howTo: howToData,
151
+ schemas: [faqSchema, howToSchema, appSchema],
152
+ seo: [
153
+ {
154
+ type: 'title',
155
+ text: 'Modern Otomasyonda Cron\'un Önemi',
156
+ level: 2,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: '<em>Sunucusuz</em> sunucular ve bulut iş akışları çağında yaşamamıza rağmen, <strong>Crontab</strong> sistemi küresel teknoloji altyapısının temel taşı olmaya devam ediyor. Küçük bloglardan devasa bankacılık altyapılarına kadar görev zamanlaması, dijital dünyanın çalışmasını sağlayan şeydir.',
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Bir Cron İfadesinin Anatomisi',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>Alan 1 - Dakika (0-59):</strong> Görevin saat içinde ne zaman başlayacağı.',
171
+ '<strong>Alan 2 - Saat (0-23):</strong> 24 saatlik format gereklidir.',
172
+ '<strong>Alan 3 - Ayın Günü (1-31):</strong> Belirli takvim günü.',
173
+ '<strong>Alan 4 - Ay (1-12):</strong> Ocak\'tan Aralık\'a kadar.',
174
+ '<strong>Alan 5 - Haftanın Günü (0-6):</strong> 0 tipik olarak Pazar\'dır.',
175
+ ],
176
+ },
177
+ {
178
+ type: 'title',
179
+ text: 'Özel operatörler ve yaygın hatalar',
180
+ level: 3,
181
+ },
182
+ {
183
+ type: 'tip',
184
+ html: 'Adımları tanımlamak için eğik çizgi <code>/</code> kullanın: Dakikalarda <code>*/5</code> her 5 dakikada bir çalışır. Virgül <code>,</code> listeler oluşturur (<code>1,3,5</code>) ve tire <code>-</code> aralıkları tanımlar (<code>1-5</code>).',
185
+ },
186
+ {
187
+ type: 'paragraph',
188
+ html: 'Sunucuların %90\'ı <strong>UTC</strong> ile çalışır. Yerel saat diliminizi düşünerek saat 02:00\'de bir görev planlarsanız, beklenmedik bir zamanda çalışabilir. Ayrıca Cron, normal <code>$PATH</code> yolunuza erişemez; her zaman <code>/usr/local/bin/node</code> gibi mutlak yollar kullanın.',
189
+ },
190
+ ],
191
+ };
192
+
@@ -0,0 +1,192 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { CronGeneratorUI } from '../ui';
4
+
5
+ const slug = 'cron';
6
+ const title = '在线 Cron 表达式生成器:翻译与可视化';
7
+ const description =
8
+ '免费的 Linux Cron 表达式生成工具。将 * * * * * 翻译成人类语言,并实时显示接下来的 5 次执行时间。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '什么是 Cron 表达式?',
13
+ answer:
14
+ '它是一个文本字符串,代表类 Unix 系统(Linux、macOS)上自动任务的执行计划。它由 5 个字段组成,分别定义分钟、小时、日期、月份和星期。',
15
+ },
16
+ {
17
+ question: '它是否兼容所有系统?',
18
+ answer:
19
+ '是的,生成的表达式遵循 POSIX 标准,兼容 Linux Crontab、macOS cron 以及 AWS CloudWatch 或 GitHub Actions 等云服务。',
20
+ },
21
+ {
22
+ question: 'Cron 中的星号 (*) 是什么意思?',
23
+ answer:
24
+ '星号是一个通配符,表示“所有”。例如,分钟字段中的 * 表示任务将在定义范围内的每分钟运行。',
25
+ },
26
+ {
27
+ question: '如何检查即将进行的执行?',
28
+ answer:
29
+ '该工具包含一个实时查看器,可根据当前表达式准确显示任务下次运行的 5 个日期和时间。',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: '选择时间间隔',
36
+ text: '使用快速预设(每分钟、每小时、每日等)选择您希望任务运行的频率。',
37
+ },
38
+ {
39
+ name: '配置高级细节',
40
+ text: '切换到“高级”选项卡,手动定义具体的分钟、小时或特定的星期。',
41
+ },
42
+ {
43
+ name: '验证翻译和日期',
44
+ text: '阅读人类语言描述并检查接下来的 5 次执行,以确认计划是否正确。',
45
+ },
46
+ {
47
+ name: '复制表达式',
48
+ text: '复制生成的字符串并将其直接粘贴到您的 crontab 文件或服务器配置中。',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowToThing> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'CNY' },
83
+ inLanguage: 'zh',
84
+ };
85
+
86
+ const ui: CronGeneratorUI = {
87
+ labelMinute: '分钟',
88
+ labelHour: '小时',
89
+ labelDom: '日期 (月)',
90
+ labelMonth: '月份',
91
+ labelDow: '星期 (周)',
92
+ tabQuick: '快速',
93
+ tabAdvanced: '高级',
94
+ fieldMinute: '分钟 (0-59)',
95
+ fieldHour: '小时 (0-23)',
96
+ fieldDom: '一个月中的第几天 (1-31)',
97
+ fieldMonth: '月份 (1-12)',
98
+ fieldDow: '一星期中的第几天 (0-6)',
99
+ hintMinute: '例如:*, */5, 0,30',
100
+ hintDow: '0 = 星期日, 6 = 星期六',
101
+ labelNextRuns: '下次执行计划',
102
+ btnCopy: '复制表达式',
103
+ btnCopied: '已复制!',
104
+ msgNoRuns: '在合理范围内未发现即将进行的执行。',
105
+ msgError: '计算日期时出错。',
106
+ presetEveryMinute: '每分钟',
107
+ presetEveryHour: '每小时',
108
+ presetDaily: '每日',
109
+ presetWeekly: '每周',
110
+ presetMonthly: '每月',
111
+ presetYearly: '每年',
112
+ descEveryMinute: '每分钟运行一次',
113
+ descEveryHour: '每小时开始时运行',
114
+ descEveryDay: '每天午夜运行',
115
+ descPrefix: '运行时间:',
116
+ descEveryMin: '每分钟',
117
+ descEveryHourOnDot: '每整点',
118
+ descAtMinute: '每小时的第 {m} 分钟',
119
+ descAtTime: '{h}:{m}',
120
+ descOnDay: ' 每月的第 {d} 天',
121
+ descInMonth: ' 第 {mon} 个月',
122
+ descIfDow: ' 如果是星期 {d} (0=周日, 6=周六)',
123
+ descDays: '星期日,星期一,星期二,星期三,星期四,星期五,星期六',
124
+ descInvalid: '无效的表达式',
125
+ timeNow: '现在',
126
+ timeMin: '分',
127
+ timeHour: '小时',
128
+ timeDays: '天',
129
+ locale: 'zh-CN',
130
+ };
131
+
132
+ export const content: ToolLocaleContent<CronGeneratorUI> = {
133
+ slug,
134
+ title,
135
+ description,
136
+ ui,
137
+ faqTitle: '常见问题',
138
+ faq: faqData,
139
+ bibliographyTitle: '参考资料与文档',
140
+ bibliography: [
141
+ {
142
+ name: 'GNU Crontab 手册:Linux 上的 Cron 表达式',
143
+ url: 'https://www.gnu.org/software/mcron/manual/html_node/Crontab-file.html',
144
+ },
145
+ {
146
+ name: '维基百科 Cron:历史与语法',
147
+ url: 'https://zh.wikipedia.org/wiki/Cron',
148
+ },
149
+ ],
150
+ howTo: howToData,
151
+ schemas: [faqSchema, howToSchema, appSchema],
152
+ seo: [
153
+ {
154
+ type: 'title',
155
+ text: 'Cron 在现代自动化中的重要性',
156
+ level: 2,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: '虽然我们生活在<em>无服务器</em>架构和云工作流的时代,但 <strong>Crontab</strong> 系统仍然是全球技术基础设施的支柱。从小型博客到庞大的银行基础设施,任务调度是保持数字世界运行的重要机制。',
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Cron 表达式的剖析',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>字段 1 - 分钟 (0-59):</strong> 任务在一小时内的什么时候开始。',
171
+ '<strong>字段 2 - 小时 (0-23):</strong> 需要使用 24 小时制格式。',
172
+ '<strong>字段 3 - 一个月中的第几天 (1-31):</strong> 特定的日历日期。',
173
+ '<strong>字段 4 - 月份 (1-12):</strong> 从一月到十二月。',
174
+ '<strong>字段 5 - 一星期中的第几天 (0-6):</strong> 0 通常表示星期日。',
175
+ ],
176
+ },
177
+ {
178
+ type: 'title',
179
+ text: '特殊操作符与常见错误',
180
+ level: 3,
181
+ },
182
+ {
183
+ type: 'tip',
184
+ html: '使用斜杠 <code>/</code> 来定义步进:在分钟字段中 <code>*/5</code> 表示每 5 分钟运行一次。逗号 <code>,</code> 用于创建列表 (<code>1,3,5</code>),连字符 <code>-</code> 用于定义范围 (<code>1-5</code>)。',
185
+ },
186
+ {
187
+ type: 'paragraph',
188
+ html: '90% 的服务器运行在 <strong>UTC</strong> 时间。如果您按照当地时区计划在凌晨 02:00 运行任务,它可能会在意外的时间执行。此外,Cron 无法直接访问您的 <code>$PATH</code> 变量 —— 请始终使用绝对路径,例如 <code>/usr/local/bin/node</code>。',
189
+ },
190
+ ],
191
+ };
192
+
@@ -7,10 +7,6 @@ import type { CronGeneratorUI } from './ui';
7
7
 
8
8
  export type CronGeneratorLocaleContent = ToolLocaleContent<CronGeneratorUI>;
9
9
 
10
- import { content as es } from './i18n/es';
11
- import { content as en } from './i18n/en';
12
- import { content as fr } from './i18n/fr';
13
-
14
10
  export const cronGenerator: DeveloperToolEntry<CronGeneratorUI> = {
15
11
  id: 'cron-generator',
16
12
  icons: {
@@ -18,9 +14,21 @@ export const cronGenerator: DeveloperToolEntry<CronGeneratorUI> = {
18
14
  fg: 'mdi:code-braces',
19
15
  },
20
16
  i18n: {
21
- es: async () => es,
22
- en: async () => en,
23
- fr: async () => fr,
17
+ de: async () => (await import('./i18n/de')).content,
18
+ en: async () => (await import('./i18n/en')).content,
19
+ es: async () => (await import('./i18n/es')).content,
20
+ fr: async () => (await import('./i18n/fr')).content,
21
+ id: async () => (await import('./i18n/id')).content,
22
+ it: async () => (await import('./i18n/it')).content,
23
+ ja: async () => (await import('./i18n/ja')).content,
24
+ ko: async () => (await import('./i18n/ko')).content,
25
+ nl: async () => (await import('./i18n/nl')).content,
26
+ pl: async () => (await import('./i18n/pl')).content,
27
+ pt: async () => (await import('./i18n/pt')).content,
28
+ ru: async () => (await import('./i18n/ru')).content,
29
+ sv: async () => (await import('./i18n/sv')).content,
30
+ tr: async () => (await import('./i18n/tr')).content,
31
+ zh: async () => (await import('./i18n/zh')).content,
24
32
  },
25
33
  };
26
34