@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.
- package/package.json +2 -1
- package/src/category/i18n/de.ts +34 -0
- package/src/category/i18n/id.ts +34 -0
- package/src/category/i18n/it.ts +34 -0
- package/src/category/i18n/ja.ts +34 -0
- package/src/category/i18n/ko.ts +34 -0
- package/src/category/i18n/nl.ts +34 -0
- package/src/category/i18n/pl.ts +34 -0
- package/src/category/i18n/pt.ts +34 -0
- package/src/category/i18n/ru.ts +34 -0
- package/src/category/i18n/sv.ts +34 -0
- package/src/category/i18n/tr.ts +34 -0
- package/src/category/i18n/zh.ts +34 -0
- package/src/category/index.ts +13 -1
- package/src/index.ts +12 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tool/aspectRatio/i18n/de.ts +177 -0
- package/src/tool/aspectRatio/i18n/id.ts +177 -0
- package/src/tool/aspectRatio/i18n/it.ts +177 -0
- package/src/tool/aspectRatio/i18n/ja.ts +178 -0
- package/src/tool/aspectRatio/i18n/ko.ts +178 -0
- package/src/tool/aspectRatio/i18n/nl.ts +178 -0
- package/src/tool/aspectRatio/i18n/pl.ts +177 -0
- package/src/tool/aspectRatio/i18n/pt.ts +177 -0
- package/src/tool/aspectRatio/i18n/ru.ts +177 -0
- package/src/tool/aspectRatio/i18n/sv.ts +177 -0
- package/src/tool/aspectRatio/i18n/tr.ts +177 -0
- package/src/tool/aspectRatio/i18n/zh.ts +178 -0
- package/src/tool/aspectRatio/index.ts +15 -7
- package/src/tool/calculadoraTiempoDatos/i18n/de.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/id.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/it.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +151 -0
- package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +151 -0
- package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +151 -0
- package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +151 -0
- package/src/tool/calculadoraTiempoDatos/index.ts +15 -7
- package/src/tool/colorConverter/i18n/de.ts +126 -0
- package/src/tool/colorConverter/i18n/id.ts +126 -0
- package/src/tool/colorConverter/i18n/it.ts +126 -0
- package/src/tool/colorConverter/i18n/ja.ts +127 -0
- package/src/tool/colorConverter/i18n/ko.ts +127 -0
- package/src/tool/colorConverter/i18n/nl.ts +126 -0
- package/src/tool/colorConverter/i18n/pl.ts +126 -0
- package/src/tool/colorConverter/i18n/pt.ts +126 -0
- package/src/tool/colorConverter/i18n/ru.ts +126 -0
- package/src/tool/colorConverter/i18n/sv.ts +126 -0
- package/src/tool/colorConverter/i18n/tr.ts +126 -0
- package/src/tool/colorConverter/i18n/zh.ts +127 -0
- package/src/tool/colorConverter/index.ts +15 -7
- package/src/tool/conversorExcelCsvHtml/i18n/de.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/id.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/it.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +130 -0
- package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +130 -0
- package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +130 -0
- package/src/tool/conversorExcelCsvHtml/index.ts +15 -7
- package/src/tool/cronGenerator/i18n/de.ts +192 -0
- package/src/tool/cronGenerator/i18n/es.ts +2 -1
- package/src/tool/cronGenerator/i18n/fr.ts +2 -1
- package/src/tool/cronGenerator/i18n/id.ts +192 -0
- package/src/tool/cronGenerator/i18n/it.ts +192 -0
- package/src/tool/cronGenerator/i18n/ja.ts +192 -0
- package/src/tool/cronGenerator/i18n/ko.ts +192 -0
- package/src/tool/cronGenerator/i18n/nl.ts +192 -0
- package/src/tool/cronGenerator/i18n/pl.ts +192 -0
- package/src/tool/cronGenerator/i18n/pt.ts +192 -0
- package/src/tool/cronGenerator/i18n/ru.ts +192 -0
- package/src/tool/cronGenerator/i18n/sv.ts +192 -0
- package/src/tool/cronGenerator/i18n/tr.ts +192 -0
- package/src/tool/cronGenerator/i18n/zh.ts +192 -0
- package/src/tool/cronGenerator/index.ts +15 -7
- package/src/tool/cssSpecificityCalculator/i18n/de.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/id.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/it.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/ja.ts +169 -0
- package/src/tool/cssSpecificityCalculator/i18n/ko.ts +169 -0
- package/src/tool/cssSpecificityCalculator/i18n/nl.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/pl.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/pt.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/ru.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/sv.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/tr.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/zh.ts +169 -0
- package/src/tool/cssSpecificityCalculator/index.ts +15 -7
- package/src/tool/cssToInlineConverter/i18n/de.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/id.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/it.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/ja.ts +161 -0
- package/src/tool/cssToInlineConverter/i18n/ko.ts +161 -0
- package/src/tool/cssToInlineConverter/i18n/nl.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/pl.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/pt.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/ru.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/sv.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/tr.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/zh.ts +161 -0
- package/src/tool/cssToInlineConverter/index.ts +15 -7
- package/src/tool/duplicateCssRemover/i18n/de.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/id.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/it.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/ja.ts +168 -0
- package/src/tool/duplicateCssRemover/i18n/ko.ts +168 -0
- package/src/tool/duplicateCssRemover/i18n/nl.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/pl.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/pt.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/ru.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/sv.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/tr.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/zh.ts +168 -0
- package/src/tool/duplicateCssRemover/index.ts +15 -7
- package/src/tool/generadorSecurityTxt/i18n/de.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/id.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/it.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/ja.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/ko.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/nl.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/pl.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/pt.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/ru.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/sv.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/tr.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/zh.ts +174 -0
- package/src/tool/generadorSecurityTxt/index.ts +15 -7
- package/src/tool/hashGenerator/i18n/de.ts +119 -0
- package/src/tool/hashGenerator/i18n/id.ts +119 -0
- package/src/tool/hashGenerator/i18n/it.ts +118 -0
- package/src/tool/hashGenerator/i18n/ja.ts +119 -0
- package/src/tool/hashGenerator/i18n/ko.ts +119 -0
- package/src/tool/hashGenerator/i18n/nl.ts +119 -0
- package/src/tool/hashGenerator/i18n/pl.ts +118 -0
- package/src/tool/hashGenerator/i18n/pt.ts +118 -0
- package/src/tool/hashGenerator/i18n/ru.ts +119 -0
- package/src/tool/hashGenerator/i18n/sv.ts +119 -0
- package/src/tool/hashGenerator/i18n/tr.ts +118 -0
- package/src/tool/hashGenerator/i18n/zh.ts +119 -0
- package/src/tool/hashGenerator/index.ts +15 -7
- package/src/tool/inspectorCertificadosSsl/i18n/de.ts +214 -0
- package/src/tool/inspectorCertificadosSsl/i18n/id.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/it.ts +214 -0
- package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +214 -0
- package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/index.ts +24 -0
- package/src/tool/jsonFormatter/i18n/de.ts +157 -0
- package/src/tool/jsonFormatter/i18n/es.ts +2 -1
- package/src/tool/jsonFormatter/i18n/fr.ts +2 -1
- package/src/tool/jsonFormatter/i18n/id.ts +157 -0
- package/src/tool/jsonFormatter/i18n/it.ts +156 -0
- package/src/tool/jsonFormatter/i18n/ja.ts +157 -0
- package/src/tool/jsonFormatter/i18n/ko.ts +157 -0
- package/src/tool/jsonFormatter/i18n/nl.ts +157 -0
- package/src/tool/jsonFormatter/i18n/pl.ts +156 -0
- package/src/tool/jsonFormatter/i18n/pt.ts +156 -0
- package/src/tool/jsonFormatter/i18n/ru.ts +157 -0
- package/src/tool/jsonFormatter/i18n/sv.ts +157 -0
- package/src/tool/jsonFormatter/i18n/tr.ts +157 -0
- package/src/tool/jsonFormatter/i18n/zh.ts +157 -0
- package/src/tool/jsonFormatter/index.ts +15 -7
- package/src/tool/keycode/i18n/de.ts +161 -0
- package/src/tool/keycode/i18n/es.ts +2 -1
- package/src/tool/keycode/i18n/fr.ts +2 -1
- package/src/tool/keycode/i18n/id.ts +161 -0
- package/src/tool/keycode/i18n/it.ts +161 -0
- package/src/tool/keycode/i18n/ja.ts +161 -0
- package/src/tool/keycode/i18n/ko.ts +161 -0
- package/src/tool/keycode/i18n/nl.ts +161 -0
- package/src/tool/keycode/i18n/pl.ts +161 -0
- package/src/tool/keycode/i18n/pt.ts +160 -0
- package/src/tool/keycode/i18n/ru.ts +160 -0
- package/src/tool/keycode/i18n/sv.ts +160 -0
- package/src/tool/keycode/i18n/tr.ts +160 -0
- package/src/tool/keycode/i18n/zh.ts +161 -0
- package/src/tool/keycode/index.ts +15 -7
- package/src/tool/llmCostCalculator/i18n/de.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/fr.ts +2 -1
- package/src/tool/llmCostCalculator/i18n/id.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/it.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/ja.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/ko.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/nl.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/pl.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/pt.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/ru.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/sv.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/tr.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/zh.ts +166 -0
- package/src/tool/llmCostCalculator/index.ts +24 -0
- package/src/tool/mobileMockupGenerator/i18n/de.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/id.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/it.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/ja.ts +122 -0
- package/src/tool/mobileMockupGenerator/i18n/ko.ts +122 -0
- package/src/tool/mobileMockupGenerator/i18n/nl.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/pl.ts +31 -0
- package/src/tool/mobileMockupGenerator/i18n/pt.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/ru.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/sv.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/tr.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/zh.ts +122 -0
- package/src/tool/mobileMockupGenerator/index.ts +24 -0
- package/src/tool/musicalTypography/i18n/de.ts +179 -0
- package/src/tool/musicalTypography/i18n/id.ts +179 -0
- package/src/tool/musicalTypography/i18n/it.ts +179 -0
- package/src/tool/musicalTypography/i18n/ja.ts +180 -0
- package/src/tool/musicalTypography/i18n/ko.ts +180 -0
- package/src/tool/musicalTypography/i18n/nl.ts +179 -0
- package/src/tool/musicalTypography/i18n/pl.ts +179 -0
- package/src/tool/musicalTypography/i18n/pt.ts +101 -0
- package/src/tool/musicalTypography/i18n/ru.ts +47 -0
- package/src/tool/musicalTypography/i18n/sv.ts +29 -0
- package/src/tool/musicalTypography/i18n/tr.ts +29 -0
- package/src/tool/musicalTypography/i18n/zh.ts +30 -0
- package/src/tool/musicalTypography/index.ts +15 -7
- package/src/tool/placeholderGenerator/i18n/de.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/id.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/it.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/ja.ts +177 -0
- package/src/tool/placeholderGenerator/i18n/ko.ts +177 -0
- package/src/tool/placeholderGenerator/i18n/nl.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/pl.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/pt.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/ru.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/sv.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/tr.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/zh.ts +177 -0
- package/src/tool/placeholderGenerator/index.ts +24 -0
- package/src/tool/promptLibrary/i18n/de.ts +131 -0
- package/src/tool/promptLibrary/i18n/id.ts +131 -0
- package/src/tool/promptLibrary/i18n/it.ts +131 -0
- package/src/tool/promptLibrary/i18n/ja.ts +132 -0
- package/src/tool/promptLibrary/i18n/ko.ts +132 -0
- package/src/tool/promptLibrary/i18n/nl.ts +131 -0
- package/src/tool/promptLibrary/i18n/pl.ts +28 -0
- package/src/tool/promptLibrary/i18n/pt.ts +101 -0
- package/src/tool/promptLibrary/i18n/ru.ts +101 -0
- package/src/tool/promptLibrary/i18n/sv.ts +93 -0
- package/src/tool/promptLibrary/i18n/tr.ts +93 -0
- package/src/tool/promptLibrary/i18n/zh.ts +94 -0
- package/src/tool/promptLibrary/index.ts +24 -0
- package/src/tool/readabilityCalculator/i18n/de.ts +133 -0
- package/src/tool/readabilityCalculator/i18n/id.ts +133 -0
- package/src/tool/readabilityCalculator/i18n/it.ts +133 -0
- package/src/tool/readabilityCalculator/i18n/ja.ts +134 -0
- package/src/tool/readabilityCalculator/i18n/ko.ts +134 -0
- package/src/tool/readabilityCalculator/i18n/nl.ts +133 -0
- package/src/tool/readabilityCalculator/i18n/pl.ts +29 -0
- package/src/tool/readabilityCalculator/i18n/pt.ts +91 -0
- package/src/tool/readabilityCalculator/i18n/ru.ts +91 -0
- package/src/tool/readabilityCalculator/i18n/sv.ts +43 -0
- package/src/tool/readabilityCalculator/i18n/tr.ts +43 -0
- package/src/tool/readabilityCalculator/i18n/zh.ts +44 -0
- package/src/tool/readabilityCalculator/index.ts +24 -0
- package/src/tool/svgSanitizer/i18n/de.ts +125 -0
- package/src/tool/svgSanitizer/i18n/id.ts +125 -0
- package/src/tool/svgSanitizer/i18n/it.ts +125 -0
- package/src/tool/svgSanitizer/i18n/ja.ts +126 -0
- package/src/tool/svgSanitizer/i18n/ko.ts +126 -0
- package/src/tool/svgSanitizer/i18n/nl.ts +125 -0
- package/src/tool/svgSanitizer/i18n/pl.ts +125 -0
- package/src/tool/svgSanitizer/i18n/pt.ts +30 -0
- package/src/tool/svgSanitizer/i18n/ru.ts +126 -0
- package/src/tool/svgSanitizer/i18n/sv.ts +126 -0
- package/src/tool/svgSanitizer/i18n/tr.ts +126 -0
- package/src/tool/svgSanitizer/i18n/zh.ts +126 -0
- package/src/tool/svgSanitizer/index.ts +24 -0
- package/src/tool/svgToCss/i18n/de.ts +174 -0
- package/src/tool/svgToCss/i18n/id.ts +174 -0
- package/src/tool/svgToCss/i18n/it.ts +174 -0
- package/src/tool/svgToCss/i18n/ja.ts +175 -0
- package/src/tool/svgToCss/i18n/ko.ts +175 -0
- package/src/tool/svgToCss/i18n/nl.ts +174 -0
- package/src/tool/svgToCss/i18n/pl.ts +174 -0
- package/src/tool/svgToCss/i18n/pt.ts +174 -0
- package/src/tool/svgToCss/i18n/ru.ts +174 -0
- package/src/tool/svgToCss/i18n/sv.ts +174 -0
- package/src/tool/svgToCss/i18n/tr.ts +174 -0
- package/src/tool/svgToCss/i18n/zh.ts +175 -0
- package/src/tool/svgToCss/index.ts +15 -7
- package/src/tool/urlCleaner/i18n/de.ts +116 -0
- package/src/tool/urlCleaner/i18n/id.ts +116 -0
- package/src/tool/urlCleaner/i18n/it.ts +116 -0
- package/src/tool/urlCleaner/i18n/ja.ts +117 -0
- package/src/tool/urlCleaner/i18n/ko.ts +117 -0
- package/src/tool/urlCleaner/i18n/nl.ts +116 -0
- package/src/tool/urlCleaner/i18n/pl.ts +29 -0
- package/src/tool/urlCleaner/i18n/pt.ts +43 -0
- package/src/tool/urlCleaner/i18n/ru.ts +43 -0
- package/src/tool/urlCleaner/i18n/sv.ts +43 -0
- package/src/tool/urlCleaner/i18n/tr.ts +43 -0
- package/src/tool/urlCleaner/i18n/zh.ts +44 -0
- package/src/tool/urlCleaner/index.ts +24 -0
- package/src/tool/urlEncoderDecoder/i18n/de.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/id.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/it.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/ja.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/ko.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/nl.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/pl.ts +162 -0
- package/src/tool/urlEncoderDecoder/i18n/pt.ts +162 -0
- package/src/tool/urlEncoderDecoder/i18n/ru.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/sv.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/tr.ts +162 -0
- package/src/tool/urlEncoderDecoder/i18n/zh.ts +163 -0
- package/src/tool/urlEncoderDecoder/index.ts +15 -7
- package/src/tool/utmGenerator/i18n/de.ts +118 -0
- package/src/tool/utmGenerator/i18n/id.ts +118 -0
- package/src/tool/utmGenerator/i18n/it.ts +118 -0
- package/src/tool/utmGenerator/i18n/ja.ts +118 -0
- package/src/tool/utmGenerator/i18n/ko.ts +118 -0
- package/src/tool/utmGenerator/i18n/nl.ts +118 -0
- package/src/tool/utmGenerator/i18n/pl.ts +117 -0
- package/src/tool/utmGenerator/i18n/pt.ts +118 -0
- package/src/tool/utmGenerator/i18n/ru.ts +118 -0
- package/src/tool/utmGenerator/i18n/sv.ts +118 -0
- package/src/tool/utmGenerator/i18n/tr.ts +117 -0
- package/src/tool/utmGenerator/i18n/zh.ts +118 -0
- package/src/tool/utmGenerator/index.ts +15 -7
- package/src/types.ts +1 -2
|
@@ -6,10 +6,6 @@ import type { ConversorExcelCsvHtmlUI } from './ui';
|
|
|
6
6
|
|
|
7
7
|
export type ConversorExcelCsvHtmlLocaleContent = ToolLocaleContent<ConversorExcelCsvHtmlUI>;
|
|
8
8
|
|
|
9
|
-
import { content as es } from './i18n/es';
|
|
10
|
-
import { content as en } from './i18n/en';
|
|
11
|
-
import { content as fr } from './i18n/fr';
|
|
12
|
-
|
|
13
9
|
export const conversorExcelCsvHtml: DeveloperToolEntry<ConversorExcelCsvHtmlUI> = {
|
|
14
10
|
id: 'conversor-excel-csv-html',
|
|
15
11
|
icons: {
|
|
@@ -17,9 +13,21 @@ export const conversorExcelCsvHtml: DeveloperToolEntry<ConversorExcelCsvHtmlUI>
|
|
|
17
13
|
fg: 'mdi:file-delimited',
|
|
18
14
|
},
|
|
19
15
|
i18n: {
|
|
20
|
-
|
|
21
|
-
en: async () => en,
|
|
22
|
-
|
|
16
|
+
de: async () => (await import('./i18n/de')).content,
|
|
17
|
+
en: async () => (await import('./i18n/en')).content,
|
|
18
|
+
es: async () => (await import('./i18n/es')).content,
|
|
19
|
+
fr: async () => (await import('./i18n/fr')).content,
|
|
20
|
+
id: async () => (await import('./i18n/id')).content,
|
|
21
|
+
it: async () => (await import('./i18n/it')).content,
|
|
22
|
+
ja: async () => (await import('./i18n/ja')).content,
|
|
23
|
+
ko: async () => (await import('./i18n/ko')).content,
|
|
24
|
+
nl: async () => (await import('./i18n/nl')).content,
|
|
25
|
+
pl: async () => (await import('./i18n/pl')).content,
|
|
26
|
+
pt: async () => (await import('./i18n/pt')).content,
|
|
27
|
+
ru: async () => (await import('./i18n/ru')).content,
|
|
28
|
+
sv: async () => (await import('./i18n/sv')).content,
|
|
29
|
+
tr: async () => (await import('./i18n/tr')).content,
|
|
30
|
+
zh: async () => (await import('./i18n/zh')).content,
|
|
23
31
|
},
|
|
24
32
|
};
|
|
25
33
|
|
|
@@ -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-de';
|
|
6
|
+
const title = 'Online Cron Ausdrucksgenerator. Übersetzer und Visualisierer';
|
|
7
|
+
const description =
|
|
8
|
+
'Kostenloses visuelles Tool zum Generieren von Linux-Cron-Ausdrücken. Übersetzt * * * * * in menschliche Sprache und zeigt die nächsten 5 Ausführungen in Echtzeit an.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Was ist ein Cron-Ausdruck?',
|
|
13
|
+
answer:
|
|
14
|
+
'Es handelt sich um eine Textzeichenfolge, die einen Zeitplan für die Ausführung automatischer Aufgaben auf Unix-ähnlichen Systemen (Linux, macOS) darstellt. Er besteht aus 5 Feldern, die Minuten, Stunden, Tag des Monats, Monat und Wochentag definieren.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Ist es mit allen Systemen kompatibel?',
|
|
18
|
+
answer:
|
|
19
|
+
'Ja, die generierten Ausdrücke folgen dem POSIX-Standard und sind kompatibel mit Linux Crontab, macOS Crons und Cloud-Diensten wie AWS CloudWatch oder GitHub Actions.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Was bedeutet das Sternchen (*) in Cron?',
|
|
23
|
+
answer:
|
|
24
|
+
'Das Sternchen ist ein Platzhalter, der „alle“ bedeutet. Beispielsweise bedeutet ein * im Minutenfeld, dass die Aufgabe jede Minute des definierten Bereichs ausgeführt wird.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Wie kann ich die anstehenden Ausführungen überprüfen?',
|
|
28
|
+
answer:
|
|
29
|
+
'Das Tool enthält eine Echtzeit-Anzeige, die genau die nächsten 5 Daten und Zeiten anzeigt, zu denen Ihre Aufgabe gemäß dem aktuellen Ausdruck ausgeführt wird.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Intervall auswählen',
|
|
36
|
+
text: 'Wählen Sie mit den Schnellvoreinstellungen aus, wie oft die Aufgabe ausgeführt werden soll (jede Minute, jede Stunde, täglich usw.).',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Erweiterte Details konfigurieren',
|
|
40
|
+
text: 'Wechseln Sie zur Registerkarte „Erweitert“, um die genauen Minuten, Stunden oder特定 Wochentage manuell zu definieren.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Übersetzung und Daten überprüfen',
|
|
44
|
+
text: 'Lesen Sie die Beschreibung in menschlicher Sprache und überprüfen Sie die nächsten 5 Ausführungen, um sicherzustellen, dass der Zeitplan korrekt ist.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Ausdruck kopieren',
|
|
48
|
+
text: 'Kopieren Sie die resultierende Zeichenfolge und fügen Sie sie direkt in Ihre crontab-Datei oder Serverkonfiguration ein.',
|
|
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: 'de',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const ui: CronGeneratorUI = {
|
|
87
|
+
labelMinute: 'Minute',
|
|
88
|
+
labelHour: 'Stunde',
|
|
89
|
+
labelDom: 'Tag (Monat)',
|
|
90
|
+
labelMonth: 'Monat',
|
|
91
|
+
labelDow: 'Tag (Woche)',
|
|
92
|
+
tabQuick: 'Schnell',
|
|
93
|
+
tabAdvanced: 'Erweitert',
|
|
94
|
+
fieldMinute: 'Minute (0-59)',
|
|
95
|
+
fieldHour: 'Stunde (0-23)',
|
|
96
|
+
fieldDom: 'Tag des Monats (1-31)',
|
|
97
|
+
fieldMonth: 'Monat (1-12)',
|
|
98
|
+
fieldDow: 'Wochentag (0-6)',
|
|
99
|
+
hintMinute: 'Z.B.: *, */5, 0,30',
|
|
100
|
+
hintDow: '0 = Sonntag, 6 = Samstag',
|
|
101
|
+
labelNextRuns: 'Nächste Ausführungen',
|
|
102
|
+
btnCopy: 'Ausdruck kopieren',
|
|
103
|
+
btnCopied: 'Kopiert!',
|
|
104
|
+
msgNoRuns: 'Keine anstehenden Ausführungen in einem angemessenen Bereich gefunden.',
|
|
105
|
+
msgError: 'Fehler beim Berechnen der Daten.',
|
|
106
|
+
presetEveryMinute: 'Jede Minute',
|
|
107
|
+
presetEveryHour: 'Jede Stunde',
|
|
108
|
+
presetDaily: 'Täglich',
|
|
109
|
+
presetWeekly: 'Wöchentlich',
|
|
110
|
+
presetMonthly: 'Monatlich',
|
|
111
|
+
presetYearly: 'Jährlich',
|
|
112
|
+
descEveryMinute: 'Wird jede Minute ausgeführt',
|
|
113
|
+
descEveryHour: 'Wird zu Beginn jeder Stunde ausgeführt',
|
|
114
|
+
descEveryDay: 'Wird jeden Tag um Mitternacht ausgeführt',
|
|
115
|
+
descPrefix: 'Wird ausgeführt',
|
|
116
|
+
descEveryMin: 'jede Minute',
|
|
117
|
+
descEveryHourOnDot: 'zu jeder vollen Stunde',
|
|
118
|
+
descAtMinute: 'um Minute {m} jeder Stunde',
|
|
119
|
+
descAtTime: 'um {h}:{m}',
|
|
120
|
+
descOnDay: ' am Tag {d} des Monats',
|
|
121
|
+
descInMonth: ' im Monat {mon}',
|
|
122
|
+
descIfDow: ' wenn es Tag {d} ist (0=So, 6=Sa)',
|
|
123
|
+
descDays: 'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag',
|
|
124
|
+
descInvalid: 'Ungültiger Ausdruck',
|
|
125
|
+
timeNow: 'jetzt',
|
|
126
|
+
timeMin: 'Min.',
|
|
127
|
+
timeHour: 'Std.',
|
|
128
|
+
timeDays: 'Tage',
|
|
129
|
+
locale: 'de-DE',
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export const content: ToolLocaleContent<CronGeneratorUI> = {
|
|
133
|
+
slug,
|
|
134
|
+
title,
|
|
135
|
+
description,
|
|
136
|
+
ui,
|
|
137
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
138
|
+
faq: faqData,
|
|
139
|
+
bibliographyTitle: 'Referenzen und Dokumentation',
|
|
140
|
+
bibliography: [
|
|
141
|
+
{
|
|
142
|
+
name: 'GNU Crontab-Handbuch: Cron-Ausdrücke unter Linux',
|
|
143
|
+
url: 'https://www.gnu.org/software/mcron/manual/html_node/Crontab-file.html',
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
name: 'Cron auf Wikipedia: Geschichte und Syntax',
|
|
147
|
+
url: 'https://de.wikipedia.org/wiki/Cron',
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
howTo: howToData,
|
|
151
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
152
|
+
seo: [
|
|
153
|
+
{
|
|
154
|
+
type: 'title',
|
|
155
|
+
text: 'Die Bedeutung von Cron in der modernen Automatisierung',
|
|
156
|
+
level: 2,
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
type: 'paragraph',
|
|
160
|
+
html: 'Obwohl wir im Zeitalter von <em>Serverless</em>-Servern und Cloud-Workflows leben, bleibt das <strong>Crontab</strong>-System das Rückgrat der globalen Technologieinfrastruktur. Von kleinen Blogs bis hin zu massiven Bankinfrastrukturen – die Aufgabenplanung sorgt dafür, dass die digitale Welt läuft.',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'Anatomie eines Cron-Ausdrucks',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'list',
|
|
169
|
+
items: [
|
|
170
|
+
'<strong>Feld 1 - Minute (0-59):</strong> Wann die Aufgabe innerhalb der Stunde beginnt.',
|
|
171
|
+
'<strong>Feld 2 - Stunde (0-23):</strong> 24-Stunden-Format erforderlich.',
|
|
172
|
+
'<strong>Feld 3 - Tag des Monats (1-31):</strong> Bestimmter Kalendertag.',
|
|
173
|
+
'<strong>Feld 4 - Monat (1-12):</strong> Von Januar bis Dezember.',
|
|
174
|
+
'<strong>Feld 5 - Wochentag (0-6):</strong> 0 ist normalerweise Sonntag.',
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'title',
|
|
179
|
+
text: 'Spezielle Operatoren und häufige Fehler',
|
|
180
|
+
level: 3,
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'tip',
|
|
184
|
+
html: 'Verwenden Sie den Schrägstrich <code>/</code>, um Schritte zu definieren: <code>*/5</code> in Minuten wird alle 5 Minuten ausgeführt. Das Komma <code>,</code> erstellt Listen (<code>1,3,5</code>) und der Bindestrich <code>-</code> definiert Bereiche (<code>1-5</code>).',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'paragraph',
|
|
188
|
+
html: '90 % der Server laufen auf <strong>UTC</strong>. Wenn Sie eine Aufgabe für 02:00 Uhr morgens in Ihrer lokalen Zeitzone planen, wird sie möglicherweise zu einer unerwarteten Zeit ausgeführt. Außerdem hat Cron keinen Zugriff auf Ihren üblichen <code>$PATH</code> – verwenden Sie immer absolute Pfade wie <code>/usr/local/bin/node</code>.',
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
};
|
|
192
|
+
|
|
@@ -2,7 +2,7 @@ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'sche
|
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CronGeneratorUI } from '../ui';
|
|
4
4
|
|
|
5
|
-
const slug = 'cron';
|
|
5
|
+
const slug = 'cron-es';
|
|
6
6
|
const title = 'Generador de Expresiones Cron Online. Traductor y Visualizador';
|
|
7
7
|
const description =
|
|
8
8
|
'Herramienta visual gratuita para generar expresiones Cron de Linux. Traduce * * * * * a lenguaje humano y visualiza las próximas 5 ejecuciones en tiempo real.';
|
|
@@ -189,3 +189,4 @@ export const content: ToolLocaleContent<CronGeneratorUI> = {
|
|
|
189
189
|
},
|
|
190
190
|
],
|
|
191
191
|
};
|
|
192
|
+
|
|
@@ -2,7 +2,7 @@ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'sche
|
|
|
2
2
|
import type { ToolLocaleContent } from '../../../types';
|
|
3
3
|
import type { CronGeneratorUI } from '../ui';
|
|
4
4
|
|
|
5
|
-
const slug = 'cron';
|
|
5
|
+
const slug = 'cron-fr';
|
|
6
6
|
const title = 'Générateur d\'expressions Cron en ligne. Traducteur et visualiseur';
|
|
7
7
|
const description =
|
|
8
8
|
'Outil visuel gratuit pour générer des expressions Cron Linux. Traduit * * * * * en langage humain et affiche les 5 prochaines exécutions en temps réel.';
|
|
@@ -189,3 +189,4 @@ export const content: ToolLocaleContent<CronGeneratorUI> = {
|
|
|
189
189
|
},
|
|
190
190
|
],
|
|
191
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-id';
|
|
6
|
+
const title = 'Generator Ekspresi Cron Online. Penerjemah dan Visualisator';
|
|
7
|
+
const description =
|
|
8
|
+
'Alat visual gratis untuk menghasilkan ekspresi Linux Cron. Menerjemahkan * * * * * ke dalam bahasa manusia dan menampilkan 5 eksekusi berikutnya secara real time.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Apa itu ekspresi Cron?',
|
|
13
|
+
answer:
|
|
14
|
+
'Ini adalah string teks yang mewakili jadwal eksekusi untuk tugas otomatis pada sistem mirip Unix (Linux, macOS). Ini terdiri dari 5 kolom yang menentukan menit, jam, hari dalam sebulan, bulan, dan hari dalam seminggu.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Apakah ini kompatibel dengan semua sistem?',
|
|
18
|
+
answer:
|
|
19
|
+
'Ya, ekspresi yang dihasilkan mengikuti standar POSIX, kompatibel dengan Linux Crontab, macOS cron, dan layanan cloud seperti AWS CloudWatch atau GitHub Actions.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Apa arti tanda bintang (*) dalam Cron?',
|
|
23
|
+
answer:
|
|
24
|
+
'Tanda bintang adalah wildcard yang berarti "semua". Misalnya, tanda * di kolom menit berarti tugas akan berjalan setiap menit dari rentang yang ditentukan.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Bagaimana cara memeriksa eksekusi mendatang?',
|
|
28
|
+
answer:
|
|
29
|
+
'Alat ini menyertakan penampil real-time yang menunjukkan dengan tepat 5 tanggal dan waktu berikutnya saat tugas Anda akan berjalan sesuai dengan ekspresi saat ini.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Pilih interval',
|
|
36
|
+
text: 'Pilih seberapa sering Anda ingin tugas berjalan menggunakan preset cepat (setiap menit, setiap jam, harian, dll.).',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Konfigurasi detail lanjutan',
|
|
40
|
+
text: 'Beralih ke tab "Lanjutan" untuk menentukan menit, jam, atau hari tertentu dalam seminggu secara manual.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Verifikasi terjemahan dan tanggal',
|
|
44
|
+
text: 'Baca deskripsi bahasa manusia dan periksa 5 eksekusi berikutnya untuk mengonfirmasi jadwal yang benar.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Salin ekspresi',
|
|
48
|
+
text: 'Salin string yang dihasilkan dan tempelkan langsung ke file crontab atau konfigurasi server Anda.',
|
|
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: 'id',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const ui: CronGeneratorUI = {
|
|
87
|
+
labelMinute: 'Menit',
|
|
88
|
+
labelHour: 'Jam',
|
|
89
|
+
labelDom: 'Hari (Bulan)',
|
|
90
|
+
labelMonth: 'Bulan',
|
|
91
|
+
labelDow: 'Hari (Minggu)',
|
|
92
|
+
tabQuick: 'Cepat',
|
|
93
|
+
tabAdvanced: 'Lanjutan',
|
|
94
|
+
fieldMinute: 'Menit (0-59)',
|
|
95
|
+
fieldHour: 'Jam (0-23)',
|
|
96
|
+
fieldDom: 'Hari dalam Sebulan (1-31)',
|
|
97
|
+
fieldMonth: 'Bulan (1-12)',
|
|
98
|
+
fieldDow: 'Hari dalam Seminggu (0-6)',
|
|
99
|
+
hintMinute: 'Misal: *, */5, 0,30',
|
|
100
|
+
hintDow: '0 = Minggu, 6 = Sabtu',
|
|
101
|
+
labelNextRuns: 'Eksekusi Berikutnya',
|
|
102
|
+
btnCopy: 'Salin Ekspresi',
|
|
103
|
+
btnCopied: 'Tersalin!',
|
|
104
|
+
msgNoRuns: 'Tidak ditemukan eksekusi mendatang dalam rentang yang wajar.',
|
|
105
|
+
msgError: 'Kesalahan saat menghitung tanggal.',
|
|
106
|
+
presetEveryMinute: 'Setiap menit',
|
|
107
|
+
presetEveryHour: 'Setiap jam',
|
|
108
|
+
presetDaily: 'Harian',
|
|
109
|
+
presetWeekly: 'Mingguan',
|
|
110
|
+
presetMonthly: 'Bulanan',
|
|
111
|
+
presetYearly: 'Tahunan',
|
|
112
|
+
descEveryMinute: 'Berjalan setiap menit',
|
|
113
|
+
descEveryHour: 'Berjalan di awal setiap jam',
|
|
114
|
+
descEveryDay: 'Berjalan setiap hari pada tengah malam',
|
|
115
|
+
descPrefix: 'Berjalan',
|
|
116
|
+
descEveryMin: 'setiap menit',
|
|
117
|
+
descEveryHourOnDot: 'setiap jam tepat',
|
|
118
|
+
descAtMinute: 'pada menit {m} setiap jam',
|
|
119
|
+
descAtTime: 'pada pukul {h}:{m}',
|
|
120
|
+
descOnDay: ' pada hari ke-{d} setiap bulan',
|
|
121
|
+
descInMonth: ' pada bulan ke-{mon}',
|
|
122
|
+
descIfDow: ' jika hari ke-{d} (0=Minggu, 6=Sabtu)',
|
|
123
|
+
descDays: 'Minggu,Senin,Selasa,Rabu,Kamis,Jumat,Sabtu',
|
|
124
|
+
descInvalid: 'Ekspresi tidak valid',
|
|
125
|
+
timeNow: 'sekarang',
|
|
126
|
+
timeMin: 'menit',
|
|
127
|
+
timeHour: 'jam',
|
|
128
|
+
timeDays: 'hari',
|
|
129
|
+
locale: 'id-ID',
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export const content: ToolLocaleContent<CronGeneratorUI> = {
|
|
133
|
+
slug,
|
|
134
|
+
title,
|
|
135
|
+
description,
|
|
136
|
+
ui,
|
|
137
|
+
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
138
|
+
faq: faqData,
|
|
139
|
+
bibliographyTitle: 'Referensi dan Dokumentasi',
|
|
140
|
+
bibliography: [
|
|
141
|
+
{
|
|
142
|
+
name: 'Manual GNU Crontab: Ekspresi Cron di Linux',
|
|
143
|
+
url: 'https://www.gnu.org/software/mcron/manual/html_node/Crontab-file.html',
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
name: 'Cron di Wikipedia: Sejarah dan Sintaks',
|
|
147
|
+
url: 'https://id.wikipedia.org/wiki/Cron',
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
howTo: howToData,
|
|
151
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
152
|
+
seo: [
|
|
153
|
+
{
|
|
154
|
+
type: 'title',
|
|
155
|
+
text: 'Pentingnya Cron dalam Otomatisasi Modern',
|
|
156
|
+
level: 2,
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
type: 'paragraph',
|
|
160
|
+
html: 'Meskipun kita hidup di era server <em>serverless</em> dan alur kerja cloud, sistem <strong>Crontab</strong> tetap menjadi tulang punggung infrastruktur teknologi global. Dari blog kecil hingga infrastruktur perbankan besar, penjadwalan tugas adalah hal yang membuat dunia digital tetap berjalan.',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'Anatomi Ekspresi Cron',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'list',
|
|
169
|
+
items: [
|
|
170
|
+
'<strong>Kolom 1 - Menit (0-59):</strong> Kapan tugas dimulai dalam satu jam.',
|
|
171
|
+
'<strong>Kolom 2 - Jam (0-23):</strong> Diperlukan format 24 jam.',
|
|
172
|
+
'<strong>Kolom 3 - Hari dalam Sebulan (1-31):</strong> Hari kalender tertentu.',
|
|
173
|
+
'<strong>Kolom 4 - Bulan (1-12):</strong> Dari Januari hingga Desember.',
|
|
174
|
+
'<strong>Kolom 5 - Hari dalam Seminggu (0-6):</strong> 0 biasanya adalah hari Minggu.',
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'title',
|
|
179
|
+
text: 'Operator khusus dan kesalahan umum',
|
|
180
|
+
level: 3,
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'tip',
|
|
184
|
+
html: 'Gunakan garis miring <code>/</code> untuk menentukan langkah: <code>*/5</code> pada menit berarti berjalan setiap 5 menit. Koma <code>,</code> membuat daftar (<code>1,3,5</code>) dan tanda hubung <code>-</code> menentukan rentang (<code>1-5</code>).',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'paragraph',
|
|
188
|
+
html: '90% server berjalan pada <strong>UTC</strong>. Jika Anda menjadwalkan tugas pada pukul 02:00 pagi berdasarkan zona waktu lokal Anda, tugas tersebut mungkin berjalan pada waktu yang tidak terduga. Selain itu, Cron tidak memiliki akses ke <code>$PATH</code> Anda yang biasa — selalu gunakan jalur absolut seperti <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-it';
|
|
6
|
+
const title = 'Generatore di espressioni Cron online. Traduttore e visualizzatore';
|
|
7
|
+
const description =
|
|
8
|
+
'Strumento visivo gratuito per generare espressioni Linux Cron. Traduce * * * * * in linguaggio umano e mostra le prossime 5 esecuzioni in tempo reale.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Cos\'è un\'espressione Cron?',
|
|
13
|
+
answer:
|
|
14
|
+
'È una stringa di testo che rappresenta una pianificazione di esecuzione per attività automatiche su sistemi di tipo Unix (Linux, macOS). Consiste in 5 campi che definiscono minuti, ore, giorno del mese, mese e giorno della settimana.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'È compatibile con tutti i sistemi?',
|
|
18
|
+
answer:
|
|
19
|
+
'Sì, le espressioni generate seguono lo standard POSIX, compatibile con Linux Crontab, macOS cron e servizi cloud come AWS CloudWatch o GitHub Actions.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Cosa significa l\'asterisco (*) in Cron?',
|
|
23
|
+
answer:
|
|
24
|
+
'L\'asterisco è un carattere jolly che significa "tutti". Ad esempio, un * nel campo dei minuti significa che l\'attività verrà eseguita ogni minuto dell\'intervallo definito.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Come posso controllare le prossime esecuzioni?',
|
|
28
|
+
answer:
|
|
29
|
+
'Lo strumento include un visualizzatore in tempo reale che mostra esattamente le prossime 5 date e orari in cui l\'attività verrà eseguita in base all\'espressione corrente.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Seleziona l\'intervallo',
|
|
36
|
+
text: 'Scegli la frequenza con cui desideri eseguire l\'attività utilizzando i predefiniti rapidi (ogni minuto, ogni ora, ogni giorno, ecc.).',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Configura dettagli avanzati',
|
|
40
|
+
text: 'Passa alla scheda "Avanzate" per definire manualmente i minuti, le ore o i giorni della settimana esatti.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Verifica la traduzione e le date',
|
|
44
|
+
text: 'Leggi la descrizione in linguaggio umano e controlla le prossime 5 esecuzioni per confermare che la pianificazione sia corretta.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Copia l\'espressione',
|
|
48
|
+
text: 'Copia la stringa risultante e incollala direttamente nel file crontab o nella configurazione del server.',
|
|
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: 'it',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
const ui: CronGeneratorUI = {
|
|
87
|
+
labelMinute: 'Minuto',
|
|
88
|
+
labelHour: 'Ora',
|
|
89
|
+
labelDom: 'Giorno (Mese)',
|
|
90
|
+
labelMonth: 'Mese',
|
|
91
|
+
labelDow: 'Giorno (Settimana)',
|
|
92
|
+
tabQuick: 'Rapido',
|
|
93
|
+
tabAdvanced: 'Avanzato',
|
|
94
|
+
fieldMinute: 'Minuto (0-59)',
|
|
95
|
+
fieldHour: 'Ora (0-23)',
|
|
96
|
+
fieldDom: 'Giorno del mese (1-31)',
|
|
97
|
+
fieldMonth: 'Mese (1-12)',
|
|
98
|
+
fieldDow: 'Giorno della settimana (0-6)',
|
|
99
|
+
hintMinute: 'Es: *, */5, 0,30',
|
|
100
|
+
hintDow: '0 = Domenica, 6 = Sabato',
|
|
101
|
+
labelNextRuns: 'Prossime esecuzioni',
|
|
102
|
+
btnCopy: 'Copia espressione',
|
|
103
|
+
btnCopied: 'Copiato!',
|
|
104
|
+
msgNoRuns: 'Nessuna esecuzione imminente trovata entro un intervallo ragionevole.',
|
|
105
|
+
msgError: 'Errore nel calcolo delle date.',
|
|
106
|
+
presetEveryMinute: 'Ogni minuto',
|
|
107
|
+
presetEveryHour: 'Ogni ora',
|
|
108
|
+
presetDaily: 'Ogni giorno',
|
|
109
|
+
presetWeekly: 'Ogni settimana',
|
|
110
|
+
presetMonthly: 'Ogni mese',
|
|
111
|
+
presetYearly: 'Ogni anno',
|
|
112
|
+
descEveryMinute: 'Eseguito ogni minuto',
|
|
113
|
+
descEveryHour: 'Eseguito all\'inizio di ogni ora',
|
|
114
|
+
descEveryDay: 'Eseguito ogni giorno a mezzanotte',
|
|
115
|
+
descPrefix: 'Eseguito',
|
|
116
|
+
descEveryMin: 'ogni minuto',
|
|
117
|
+
descEveryHourOnDot: 'ogni ora in punto',
|
|
118
|
+
descAtMinute: 'al minuto {m} di ogni ora',
|
|
119
|
+
descAtTime: 'alle ore {h}:{m}',
|
|
120
|
+
descOnDay: ' il giorno {d} del mese',
|
|
121
|
+
descInMonth: ' nel mese {mon}',
|
|
122
|
+
descIfDow: ' se è il giorno {d} (0=Dom, 6=Sab)',
|
|
123
|
+
descDays: 'Domenica,Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato',
|
|
124
|
+
descInvalid: 'Espressione non valida',
|
|
125
|
+
timeNow: 'adesso',
|
|
126
|
+
timeMin: 'min',
|
|
127
|
+
timeHour: 'h',
|
|
128
|
+
timeDays: 'giorni',
|
|
129
|
+
locale: 'it-IT',
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export const content: ToolLocaleContent<CronGeneratorUI> = {
|
|
133
|
+
slug,
|
|
134
|
+
title,
|
|
135
|
+
description,
|
|
136
|
+
ui,
|
|
137
|
+
faqTitle: 'Domande Frequenti',
|
|
138
|
+
faq: faqData,
|
|
139
|
+
bibliographyTitle: 'Riferimenti e documentazione',
|
|
140
|
+
bibliography: [
|
|
141
|
+
{
|
|
142
|
+
name: 'Manuale GNU Crontab: espressioni Cron su Linux',
|
|
143
|
+
url: 'https://www.gnu.org/software/mcron/manual/html_node/Crontab-file.html',
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
name: 'Cron su Wikipedia: storia e sintassi',
|
|
147
|
+
url: 'https://it.wikipedia.org/wiki/Cron',
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
howTo: howToData,
|
|
151
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
152
|
+
seo: [
|
|
153
|
+
{
|
|
154
|
+
type: 'title',
|
|
155
|
+
text: 'L\'importanza di Cron nell\'automazione moderna',
|
|
156
|
+
level: 2,
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
type: 'paragraph',
|
|
160
|
+
html: 'Nonostante si viva nell\'era dei server <em>serverless</em> e dei flussi di lavoro cloud, il sistema <strong>Crontab</strong> rimane la spina dorsale dell\'infrastruttura tecnologica globale. Dai piccoli blog alle enormi infrastrutture bancarie, la pianificazione delle attività è ciò che fa funzionare il mondo digitale.',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: 'title',
|
|
164
|
+
text: 'Anatomia di un\'espressione Cron',
|
|
165
|
+
level: 3,
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: 'list',
|
|
169
|
+
items: [
|
|
170
|
+
'<strong>Campo 1 - Minuto (0-59):</strong> Quando l\'attività inizia all\'interno dell\'ora.',
|
|
171
|
+
'<strong>Campo 2 - Ora (0-23):</strong> Richiesto il formato 24 ore.',
|
|
172
|
+
'<strong>Campo 3 - Giorno del mese (1-31):</strong> Giorno specifico del calendario.',
|
|
173
|
+
'<strong>Campo 4 - Mese (1-12):</strong> Da gennaio a dicembre.',
|
|
174
|
+
'<strong>Campo 5 - Giorno della settimana (0-6):</strong> 0 è in genere domenica.',
|
|
175
|
+
],
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'title',
|
|
179
|
+
text: 'Operatori speciali ed errori comuni',
|
|
180
|
+
level: 3,
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'tip',
|
|
184
|
+
html: 'Usa la barra <code>/</code> per definire gli intervalli: <code>*/5</code> nei minuti indica l\'esecuzione ogni 5 minuti. La virgola <code>,</code> crea elenchi (<code>1,3,5</code>) e il trattino <code>-</code> definisce intervalli (<code>1-5</code>).',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'paragraph',
|
|
188
|
+
html: 'Il 90% dei server funziona in <strong>UTC</strong>. Se pianifichi un\'attività alle 02:00 del mattino pensando al tuo fuso orario locale, potrebbe essere eseguita in un orario imprevisto. Inoltre, Cron non ha accesso al tuo solito <code>$PATH</code>: usa sempre percorsi assoluti come <code>/usr/local/bin/node</code>.',
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
};
|
|
192
|
+
|