@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
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { SvgToCssUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'svg-zu-css-konverter';
|
|
6
|
+
const title = 'Kostenloser Online SVG zu CSS und Data URI Konverter';
|
|
7
|
+
const description =
|
|
8
|
+
'Verwandeln Sie Ihre SVG-Icons und Vektoren in CSS-Code (Background oder Mask) oder komprimierte Data-URIs. Optimieren Sie die Performance Ihrer Website durch Vermeidung externer HTTP-Anfragen.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Ist es besser, eine Data-URI oder eine externe .svg-Datei zu verwenden?',
|
|
13
|
+
answer:
|
|
14
|
+
'Das hängt vom Anwendungsfall ab. Data-URIs eliminieren HTTP-Anfragen (ideal für kleine Icons), vergrößern jedoch die CSS-Datei. Für große oder detailreiche Illustrationen ist eine externe Datei vorzuziehen.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Wie ändere ich die Farbe eines in CSS eingebetteten SVGs?',
|
|
18
|
+
answer:
|
|
19
|
+
'Der beste Weg ist über „mask-image“. Indem Sie das SVG als Maske definieren, können Sie die „background-color“ verwenden, um die Farbe dynamisch zu ändern, sogar in :hover-Zuständen.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Welche Browser unterstützen CSS-Masken?',
|
|
23
|
+
answer:
|
|
24
|
+
'Alle modernen Browser (Chrome, Firefox, Safari, Edge) bieten volle Unterstützung. Für ältere Browser werden häufig -webkit-Präfixe verwendet.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Beeinflusst die Verwendung von Data-URIs die SEO?',
|
|
28
|
+
answer:
|
|
29
|
+
'Ja, positiv. Durch die Reduzierung der Anzahl der Anfragen, die zum Rendern der Seite benötigt werden, verbessert sich die Ladezeit (LCP) und die Core Web Vitals-Werte.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Kann ich es in Frameworks wie React oder Tailwind verwenden?',
|
|
33
|
+
answer:
|
|
34
|
+
'Absolut! Sie können den generierten Code kopieren und in Ihren .css-Dateien oder sogar als beliebige Werte in Tailwind CSS verwenden.',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const howToData = [
|
|
39
|
+
{
|
|
40
|
+
name: 'SVG einfügen',
|
|
41
|
+
text: 'Kopieren Sie den Quellcode Ihrer SVG-Datei und fügen Sie ihn in das Textfeld auf der linken Seite ein.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Ausgabetyp wählen',
|
|
45
|
+
text: 'Wählen Sie zwischen Background Image (für statische Hintergründe), CSS Mask (für Icons mit dynamischer Farbe) oder Data URI Only (zur direkten Verwendung).',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Ergebnis kopieren',
|
|
49
|
+
text: 'Klicken Sie auf „Kopieren“, um den generierten CSS-Code in Ihre Zwischenablage zu übernehmen.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'In Ihr Projekt übernehmen',
|
|
53
|
+
text: 'Fügen Sie den Code in Ihr Stylesheet oder Ihre CSS-Komponente ein. Bei Masken fügen Sie zusätzlich background-color hinzu, um die Icon-Farbe zu definieren.',
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
58
|
+
'@context': 'https://schema.org',
|
|
59
|
+
'@type': 'FAQPage',
|
|
60
|
+
mainEntity: faqData.map((item) => ({
|
|
61
|
+
'@type': 'Question',
|
|
62
|
+
name: item.question,
|
|
63
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
64
|
+
})),
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
68
|
+
'@context': 'https://schema.org',
|
|
69
|
+
'@type': 'HowTo',
|
|
70
|
+
name: title,
|
|
71
|
+
description,
|
|
72
|
+
step: howToData.map((step, i) => ({
|
|
73
|
+
'@type': 'HowToStep',
|
|
74
|
+
position: i + 1,
|
|
75
|
+
name: step.name,
|
|
76
|
+
text: step.text,
|
|
77
|
+
})),
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
81
|
+
'@context': 'https://schema.org',
|
|
82
|
+
'@type': 'SoftwareApplication',
|
|
83
|
+
name: title,
|
|
84
|
+
description,
|
|
85
|
+
applicationCategory: 'UtilityApplication',
|
|
86
|
+
operatingSystem: 'All',
|
|
87
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
88
|
+
inLanguage: 'de',
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const ui: SvgToCssUI = {
|
|
92
|
+
labelPasteTitle: 'SVG einfügen',
|
|
93
|
+
labelInputArea: 'SVG Quellcode',
|
|
94
|
+
labelPreviewOriginal: 'Original Vorschau',
|
|
95
|
+
labelResultTitle: 'CSS Ergebnis',
|
|
96
|
+
labelPreviewApplied: 'Angewandtes Ergebnis',
|
|
97
|
+
tabBackground: 'Background Image',
|
|
98
|
+
tabMask: 'CSS Mask / Webkit',
|
|
99
|
+
tabUri: 'Nur Data URI',
|
|
100
|
+
btnCopy: 'Kopieren',
|
|
101
|
+
btnCopied: 'Kopiert!',
|
|
102
|
+
placeholder: '<svg xmlns="http://www.w3.org/2000/svg" ...',
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export const content: ToolLocaleContent<SvgToCssUI> = {
|
|
106
|
+
slug,
|
|
107
|
+
title,
|
|
108
|
+
description,
|
|
109
|
+
ui,
|
|
110
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
111
|
+
faq: faqData,
|
|
112
|
+
bibliographyTitle: 'Referenzen und Dokumentation',
|
|
113
|
+
bibliography: [
|
|
114
|
+
{
|
|
115
|
+
name: 'CSS-Tricks: Using SVG as Background',
|
|
116
|
+
url: 'https://css-tricks.com/using-svg/',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'MDN Web Docs: mask-image',
|
|
120
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/mask-image',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: 'MDN Web Docs: background-image',
|
|
124
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/background-image',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
name: 'W3C: CSS Masking Module Level 1',
|
|
128
|
+
url: 'https://www.w3.org/TR/css-masking-1/',
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
howTo: howToData,
|
|
132
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
133
|
+
seo: [
|
|
134
|
+
{
|
|
135
|
+
type: 'title',
|
|
136
|
+
text: 'Warum SVG in CSS Data URI konvertieren?',
|
|
137
|
+
level: 2,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'paragraph',
|
|
141
|
+
html: 'In der modernen Webentwicklung ist die Optimierung von Performance und Ressourcen-Ladezeiten essenziell. Das direkte Einbetten von Icons in CSS via <strong>Data URIs</strong> eliminiert unnötige HTTP-Anfragen, reduziert Latenzen und verbessert den Time to Interactive (TTI).',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'paragraph',
|
|
145
|
+
html: 'Dieses Tool transformiert <code><svg></code> Vektor-Code in einen kodierten Text-String, den der Browser als Hintergrundbild oder Maske interpretieren kann. Dabei bleiben die unendliche Skalierbarkeit und die Schärfe von Vektoren erhalten.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Wichtige technische Vorteile',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'<strong>Null HTTP-Anfragen:</strong> Durch das Einbetten der Grafiken in Ihre <code>.css</code>-Dateien muss der Browser keine zusätzlichen externen Dateien herunterladen.',
|
|
156
|
+
'<strong>Anpassung via CSS-Maske:</strong> Mit der <code>mask-image</code>-Technik können Sie die Farbe eines komplexen Vektor-Icons einfach über <code>background-color</code> ändern.',
|
|
157
|
+
'<strong>Sofortiges Rendering:</strong> Sie vermeiden Content-Flackern (FOUC), da kritische visuelle Ressourcen sofort verfügbar sind, sobald das Stylesheet geladen ist.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'CSS Masken vs. Hintergründe',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'Viele Entwickler nutzen einfach <code>background-image</code>, um Vektoren einzubetten, was jedoch eine Einschränkung hat: Die Farbe des SVGs kann nicht dynamisch über CSS geändert werden.',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'Unser Tool unterstützt die Code-Generierung für <strong>CSS Masken</strong>. Durch Anwendung einer <code>mask-image</code> mit der generierten Data-URI fungiert das Icon als Schablone, wodurch die <code>background-color</code> des Elements die endgültige Farbe definiert. Dies ist der professionellste Weg, Icons in Astro, Next.js oder anderen modernen Frameworks zu verwalten.',
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
};
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { SvgToCssUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'konverter-svg-ke-css';
|
|
6
|
+
const title = 'Konverter SVG ke CSS dan Data URI Online Gratis';
|
|
7
|
+
const description =
|
|
8
|
+
'Ubah ikon dan vektor SVG Anda menjadi kode CSS (Background atau Mask) atau Data URI terkompresi. Optimalkan performa situs web Anda dengan menghilangkan permintaan HTTP eksternal.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Mana yang lebih baik, menggunakan Data URI atau file .svg eksternal?',
|
|
13
|
+
answer:
|
|
14
|
+
'Tergantung pada kasus penggunaan. Data URI menghilangkan permintaan HTTP (ideal untuk ikon kecil), tetapi menambah ukuran file CSS. Untuk ilustrasi besar atau kaya detail, file eksternal lebih disukai.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Bagaimana cara mengubah warna SVG yang tertanam di CSS?',
|
|
18
|
+
answer:
|
|
19
|
+
"Cara terbaik adalah melalui 'mask-image'. Dengan mendefinisikan SVG sebagai masker, Anda dapat menggunakan 'background-color' untuk mengubah warnanya secara dinamis, bahkan dalam status :hover.",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Browser mana yang mendukung CSS Masks?',
|
|
23
|
+
answer:
|
|
24
|
+
'Semua browser modern (Chrome, Firefox, Safari, Edge) memiliki dukungan penuh. Untuk browser lama, awalan -webkit- umum digunakan.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Apakah menggunakan Data URI mempengaruhi SEO?',
|
|
28
|
+
answer:
|
|
29
|
+
'Ya, secara positif. Dengan mengurangi jumlah permintaan yang diperlukan untuk merender halaman, ini meningkatkan waktu pemuatan (LCP) dan skor Core Web Vitals.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Dapatkah saya menggunakannya di framework seperti React atau Tailwind?',
|
|
33
|
+
answer:
|
|
34
|
+
'Tentu saja! Anda dapat menyalin kode yang dihasilkan dan menggunakannya dalam file .css Anda atau bahkan sebagai nilai arbitrer di Tailwind CSS.',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const howToData = [
|
|
39
|
+
{
|
|
40
|
+
name: 'Tempel SVG',
|
|
41
|
+
text: 'Salin kode sumber file SVG Anda dan tempelkan ke area teks di sebelah kiri.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Pilih jenis output',
|
|
45
|
+
text: 'Pilih antara Gambar Latar Belakang (untuk latar belakang statis), CSS Mask (untuk ikon dengan warna dinamis), atau Hanya Data URI (untuk penggunaan langsung).',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Salin hasilnya',
|
|
49
|
+
text: 'Klik "Salin" untuk mengambil kode CSS yang dihasilkan ke papan klip Anda.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'Terapkan di proyek Anda',
|
|
53
|
+
text: 'Tempelkan kode ke dalam stylesheet atau komponen CSS Anda. Untuk Mask, tambahkan juga background-color untuk menentukan warna ikon.',
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
58
|
+
'@context': 'https://schema.org',
|
|
59
|
+
'@type': 'FAQPage',
|
|
60
|
+
mainEntity: faqData.map((item) => ({
|
|
61
|
+
'@type': 'Question',
|
|
62
|
+
name: item.question,
|
|
63
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
64
|
+
})),
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
68
|
+
'@context': 'https://schema.org',
|
|
69
|
+
'@type': 'HowTo',
|
|
70
|
+
name: title,
|
|
71
|
+
description,
|
|
72
|
+
step: howToData.map((step, i) => ({
|
|
73
|
+
'@type': 'HowToStep',
|
|
74
|
+
position: i + 1,
|
|
75
|
+
name: step.name,
|
|
76
|
+
text: step.text,
|
|
77
|
+
})),
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
81
|
+
'@context': 'https://schema.org',
|
|
82
|
+
'@type': 'SoftwareApplication',
|
|
83
|
+
name: title,
|
|
84
|
+
description,
|
|
85
|
+
applicationCategory: 'UtilityApplication',
|
|
86
|
+
operatingSystem: 'All',
|
|
87
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
88
|
+
inLanguage: 'id',
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const ui: SvgToCssUI = {
|
|
92
|
+
labelPasteTitle: 'Tempel SVG',
|
|
93
|
+
labelInputArea: 'Kode Sumber SVG',
|
|
94
|
+
labelPreviewOriginal: 'Pratinjau Asli',
|
|
95
|
+
labelResultTitle: 'Hasil CSS',
|
|
96
|
+
labelPreviewApplied: 'Hasil Terapan',
|
|
97
|
+
tabBackground: 'Gambar Latar Belakang',
|
|
98
|
+
tabMask: 'CSS Mask / Webkit',
|
|
99
|
+
tabUri: 'Hanya Data URI',
|
|
100
|
+
btnCopy: 'Salin',
|
|
101
|
+
btnCopied: 'Tersalin!',
|
|
102
|
+
placeholder: '<svg xmlns="http://www.w3.org/2000/svg" ...',
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export const content: ToolLocaleContent<SvgToCssUI> = {
|
|
106
|
+
slug,
|
|
107
|
+
title,
|
|
108
|
+
description,
|
|
109
|
+
ui,
|
|
110
|
+
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
111
|
+
faq: faqData,
|
|
112
|
+
bibliographyTitle: 'Referensi dan Dokumentasi',
|
|
113
|
+
bibliography: [
|
|
114
|
+
{
|
|
115
|
+
name: 'CSS-Tricks: Menggunakan SVG sebagai Latar Belakang',
|
|
116
|
+
url: 'https://css-tricks.com/using-svg/',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'MDN Web Docs: mask-image',
|
|
120
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/mask-image',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: 'MDN Web Docs: background-image',
|
|
124
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/background-image',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
name: 'W3C: CSS Masking Module Level 1',
|
|
128
|
+
url: 'https://www.w3.org/TR/css-masking-1/',
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
howTo: howToData,
|
|
132
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
133
|
+
seo: [
|
|
134
|
+
{
|
|
135
|
+
type: 'title',
|
|
136
|
+
text: 'Mengapa Mengonversi SVG ke CSS Data URI?',
|
|
137
|
+
level: 2,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'paragraph',
|
|
141
|
+
html: 'Dalam pengembangan web modern, mengoptimalkan performa dan pemuatan sumber daya sangatlah penting. Menanamkan ikon secara langsung di CSS melalui <strong>Data URI</strong> menghilangkan permintaan HTTP yang tidak perlu, mengurangi latensi, dan meningkatkan Time to Interactive (TTI).',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'paragraph',
|
|
145
|
+
html: 'Alat ini mengubah kode vektor <code><svg></code> menjadi string teks terenkripsi yang dapat diinterpretasikan oleh browser sebagai gambar latar belakang atau masker kliping, dengan tetap mempertahankan skalabilitas tak terbatas dan ketajaman karakteristik vektor.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Manfaat Teknis Utama',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'<strong>Nol Permintaan HTTP:</strong> Dengan menanamkan grafis di file <code>.css</code> Anda, browser tidak perlu mengunduh file eksternal tambahan.',
|
|
156
|
+
'<strong>Kustomisasi melalui CSS Mask:</strong> Menggunakan teknik <code>mask-image</code>, Anda dapat mengubah warna ikon vektor yang kompleks hanya dengan menggunakan <code>background-color</code>.',
|
|
157
|
+
'<strong>Perenderan Instan:</strong> Anda menghindari kedipan konten (FOUC) karena sumber daya visual kritis tersedia segera setelah stylesheet diunduh.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'CSS Masks vs Latar Belakang',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'Banyak pengembang hanya menggunakan <code>background-image</code> untuk menanamkan vektor, tetapi ini memiliki batasan: Anda tidak dapat mengubah warna SVG secara dinamis dari CSS.',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'Utilitas kami mendukung pembuatan kode untuk <strong>CSS Masks</strong>. Dengan menerapkan <code>mask-image</code> dengan Data URI yang dihasilkan, ikon bertindak sebagai stensil, memungkinkan <code>background-color</code> elemen untuk menentukan warna ikon akhir. Ini adalah cara paling profesional dan fleksibel untuk mengelola ikon di Astro, Next.js, atau framework modern lainnya.',
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
};
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { SvgToCssUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertitore-svg-in-css';
|
|
6
|
+
const title = 'Convertitore Online gratuito da SVG a CSS e Data URI';
|
|
7
|
+
const description =
|
|
8
|
+
'Trasforma i tuoi grafici vettoriali e icone SVG in codice CSS (Background o Mask) o in Data URI compressi. Ottimizza le prestazioni del tuo sito web eliminando le richieste HTTP esterne.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'È meglio usare un Data URI o un file .svg esterno?',
|
|
13
|
+
answer:
|
|
14
|
+
'Dipende dal caso d\'uso. I Data URI eliminano le richieste HTTP (ideale per piccole icone), ma aumentano le dimensioni del file CSS. Per illustrazioni grandi o ricche di dettagli, è preferibile un file esterno.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Come posso cambiare il colore di un SVG incorporato nel CSS?',
|
|
18
|
+
answer:
|
|
19
|
+
'Il modo migliore è tramite "mask-image". Definendo l\'SVG come maschera, puoi usare "background-color" per cambiarne il colore dinamicamente, anche negli stati :hover.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Quali browser supportano le CSS Masks?',
|
|
23
|
+
answer:
|
|
24
|
+
'Tutti i browser moderni (Chrome, Firefox, Safari, Edge) hanno il pieno supporto. Per i browser più vecchi, vengono comunemente usati i prefissi -webkit-.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'L\'uso dei Data URI influisce sulla SEO?',
|
|
28
|
+
answer:
|
|
29
|
+
'Sì, positivamente. Riducendo il numero di richieste necessarie per il rendering della pagina, migliora il tempo di caricamento (LCP) e i punteggi dei Core Web Vitals.',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Posso usarlo in framework come React o Tailwind?',
|
|
33
|
+
answer:
|
|
34
|
+
'Assolutamente! Puoi copiare il codice generato e usarlo nei tuoi file .css o anche come valori arbitrari in Tailwind CSS.',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const howToData = [
|
|
39
|
+
{
|
|
40
|
+
name: 'Incolla l\'SVG',
|
|
41
|
+
text: 'Copia il codice sorgente del tuo file SVG e incollalo nell\'area di testo a sinistra.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Scegli il tipo di output',
|
|
45
|
+
text: 'Seleziona tra Immagine di Sfondo (per sfondi statici), Maschera CSS (per icone con colore dinamico) o Solo Data URI (per uso diretto).',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Copia il risultato',
|
|
49
|
+
text: 'Fai clic su "Copia" per portare il codice CSS generato nei tuoi appunti.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'Applica nel tuo progetto',
|
|
53
|
+
text: 'Incolla il codice nel tuo foglio di stile o componente CSS. Per le maschere, aggiungi anche background-color per definire il colore dell\'icona.',
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
58
|
+
'@context': 'https://schema.org',
|
|
59
|
+
'@type': 'FAQPage',
|
|
60
|
+
mainEntity: faqData.map((item) => ({
|
|
61
|
+
'@type': 'Question',
|
|
62
|
+
name: item.question,
|
|
63
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
64
|
+
})),
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
68
|
+
'@context': 'https://schema.org',
|
|
69
|
+
'@type': 'HowTo',
|
|
70
|
+
name: title,
|
|
71
|
+
description,
|
|
72
|
+
step: howToData.map((step, i) => ({
|
|
73
|
+
'@type': 'HowToStep',
|
|
74
|
+
position: i + 1,
|
|
75
|
+
name: step.name,
|
|
76
|
+
text: step.text,
|
|
77
|
+
})),
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
81
|
+
'@context': 'https://schema.org',
|
|
82
|
+
'@type': 'SoftwareApplication',
|
|
83
|
+
name: title,
|
|
84
|
+
description,
|
|
85
|
+
applicationCategory: 'UtilityApplication',
|
|
86
|
+
operatingSystem: 'All',
|
|
87
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
88
|
+
inLanguage: 'it',
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const ui: SvgToCssUI = {
|
|
92
|
+
labelPasteTitle: 'Incolla SVG',
|
|
93
|
+
labelInputArea: 'Codice Sorgente SVG',
|
|
94
|
+
labelPreviewOriginal: 'Anteprima Originale',
|
|
95
|
+
labelResultTitle: 'Risultato CSS',
|
|
96
|
+
labelPreviewApplied: 'Risultato Applicato',
|
|
97
|
+
tabBackground: 'Immagine di Sfondo',
|
|
98
|
+
tabMask: 'CSS Mask / Webkit',
|
|
99
|
+
tabUri: 'Solo Data URI',
|
|
100
|
+
btnCopy: 'Copia',
|
|
101
|
+
btnCopied: 'Copiato!',
|
|
102
|
+
placeholder: '<svg xmlns="http://www.w3.org/2000/svg" ...',
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export const content: ToolLocaleContent<SvgToCssUI> = {
|
|
106
|
+
slug,
|
|
107
|
+
title,
|
|
108
|
+
description,
|
|
109
|
+
ui,
|
|
110
|
+
faqTitle: 'Domande Frequenti',
|
|
111
|
+
faq: faqData,
|
|
112
|
+
bibliographyTitle: 'Riferimenti e Documentazione',
|
|
113
|
+
bibliography: [
|
|
114
|
+
{
|
|
115
|
+
name: 'CSS-Tricks: Usare SVG come Sfondo',
|
|
116
|
+
url: 'https://css-tricks.com/using-svg/',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'MDN Web Docs: mask-image',
|
|
120
|
+
url: 'https://developer.mozilla.org/it/docs/Web/CSS/mask-image',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: 'MDN Web Docs: background-image',
|
|
124
|
+
url: 'https://developer.mozilla.org/it/docs/Web/CSS/background-image',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
name: 'W3C: CSS Masking Module Level 1',
|
|
128
|
+
url: 'https://www.w3.org/TR/css-masking-1/',
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
howTo: howToData,
|
|
132
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
133
|
+
seo: [
|
|
134
|
+
{
|
|
135
|
+
type: 'title',
|
|
136
|
+
text: 'Perché Convertire SVG in CSS Data URI?',
|
|
137
|
+
level: 2,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'paragraph',
|
|
141
|
+
html: 'Nello sviluppo web moderno, ottimizzare le prestazioni e il caricamento delle risorse è essenziale. Incorporare le icone direttamente nel CSS tramite <strong>Data URI</strong> elimina le richieste HTTP non necessarie, riducendo la latenza e migliorando il Time to Interactive (TTI).',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'paragraph',
|
|
145
|
+
html: 'Questo strumento trasforma il codice vettoriale <code><svg></code> in una stringa di testo codificata che il browser può interpretare come immagine di sfondo o maschera di ritaglio, mantenendo la scalabilità infinita e la nitidezza tipica dei vettori.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'title',
|
|
149
|
+
text: 'Principali Vantaggi Tecnici',
|
|
150
|
+
level: 3,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'<strong>Zero Richieste HTTP:</strong> Incorporando la grafica nei tuoi file <code>.css</code>, il browser non ha bisogno di scaricare ulteriori file esterni.',
|
|
156
|
+
'<strong>Personalizzazione tramite CSS Mask:</strong> Usando la tecnica <code>mask-image</code>, puoi cambiare il colore di un\'icona vettoriale complessa semplicemente usando <code>background-color</code>.',
|
|
157
|
+
'<strong>Rendering Immediato:</strong> Eviti lo sfarfallio dei contenuti (FOUC) poiché le risorse visive critiche sono disponibili non appena il foglio di stile viene scaricato.',
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'title',
|
|
162
|
+
text: 'CSS Mask vs Sfondi',
|
|
163
|
+
level: 3,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
type: 'paragraph',
|
|
167
|
+
html: 'Molti sviluppatori usano semplicemente <code>background-image</code> per incorporare vettori, ma questo ha un limite: non è possibile cambiare il colore dell\'SVG dinamicamente dal CSS.',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
type: 'paragraph',
|
|
171
|
+
html: 'La nostra utility supporta la generazione di codice per <strong>CSS Mask</strong>. Applicando una <code>mask-image</code> con il Data URI generato, l\'icona funge da stencil, permettendo al <code>background-color</code> dell\'elemento di definire il colore finale dell\'icona. È il modo più professionale e flessibile per gestire le icone in Astro, Next.js o qualsiasi framework moderno.',
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
};
|