@jjlmoya/utils-developer 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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,126 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ColorConverterUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'farbkonverter-rgb-hex-hsl';
|
|
6
|
+
const title = 'Online Farbkonverter RGB HEX und HSL';
|
|
7
|
+
const description = 'Konvertieren Sie Farben sofort zwischen RGB, HEX und HSL. Generieren Sie komplementäre Farbharmonien und analysieren Sie den WCAG-Kontrast. 100 % clientseitig und privat.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Wie funktioniert der Farbkonverter für RGB zu HEX und HSL?',
|
|
12
|
+
answer: 'Das Tool nimmt Rot-, Grün- und Blauwerte (RGB) und verwendet mathematische Algorithmen, um diese in ihr Hexadezimal-Äquivalent (HEX) oder in Werte für Farbton, Sättigung und Helligkeit (HSL) umzurechnen. Es funktioniert auch umgekehrt.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Warum sollte ich in meinen Designs HSL anstelle von HEX verwenden?',
|
|
16
|
+
answer: 'Das HSL-Format ist viel intuitiver. Es ermöglicht Ihnen, Sättigung oder Helligkeit anzupassen, ohne den Farbton zu ändern, was das Erstellen harmonischer Paletten oder Schaltflächenzustände (Hover, Deaktiviert) erheblich erleichtert.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Was ist der relative Kontrastwert?',
|
|
20
|
+
answer: 'Dies ist eine Kennzahl, die die Lesbarkeit von Text auf einem Hintergrund basierend auf seiner Luminanz angibt. Ein hoher Kontrast stellt sicher, dass Menschen mit Sehbehinderungen den Inhalt gemäß den WCAG-Barrierefreiheitsrichtlinien lesen können.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Ist es sicher, diesen Online-Farbkonverter zu verwenden?',
|
|
24
|
+
answer: 'Absolut. Da er zu 100 % clientseitig ausgeführt wird, verlassen Ihre Farbdaten niemals Ihren Computer. Die gesamte Verarbeitung findet direkt in Ihrem Browser statt, was Privatsphäre und sofortige Leistung garantiert.',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const howToData = [
|
|
29
|
+
{ name: 'Farbe auswählen', text: 'Verwenden Sie die Schieberegler für Rot, Grün und Blau oder geben Sie einen HEX-Code direkt in das Textfeld ein.' },
|
|
30
|
+
{ name: 'RGB-Kanäle anpassen', text: 'Bewegen Sie die Schieberegler, um die Intensität jedes Kanals zu ändern und die Aktualisierung in Echtzeit zu sehen.' },
|
|
31
|
+
{ name: 'Format kopieren', text: 'Klicken Sie auf die Schaltfläche „Kopieren“ neben dem HEX-, RGB- oder HSL-Format, das Sie benötigen.' },
|
|
32
|
+
{ name: 'Harmonien erkunden', text: 'Klicken Sie auf die Harmoniefarben (komplementär, analog, triadisch), um sie in die Zwischenablage zu kopieren.' },
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
36
|
+
'@context': 'https://schema.org',
|
|
37
|
+
'@type': 'FAQPage',
|
|
38
|
+
mainEntity: faqData.map((item) => ({
|
|
39
|
+
'@type': 'Question',
|
|
40
|
+
name: item.question,
|
|
41
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'HowTo',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'SoftwareApplication',
|
|
56
|
+
name: title,
|
|
57
|
+
description,
|
|
58
|
+
applicationCategory: 'UtilityApplication',
|
|
59
|
+
operatingSystem: 'All',
|
|
60
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
61
|
+
inLanguage: 'de',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const ui: ColorConverterUI = {
|
|
65
|
+
labelPreview: 'Vorschau (Klicken zum Kopieren von HEX)',
|
|
66
|
+
labelHarmonies: 'Farbharmonien',
|
|
67
|
+
labelR: 'Rot',
|
|
68
|
+
labelG: 'Grün',
|
|
69
|
+
labelB: 'Blau',
|
|
70
|
+
labelComp: 'Komp.',
|
|
71
|
+
labelAna1: 'Analog 1',
|
|
72
|
+
labelAna2: 'Analog 2',
|
|
73
|
+
labelTri1: 'Triade 1',
|
|
74
|
+
labelTri2: 'Triade 2',
|
|
75
|
+
btnCopy: 'Kopieren',
|
|
76
|
+
btnCopied: 'Kopiert',
|
|
77
|
+
contrastLabel: 'Kontrast',
|
|
78
|
+
clickToCopy: 'Klicken zum Kopieren',
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const content: ToolLocaleContent<ColorConverterUI> = {
|
|
82
|
+
slug,
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
ui,
|
|
86
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
87
|
+
faq: faqData,
|
|
88
|
+
bibliographyTitle: 'Farben- und Webdesign-Ressourcen',
|
|
89
|
+
bibliography: [
|
|
90
|
+
{ name: 'W3C: CSS-Farbdokumentation', url: 'https://www.w3.org/TR/css-color-4/' },
|
|
91
|
+
{ name: 'MDN: HSL-Farbmodell-Leitfaden', url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl' },
|
|
92
|
+
{ name: 'WebAIM: Kontrast- und Barrierefreiheitsleitfaden', url: 'https://webaim.org/resources/contrastchecker/' },
|
|
93
|
+
],
|
|
94
|
+
howTo: howToData,
|
|
95
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
+
seo: [
|
|
97
|
+
{ type: 'title', text: 'RGB zu HEX und HSL Farbkonverter für Entwickler', level: 2 },
|
|
98
|
+
{
|
|
99
|
+
type: 'paragraph',
|
|
100
|
+
html: 'In der Welt der <strong>Frontend-Entwicklung</strong> und des <strong>UI/UX-Designs</strong> ist Farbmanagement eine ständige Aufgabe. Unser <strong>Online-Farbkonverter</strong> ermöglicht es Ihnen, Werte zwischen <strong>HEX, RGB und HSL</strong> sofort und mit mathematischer Präzision umzuwandeln.',
|
|
101
|
+
},
|
|
102
|
+
{ type: 'title', text: 'Farbformate: HEX, RGB und HSL', level: 3 },
|
|
103
|
+
{
|
|
104
|
+
type: 'list',
|
|
105
|
+
items: [
|
|
106
|
+
'<strong>HEX (Hexadezimal):</strong> Der De-facto-Standard für CSS. Kompakt und einfach im Code zu teilen.',
|
|
107
|
+
'<strong>RGB (Rot, Grün, Blau):</strong> Basierend auf dem additiven Lichtsystem. Ideal für die direkte Manipulation von Kanälen oder die Anwendung von Transparenz mit RGBA.',
|
|
108
|
+
'<strong>HSL (Hue, Saturation, Lightness):</strong> Das intuitivste Format. Passen Sie Farbton, Sättigung und Helligkeit an, um harmonische Paletten zu erstellen.',
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
{ type: 'title', text: 'Kontrast und WCAG-Barrierefreiheit', level: 3 },
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: 'Der Rechner enthält eine <strong>relative Kontrastmessung</strong> basierend auf der Luminanz. Dies hilft Ihnen, die <strong>WCAG</strong>-Richtlinien einzuhalten und sicherzustellen, dass Ihr Text auf ausgewählten Hintergründen lesbar ist.',
|
|
115
|
+
},
|
|
116
|
+
{ type: 'title', text: 'Automatische Farbharmonien', level: 3 },
|
|
117
|
+
{
|
|
118
|
+
type: 'list',
|
|
119
|
+
items: [
|
|
120
|
+
'<strong>Komplementär:</strong> Die gegenüberliegende Farbe im Farbkreis, ideal für maximalen Kontrast.',
|
|
121
|
+
'<strong>Analog:</strong> Benachbarte Farben, die sanfte, harmonische Übergänge schaffen.',
|
|
122
|
+
'<strong>Triadisch:</strong> Drei äquidistante Farben für lebendige, ausgewogene Kompositionen.',
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ColorConverterUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'konverter-warna-rgb-hex-hsl';
|
|
6
|
+
const title = 'Konverter Warna Online RGB HEX dan HSL';
|
|
7
|
+
const description = 'Konversikan warna antara RGB, HEX, dan HSL secara instan. Hasilkan harmoni warna komplementer dan analisis kontras WCAG. 100% sisi klien dan pribadi.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Bagaimana cara kerja konverter warna RGB ke HEX dan HSL?',
|
|
12
|
+
answer: 'Alat ini mengambil nilai Merah, Hijau, dan Biru (RGB) dan menggunakan algoritma matematika untuk mengonversinya ke padanan heksadesimal (HEX) atau nilai Hue, Saturation, Lightness (HSL). Ini juga bekerja secara terbalik.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Mengapa saya harus menggunakan HSL daripada HEX dalam desain saya?',
|
|
16
|
+
answer: 'Format HSL jauh lebih intuitif. Ini memungkinkan Anda menyesuaikan saturasi atau kecerahan tanpa mengubah corak warna (hue), sehingga jauh lebih mudah untuk membuat palet yang harmonis atau status tombol (hover, dinonaktifkan).',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Apa itu nilai kontras relatif?',
|
|
20
|
+
answer: 'Ini adalah metrik yang menunjukkan keterbacaan teks terhadap latar belakang berdasarkan luminansinya. Kontras tinggi memastikan orang dengan gangguan penglihatan dapat membaca konten, mengikuti pedoman aksesibilitas WCAG.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Apakah aman menggunakan konverter warna online ini?',
|
|
24
|
+
answer: 'Tentu saja. Karena 100% berbasis sisi klien, data warna Anda tidak pernah meninggalkan komputer Anda. Semua pemrosesan terjadi langsung di browser Anda, menjamin privasi dan performa instan.',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const howToData = [
|
|
29
|
+
{ name: 'Pilih Warna', text: 'Gunakan penggeser Merah, Hijau, dan Biru atau ketik kode HEX secara langsung ke kolom teks.' },
|
|
30
|
+
{ name: 'Sesuaikan Saluran RGB', text: 'Gerakkan penggeser untuk mengubah intensitas setiap saluran dan lihat pembaruan waktu nyata.' },
|
|
31
|
+
{ name: 'Salin Format', text: 'Klik tombol Salin di samping format HEX, RGB, atau HSL yang Anda butuhkan.' },
|
|
32
|
+
{ name: 'Jelajahi Harmoni', text: 'Klik pada warna harmoni (komplementer, analog, triadik) untuk menyalinnya ke papan klip.' },
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
36
|
+
'@context': 'https://schema.org',
|
|
37
|
+
'@type': 'FAQPage',
|
|
38
|
+
mainEntity: faqData.map((item) => ({
|
|
39
|
+
'@type': 'Question',
|
|
40
|
+
name: item.question,
|
|
41
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'HowTo',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'SoftwareApplication',
|
|
56
|
+
name: title,
|
|
57
|
+
description,
|
|
58
|
+
applicationCategory: 'UtilityApplication',
|
|
59
|
+
operatingSystem: 'All',
|
|
60
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
61
|
+
inLanguage: 'id',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const ui: ColorConverterUI = {
|
|
65
|
+
labelPreview: 'Pratinjau (klik untuk menyalin HEX)',
|
|
66
|
+
labelHarmonies: 'Harmoni Warna',
|
|
67
|
+
labelR: 'Merah',
|
|
68
|
+
labelG: 'Hijau',
|
|
69
|
+
labelB: 'Biru',
|
|
70
|
+
labelComp: 'Komp.',
|
|
71
|
+
labelAna1: 'Analog 1',
|
|
72
|
+
labelAna2: 'Analog 2',
|
|
73
|
+
labelTri1: 'Triadik 1',
|
|
74
|
+
labelTri2: 'Triadik 2',
|
|
75
|
+
btnCopy: 'Salin',
|
|
76
|
+
btnCopied: 'Tersalin',
|
|
77
|
+
contrastLabel: 'Kontras',
|
|
78
|
+
clickToCopy: 'Klik untuk menyalin',
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const content: ToolLocaleContent<ColorConverterUI> = {
|
|
82
|
+
slug,
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
ui,
|
|
86
|
+
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
87
|
+
faq: faqData,
|
|
88
|
+
bibliographyTitle: 'Sumber Daya Desain Warna dan Web',
|
|
89
|
+
bibliography: [
|
|
90
|
+
{ name: 'W3C: Dokumentasi Warna CSS', url: 'https://www.w3.org/TR/css-color-4/' },
|
|
91
|
+
{ name: 'MDN: Panduan Model Warna HSL', url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl' },
|
|
92
|
+
{ name: 'WebAIM: Panduan Kontras dan Aksesibilitas', url: 'https://webaim.org/resources/contrastchecker/' },
|
|
93
|
+
],
|
|
94
|
+
howTo: howToData,
|
|
95
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
+
seo: [
|
|
97
|
+
{ type: 'title', text: 'Konverter Warna RGB ke HEX dan HSL untuk Pengembang', level: 2 },
|
|
98
|
+
{
|
|
99
|
+
type: 'paragraph',
|
|
100
|
+
html: 'Dalam dunia <strong>pengembangan frontend</strong> dan <strong>desain UI/UX</strong>, manajemen warna adalah tugas yang konstan. <strong>Konverter warna online</strong> kami memungkinkan Anda mengubah nilai antara <strong>HEX, RGB, dan HSL</strong> secara instan dan dengan presisi matematis.',
|
|
101
|
+
},
|
|
102
|
+
{ type: 'title', text: 'Format Warna: HEX, RGB, dan HSL', level: 3 },
|
|
103
|
+
{
|
|
104
|
+
type: 'list',
|
|
105
|
+
items: [
|
|
106
|
+
'<strong>HEX (Heksadesimal):</strong> Standar de facto untuk CSS. Ringkas dan mudah dibagikan dalam kode.',
|
|
107
|
+
'<strong>RGB (Merah, Hijau, Biru):</strong> Berdasarkan sistem cahaya aditif. Ideal untuk memanipulasi saluran secara langsung atau menerapkan transparansi dengan RGBA.',
|
|
108
|
+
'<strong>HSL (Hue, Saturation, Lightness):</strong> Format yang paling intuitif. Sesuaikan hue, saturasi, dan kecerahan untuk membuat palet yang harmonis.',
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
{ type: 'title', text: 'Kontras dan Aksesibilitas WCAG', level: 3 },
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: 'Kalkulator ini mencakup pengukuran <strong>kontras relatif</strong> berdasarkan luminansi. Ini membantu Anda memenuhi pedoman <strong>WCAG</strong>, memastikan teks Anda terbaca di latar belakang yang dipilih.',
|
|
115
|
+
},
|
|
116
|
+
{ type: 'title', text: 'Harmoni Warna Otomatis', level: 3 },
|
|
117
|
+
{
|
|
118
|
+
type: 'list',
|
|
119
|
+
items: [
|
|
120
|
+
'<strong>Komplementer:</strong> Warna yang berlawanan pada roda warna, ideal untuk kontras maksimum.',
|
|
121
|
+
'<strong>Analog:</strong> Warna-warna berdekatan yang menciptakan transisi halus dan harmonis.',
|
|
122
|
+
'<strong>Triadik:</strong> Tiga warna berjarak sama untuk komposisi yang semarak dan seimbang.',
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ColorConverterUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'convertitore-colore-rgb-hex-hsl';
|
|
6
|
+
const title = 'Convertitore Colore Online RGB HEX e HSL';
|
|
7
|
+
const description = 'Converti i colori tra RGB, HEX e HSL istantaneamente. Genera armonie cromatiche complementari e analizza il contrasto WCAG. 100% lato client e privato.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Come funziona il convertitore di colori da RGB a HEX e HSL?',
|
|
12
|
+
answer: 'Lo strumento prende i valori di Rosso, Verde e Blu (RGB) e utilizza algoritmi matematici per convertirli nel loro equivalente esadecimale (HEX) o nei valori di Tonalità, Saturazione, Luminosità (HSL). Funziona anche al contrario.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Perché dovrei usare HSL invece di HEX nei miei progetti?',
|
|
16
|
+
answer: 'Il formato HSL è molto più intuitivo. Permette di regolare la saturazione o la luminosità senza cambiare la tonalità, rendendo molto più facile creare tavolozze armoniche o stati dei pulsanti (hover, disabilitato).',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Cos\'è il valore di contrasto relativo?',
|
|
20
|
+
answer: 'È una metrica che indica la leggibilità del testo rispetto a uno sfondo basata sulla sua luminanza. Un contrasto elevato assicura che le persone con disabilità visive possano leggere il contenuto, seguendo le linee guida sull\'accessibilità WCAG.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'È sicuro usare questo convertitore di colori online?',
|
|
24
|
+
answer: 'Assolutamente sì. Essendo al 100% lato client, i dati sui tuoi colori non lasciano mai il tuo computer. Tutta l\'elaborazione avviene direttamente nel tuo browser, garantendo privacy e prestazioni istantanee.',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const howToData = [
|
|
29
|
+
{ name: 'Seleziona un colore', text: 'Usa i cursori Rosso, Verde e Blu o digita un codice HEX direttamente nel campo di testo.' },
|
|
30
|
+
{ name: 'Regola i canali RGB', text: 'Sposta i cursori per cambiare l\'intensità di ogni canale e vedere l\'aggiornamento in tempo reale.' },
|
|
31
|
+
{ name: 'Copia il formato', text: 'Fai clic sul pulsante Copia accanto al formato HEX, RGB o HSL di cui hai bisogno.' },
|
|
32
|
+
{ name: 'Esplora le armonie', text: 'Fai clic sui colori delle armonie (complementari, analoghi, triadici) per copiarli negli appunti.' },
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
36
|
+
'@context': 'https://schema.org',
|
|
37
|
+
'@type': 'FAQPage',
|
|
38
|
+
mainEntity: faqData.map((item) => ({
|
|
39
|
+
'@type': 'Question',
|
|
40
|
+
name: item.question,
|
|
41
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'HowTo',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'SoftwareApplication',
|
|
56
|
+
name: title,
|
|
57
|
+
description,
|
|
58
|
+
applicationCategory: 'UtilityApplication',
|
|
59
|
+
operatingSystem: 'All',
|
|
60
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
61
|
+
inLanguage: 'it',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const ui: ColorConverterUI = {
|
|
65
|
+
labelPreview: 'Anteprima (clicca per copiare HEX)',
|
|
66
|
+
labelHarmonies: 'Armonie Cromatiche',
|
|
67
|
+
labelR: 'Rosso',
|
|
68
|
+
labelG: 'Verde',
|
|
69
|
+
labelB: 'Blu',
|
|
70
|
+
labelComp: 'Comp.',
|
|
71
|
+
labelAna1: 'Analogo 1',
|
|
72
|
+
labelAna2: 'Analogo 2',
|
|
73
|
+
labelTri1: 'Triade 1',
|
|
74
|
+
labelTri2: 'Triade 2',
|
|
75
|
+
btnCopy: 'Copia',
|
|
76
|
+
btnCopied: 'Copiato',
|
|
77
|
+
contrastLabel: 'Contrasto',
|
|
78
|
+
clickToCopy: 'Clicca per copiare',
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const content: ToolLocaleContent<ColorConverterUI> = {
|
|
82
|
+
slug,
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
ui,
|
|
86
|
+
faqTitle: 'Domande Frequenti',
|
|
87
|
+
faq: faqData,
|
|
88
|
+
bibliographyTitle: 'Risorse di Design del Colore e Web',
|
|
89
|
+
bibliography: [
|
|
90
|
+
{ name: 'W3C: Documentazione del colore CSS', url: 'https://www.w3.org/TR/css-color-4/' },
|
|
91
|
+
{ name: 'MDN: Guida al modello di colore HSL', url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl' },
|
|
92
|
+
{ name: 'WebAIM: Guida al contrasto e all\'accessibilità', url: 'https://webaim.org/resources/contrastchecker/' },
|
|
93
|
+
],
|
|
94
|
+
howTo: howToData,
|
|
95
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
+
seo: [
|
|
97
|
+
{ type: 'title', text: 'Convertitore Colore da RGB a HEX e HSL per Sviluppatori', level: 2 },
|
|
98
|
+
{
|
|
99
|
+
type: 'paragraph',
|
|
100
|
+
html: 'Nel mondo dello <strong>sviluppo frontend</strong> e del <strong>design UI/UX</strong>, la gestione del colore è un compito costante. Il nostro <strong>convertitore di colori online</strong> ti permette di trasformare i valori tra <strong>HEX, RGB e HSL</strong> istantaneamente e con precisione matematica.',
|
|
101
|
+
},
|
|
102
|
+
{ type: 'title', text: 'Formati di Colore: HEX, RGB e HSL', level: 3 },
|
|
103
|
+
{
|
|
104
|
+
type: 'list',
|
|
105
|
+
items: [
|
|
106
|
+
'<strong>HEX (Esadecimale):</strong> Lo standard di fatto per i CSS. Compatto e facile da condividere nel codice.',
|
|
107
|
+
'<strong>RGB (Red, Green, Blue):</strong> Basato sul sistema di luce additiva. Ideale per manipolare i canali direttamente o applicare la trasparenza con RGBA.',
|
|
108
|
+
'<strong>HSL (Hue, Saturation, Lightness):</strong> Il formato più intuitivo. Regola tonalità, saturazione e luminosità per creare tavolozze armoniche.',
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
{ type: 'title', text: 'Contrasto e accessibilità WCAG', level: 3 },
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: 'Il calcolatore include una misurazione del <strong>contrasto relativo</strong> basata sulla luminanza. Questo ti aiuta a rispettare le linee guida <strong>WCAG</strong>, assicurando che il tuo testo sia leggibile rispetto agli sfondi selezionati.',
|
|
115
|
+
},
|
|
116
|
+
{ type: 'title', text: 'Armonie automatiche dei colori', level: 3 },
|
|
117
|
+
{
|
|
118
|
+
type: 'list',
|
|
119
|
+
items: [
|
|
120
|
+
'<strong>Complementare:</strong> Il colore opposto sulla ruota dei colori, ideale per il massimo contrasto.',
|
|
121
|
+
'<strong>Analogo:</strong> Colori adiacenti che creano transizioni morbide e armoniche.',
|
|
122
|
+
'<strong>Triadico:</strong> Tre colori equidistanti per composizioni vibranti e bilanciate.',
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ColorConverterUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'color-converter-rgb-hex-hsl';
|
|
6
|
+
const title = 'オンライン・カラーコンバーター:RGB, HEX, HSL';
|
|
7
|
+
const description = 'RGB、HEX、HSL間ですぐに色を変換できます。補色ハーモニーの生成やWCAGコントラストの分析も可能。100%クライアントサイドでプライバシーも安心。';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'RGBからHEXやHSLへのカラーコンバーターはどのように機能しますか?',
|
|
12
|
+
answer: 'このツールは赤、緑、青(RGB)の値を受け取り、数学的アルゴリズムを使用して、それらに相当する16進数(HEX)や、色相、彩度、輝度(HSL)の値に変換します。逆の変換も可能です。',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'デザインでHEXの代わりにHSLを使用すべきなのはなぜですか?',
|
|
16
|
+
answer: 'HSL形式は非常に直感的だからです。色相を変えずに彩度や輝度を調整できるため、調和のとれたパレットやボタンの状態(ホバー、無効)をはるかに簡単に作成できます。',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: '相対コントラスト値とは何ですか?',
|
|
20
|
+
answer: '輝度に基づいて、背景に対するテキストの読みやすさを示す指標です。ハイコントラストを維持することで、WCAGのアクセシビリティ・ガイドラインに従い、視覚障害のある方でもコンテンツを読めるようになります。',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'このオンライン・カラーコンバーターを使っても安全ですか?',
|
|
24
|
+
answer: 'はい、もちろんです。100%クライアントサイドで動作するため、色のデータがコンピュータの外に出ることはありません。すべての処理はブラウザ内で直接行われるため、プライバシーと即時のパフォーマンスが保証されます。',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const howToData = [
|
|
29
|
+
{ name: '色を選択する', text: '赤、緑、青のスライダーを使用するか、テキストフィールドにHEXコードを直接入力します。' },
|
|
30
|
+
{ name: 'RGBチャンネルを調整する', text: 'スライダーを動かして各チャンネルの強度を変更し、リアルタイムの更新を確認します。' },
|
|
31
|
+
{ name: '形式をコピーする', text: '必要なHEX、RGB、HSL形式の隣にある「コピー」ボタンをクリックします。' },
|
|
32
|
+
{ name: 'ハーモニーを探索する', text: 'ハーモニーカラー(補色、類似色、三補色)をクリックして、クリップボードにコピーします。' },
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
36
|
+
'@context': 'https://schema.org',
|
|
37
|
+
'@type': 'FAQPage',
|
|
38
|
+
mainEntity: faqData.map((item) => ({
|
|
39
|
+
'@type': 'Question',
|
|
40
|
+
name: item.question,
|
|
41
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'HowTo',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'SoftwareApplication',
|
|
56
|
+
name: title,
|
|
57
|
+
description,
|
|
58
|
+
applicationCategory: 'UtilityApplication',
|
|
59
|
+
operatingSystem: 'All',
|
|
60
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
61
|
+
inLanguage: 'ja',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const ui: ColorConverterUI = {
|
|
65
|
+
labelPreview: 'プレビュー(クリックでHEXをコピー)',
|
|
66
|
+
labelHarmonies: 'カラーハーモニー',
|
|
67
|
+
labelR: '赤',
|
|
68
|
+
labelG: '緑',
|
|
69
|
+
labelB: '青',
|
|
70
|
+
labelComp: '補色',
|
|
71
|
+
labelAna1: '類似 1',
|
|
72
|
+
labelAna2: '類似 2',
|
|
73
|
+
labelTri1: '三補色 1',
|
|
74
|
+
labelTri2: '三補色 2',
|
|
75
|
+
btnCopy: 'コピー',
|
|
76
|
+
btnCopied: 'コピーしました',
|
|
77
|
+
contrastLabel: 'コントラスト',
|
|
78
|
+
clickToCopy: 'クリックしてコピー',
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const content: ToolLocaleContent<ColorConverterUI> = {
|
|
82
|
+
slug,
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
ui,
|
|
86
|
+
faqTitle: 'よくある質問',
|
|
87
|
+
faq: faqData,
|
|
88
|
+
bibliographyTitle: '色とウェブデザインのリソース',
|
|
89
|
+
bibliography: [
|
|
90
|
+
{ name: 'W3C: CSSカラー・ドキュメント', url: 'https://www.w3.org/TR/css-color-4/' },
|
|
91
|
+
{ name: 'MDN: HSLカラーモデル・ガイド', url: 'https://developer.mozilla.org/ja/docs/Web/CSS/color_value/hsl' },
|
|
92
|
+
{ name: 'WebAIM: コントラストとアクセシビリティ・ガイド', url: 'https://webaim.org/resources/contrastchecker/' },
|
|
93
|
+
],
|
|
94
|
+
howTo: howToData,
|
|
95
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
+
seo: [
|
|
97
|
+
{ type: 'title', text: '開発者のためのRGB・HEX・HSLカラーコンバーター', level: 2 },
|
|
98
|
+
{
|
|
99
|
+
type: 'paragraph',
|
|
100
|
+
html: '<strong>フロントエンド開発</strong>や<strong>UI/UXデザイン</strong>の世界では、色の管理は欠かせないタスクです。当社の<strong>オンライン・カラーコンバーター</strong>を使用すると、<strong>HEX、RGB、HSL</strong>の間で値を瞬時に、かつ数学的な精度で変換できます。',
|
|
101
|
+
},
|
|
102
|
+
{ type: 'title', text: '色の形式:HEX, RGB, HSL', level: 3 },
|
|
103
|
+
{
|
|
104
|
+
type: 'list',
|
|
105
|
+
items: [
|
|
106
|
+
'<strong>HEX(16進数):</strong>CSSの事実上の標準です。コンパクトでコード内で共有しやすい形式です。',
|
|
107
|
+
'<strong>RGB(赤、緑、青):</strong>加法混色に基づいています。チャンネルを直接操作したり、RGBAで透明度を適用したりするのに適しています。',
|
|
108
|
+
'<strong>HSL(色相、彩度、輝度):</strong>最も直感的な形式です。色相、彩度、輝度を調整して、調和のとれたパレットを作成するのに最適です。',
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
{ type: 'title', text: 'コントラストとWCAGアクセシビリティ', level: 3 },
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: 'この計算機には、輝度に基づく<strong>相対コントラスト</strong>の測定機能が含まれています。これにより、<strong>WCAG</strong>のガイドラインを満たし、選択した背景に対してテキストが読みやすいことを確認できます。',
|
|
115
|
+
},
|
|
116
|
+
{ type: 'title', text: '自動カラーハーモニー', level: 3 },
|
|
117
|
+
{
|
|
118
|
+
type: 'list',
|
|
119
|
+
items: [
|
|
120
|
+
'<strong>補色(Complementary):</strong>色相環の反対側の色で、コントラストを最大化するのに最適です。',
|
|
121
|
+
'<strong>類似色(Analogous):</strong>隣接する色で、滑らかで調和のとれた遷移を作り出します。',
|
|
122
|
+
'<strong>三補色(Triadic):</strong>等間隔に配置された3つの色で、活気がありバランスの取れた構成を実現します。',
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
};
|
|
127
|
+
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ColorConverterUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'color-converter-rgb-hex-hsl';
|
|
6
|
+
const title = '온라인 컬러 컨버터 RGB HEX 및 HSL';
|
|
7
|
+
const description = 'RGB, HEX, HSL 간에 색상을 즉시 변환하세요. 보색 조화를 생성하고 WCAG 대비를 분석합니다. 100% 클라이언트 측에서 실행되며 개인정보를 보호합니다.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'RGB에서 HEX 및 HSL로의 색상 변환기는 어떻게 작동하나요?',
|
|
12
|
+
answer: '이 도구는 빨강, 초록, 파랑(RGB) 값을 가져와 수학적 알고리즘을 사용하여 이에 해당하는 16진수(HEX) 또는 색상, 채도, 명도(HSL) 값으로 변환합니다. 반대 방향으로도 작동합니다.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: '디자인에서 HEX 대신 HSL을 사용해야 하는 이유는 무엇인가요?',
|
|
16
|
+
answer: 'HSL 형식은 훨씬 더 직관적이기 때문입니다. 색조를 바꾸지 않고 채도나 명도를 조절할 수 있어 조화로운 팔레트나 버튼 상태(호버, 비활성화)를 만들기가 훨씬 쉽습니다.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: '상대 대비 값이란 무엇인가요?',
|
|
20
|
+
answer: '휘도를 기준으로 배경에 대한 텍스트의 가독성을 나타내는 지표입니다. 높은 대비는 시각 장애가 있는 사람들도 WCAG 접근성 지침에 따라 콘텐츠를 읽을 수 있도록 보장합니다.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: '이 온라인 색상 변환기를 사용하는 것이 안전한가요?',
|
|
24
|
+
answer: '물론입니다. 100% 클라이언트 측에서 실행되므로 색상 데이터가 사용자의 컴퓨터를 떠나지 않습니다. 모든 처리가 브라우저 내에서 직접 이루어지므로 개인정보 보호와 즉각적인 성능을 보장합니다.',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const howToData = [
|
|
29
|
+
{ name: '색상 선택', text: '빨강, 초록, 파랑 슬라이더를 사용하거나 텍스트 필드에 HEX 코드를 직접 입력하세요.' },
|
|
30
|
+
{ name: 'RGB 채널 조정', text: '슬라이더를 움직여 각 채널의 강도를 변경하고 실시간 업데이트를 확인하세요.' },
|
|
31
|
+
{ name: '형식 복사', text: '필요한 HEX, RGB 또는 HSL 형식 옆의 복사 버튼을 클릭하세요.' },
|
|
32
|
+
{ name: '조화 탐색', text: '조화 색상(보색, 유사색, 삼보색)을 클릭하여 클립보드에 복사하세요.' },
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
36
|
+
'@context': 'https://schema.org',
|
|
37
|
+
'@type': 'FAQPage',
|
|
38
|
+
mainEntity: faqData.map((item) => ({
|
|
39
|
+
'@type': 'Question',
|
|
40
|
+
name: item.question,
|
|
41
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
42
|
+
})),
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
46
|
+
'@context': 'https://schema.org',
|
|
47
|
+
'@type': 'HowTo',
|
|
48
|
+
name: title,
|
|
49
|
+
description,
|
|
50
|
+
step: howToData.map((s, i) => ({ '@type': 'HowToStep', position: i + 1, name: s.name, text: s.text })),
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'SoftwareApplication',
|
|
56
|
+
name: title,
|
|
57
|
+
description,
|
|
58
|
+
applicationCategory: 'UtilityApplication',
|
|
59
|
+
operatingSystem: 'All',
|
|
60
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
61
|
+
inLanguage: 'ko',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const ui: ColorConverterUI = {
|
|
65
|
+
labelPreview: '미리보기 (HEX를 복사하려면 클릭)',
|
|
66
|
+
labelHarmonies: '색상 조화',
|
|
67
|
+
labelR: '빨강',
|
|
68
|
+
labelG: '초록',
|
|
69
|
+
labelB: '파랑',
|
|
70
|
+
labelComp: '보색',
|
|
71
|
+
labelAna1: '유사 1',
|
|
72
|
+
labelAna2: '유사 2',
|
|
73
|
+
labelTri1: '삼보색 1',
|
|
74
|
+
labelTri2: '삼보색 2',
|
|
75
|
+
btnCopy: '복사',
|
|
76
|
+
btnCopied: '복사됨',
|
|
77
|
+
contrastLabel: '대비',
|
|
78
|
+
clickToCopy: '클릭하여 복사',
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const content: ToolLocaleContent<ColorConverterUI> = {
|
|
82
|
+
slug,
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
ui,
|
|
86
|
+
faqTitle: '자주 묻는 질문',
|
|
87
|
+
faq: faqData,
|
|
88
|
+
bibliographyTitle: '색상 및 웹 디자인 리소스',
|
|
89
|
+
bibliography: [
|
|
90
|
+
{ name: 'W3C: CSS 색상 문서', url: 'https://www.w3.org/TR/css-color-4/' },
|
|
91
|
+
{ name: 'MDN: HSL 색상 모델 가이드', url: 'https://developer.mozilla.org/ko/docs/Web/CSS/color_value/hsl' },
|
|
92
|
+
{ name: 'WebAIM: 대비 및 접근성 가이드', url: 'https://webaim.org/resources/contrastchecker/' },
|
|
93
|
+
],
|
|
94
|
+
howTo: howToData,
|
|
95
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
+
seo: [
|
|
97
|
+
{ type: 'title', text: '개발자를 위한 RGB에서 HEX 및 HSL 색상 변환기', level: 2 },
|
|
98
|
+
{
|
|
99
|
+
type: 'paragraph',
|
|
100
|
+
html: '<strong>프론트엔드 개발</strong> 및 <strong>UI/UX 디자인</strong>의 세계에서 색상 관리는 끊임없는 작업입니다. 당사의 <strong>온라인 색상 변환기</strong>를 사용하면 <strong>HEX, RGB, HSL</strong> 간의 값을 즉시 수학적 정밀도로 변환할 수 있습니다.',
|
|
101
|
+
},
|
|
102
|
+
{ type: 'title', text: '색상 형식: HEX, RGB 및 HSL', level: 3 },
|
|
103
|
+
{
|
|
104
|
+
type: 'list',
|
|
105
|
+
items: [
|
|
106
|
+
'<strong>HEX (16진수):</strong> CSS의 사실상 표준입니다. 작고 코드 내에서 공유하기 쉽습니다.',
|
|
107
|
+
'<strong>RGB (빨강, 초록, 파랑):</strong> 가산 혼합 시스템을 기반으로 합니다. 채널을 직접 조작하거나 RGBA로 투명도를 적용하는 데 이상적입니다.',
|
|
108
|
+
'<strong>HSL (색상, 채도, 명도):</strong> 가장 직관적인 형식입니다. 색조, 채도, 명도를 조정하여 조화로운 팔레트를 만드세요.',
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
{ type: 'title', text: '대비 및 WCAG 접근성', level: 3 },
|
|
112
|
+
{
|
|
113
|
+
type: 'paragraph',
|
|
114
|
+
html: '계산기에는 휘도를 기반으로 한 <strong>상대 대비</strong> 측정 기능이 포함되어 있습니다. 이를 통해 <strong>WCAG</strong> 지침을 준수하고 텍스트를 선택한 배경에서 읽을 수 있는지 확인할 수 있습니다.',
|
|
115
|
+
},
|
|
116
|
+
{ type: 'title', text: '자동 색상 조화', level: 3 },
|
|
117
|
+
{
|
|
118
|
+
type: 'list',
|
|
119
|
+
items: [
|
|
120
|
+
'<strong>보색 (Complementary):</strong> 색상환에서 반대되는 색상으로 최소 대비를 극대화하는 데 이상적입니다.',
|
|
121
|
+
'<strong>유사색 (Analogous):</strong> 부드럽고 조화로운 전환을 만드는 인접한 색상입니다.',
|
|
122
|
+
'<strong>삼보색 (Triadic):</strong> 활기차고 균형 잡힌 구성을 위한 세 가지 등거리 색상입니다.',
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
};
|
|
127
|
+
|