@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,177 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { AspectRatioUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'kalkulator-proporcji-obrazu';
|
|
6
|
+
const title = 'Kalkulator proporcji obrazu w pikselach. Proporcje online';
|
|
7
|
+
const description =
|
|
8
|
+
'Obliczaj nowe rozdzielczości obrazu, wideo i projektów stron internetowych, zachowując dokładne proporcje, aby uniknąć zniekształceń grafiki. Obsługuje formaty 16:9, 4:3, 21:9 i niestandardowe.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Co to jest proporcja obrazu (Aspect Ratio)?',
|
|
13
|
+
answer:
|
|
14
|
+
'Proporcja obrazu opisuje geometryczną zależność między szerokością a wysokością obrazu lub ekranu. Jest reprezentowana przez dwie liczby oddzielone dwukropkiem (np. 16:9), wskazując, jak wysokość zmienia się proporcjonalnie w stosunku do szerokości.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Dlaczego ważne jest zachowanie poprawnych proporcji?',
|
|
18
|
+
answer:
|
|
19
|
+
'Ignorowanie proporcji obrazu powoduje, że obrazy są spłaszczone lub rozciągnięte, w filmach pojawiają się nieoczekiwane czarne pasy (letterboxing), a komponenty stron internetowych tracą swój układ na ekranach o różnych rozmiarach. Zachowanie poprawnych proporcji jest kluczem do profesjonalnego wyglądu.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Jak obliczyć wysokość na podstawie szerokości przy danej proporcji?',
|
|
23
|
+
answer:
|
|
24
|
+
'Wzór to: Wysokość = Szerokość × (Wysokość proporcji / Szerokość proporcji). Na przykład, dla szerokości 1280px przy proporcji 16:9, wysokość wyniesie: 1280 × (9/16) = 720px.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Jaka jest standardowa proporcja obrazu dla filmów na YouTube?',
|
|
28
|
+
answer:
|
|
29
|
+
'Standardową proporcją dla YouTube i większości nowoczesnych platform wideo jest 16:9. Odpowiada ona rozdzielczościom takim jak 1280×720 (HD), 1920×1080 (Full HD) lub 3840×2160 (4K UHD).',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Jakie proporcje obrazu mają pionowe filmy w mediach społecznościowych?',
|
|
33
|
+
answer:
|
|
34
|
+
'9:16, co jest dokładnym odwróceniem formatu panoramicznego. Jest to natywna proporcja dla TikTok, Instagram Reels i YouTube Shorts, wynikająca z korzystania z telefonów komórkowych w pionie.',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const howToData = [
|
|
39
|
+
{
|
|
40
|
+
name: 'Wprowadź oryginalną proporcję',
|
|
41
|
+
text: 'Wpisz szerokość i wysokość proporcji, którą chcesz zachować (np. 16 i 9 dla panoramy) lub wybierz jedno z gotowych ustawień.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Dostosuj skalę',
|
|
45
|
+
text: 'Zmień wartość szerokości lub wysokości w sekcji „Rzeczywista skala”. Narzędzie automatycznie obliczy drugą wartość, aby zachować proporcje.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Sprawdź podgląd',
|
|
49
|
+
text: 'Panel podglądu pokazuje wynikowy kształt w skali proporcjonalnej, wraz z uproszczoną proporcją i obliczoną rozdzielczością.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'Zastosuj w swoim projekcie',
|
|
53
|
+
text: 'Skopiuj obliczone wartości, aby użyć ich w CSS (aspect-ratio: 16 / 9), przy eksporcie wideo lub w ustawieniach narzędzia projektowego.',
|
|
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: 'pl',
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const ui: AspectRatioUI = {
|
|
92
|
+
labelConfig: 'Konfiguracja',
|
|
93
|
+
labelRatio: 'Oryginalna proporcja',
|
|
94
|
+
labelWidth: 'Szerokość',
|
|
95
|
+
labelHeight: 'Wysokość',
|
|
96
|
+
labelScale: 'Rzeczywista skala',
|
|
97
|
+
labelPixelWidth: 'Piksele (Szerokość)',
|
|
98
|
+
labelPixelHeight: 'Piksele (Wysokość)',
|
|
99
|
+
labelPreview: 'Podgląd proporcjonalny',
|
|
100
|
+
labelStatus: 'Idealna proporcja',
|
|
101
|
+
labelOffline: 'Narzędzie 100% offline',
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export const content: ToolLocaleContent<AspectRatioUI> = {
|
|
105
|
+
slug,
|
|
106
|
+
title,
|
|
107
|
+
description,
|
|
108
|
+
ui,
|
|
109
|
+
faqTitle: 'Często zadawane pytania',
|
|
110
|
+
faq: faqData,
|
|
111
|
+
bibliographyTitle: 'Referencje i dokumentacja',
|
|
112
|
+
bibliography: [
|
|
113
|
+
{
|
|
114
|
+
name: 'MDN Web Docs: aspect-ratio (CSS)',
|
|
115
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'Wikipedia: Proporcje obrazu',
|
|
119
|
+
url: 'https://pl.wikipedia.org/wiki/Proporcje_obrazu',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'W3C: CSS Box Sizing Level 4',
|
|
123
|
+
url: 'https://www.w3.org/TR/css-sizing-4/#aspect-ratio',
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
howTo: howToData,
|
|
127
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
128
|
+
seo: [
|
|
129
|
+
{
|
|
130
|
+
type: 'title',
|
|
131
|
+
text: 'Co to jest proporcja obrazu?',
|
|
132
|
+
level: 2,
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'paragraph',
|
|
136
|
+
html: 'W projektowaniu graficznym, fotografii i programowaniu frontendowym <strong>proporcja obrazu</strong> (Aspect Ratio) opisuje geometryczną zależność między szerokością a wysokością obrazu, ekranu lub kontenera. Zazwyczaj jest reprezentowana przez dwie liczby oddzielone dwukropkiem (np. <code>16:9</code>), wskazując, jak wysokość zmienia się proporcjonalnie w odpowiedzi na szerokość.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'Błędne zarządzanie proporcjami jest częstą przyczyną spłaszczonych zdjęć, filmów z nieoczekiwanym przycięciem (letterboxing) lub komponentów stron internetowych, które tracą swój układ przy przeglądaniu na różnych urządzeniach – od telefonów po monitory panoramiczne.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Typowe proporcje w branży',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'W zależności od Twojej dyscypliny będziesz stale stykać się z ograniczoną liczbą światowych standardów proporcji:',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'list',
|
|
153
|
+
items: [
|
|
154
|
+
'<strong>16:9 (Panorama):</strong> Absolutnie dominujący format w nowoczesnych monitorach, telewizorach, nagraniach YouTube czy standardowych rozdzielczościach wysokiej jakości (takich jak 1920×1080 lub 4K).',
|
|
155
|
+
'<strong>9:16 (Pion):</strong> Wywodzi się z natywnego sposobu konsumpcji treści na urządzeniach mobilnych (TikTok, Instagram Reels, YouTube Shorts). Dokładnie te same proporcje co w wideo panoramicznym, ale przy fizycznym obróceniu urządzenia.',
|
|
156
|
+
'<strong>4:3 (Klasyczny / Vintage):</strong> Spotykany w starych telewizorach i monitorach oraz w analogowych i specjalistycznych cyfrowych modelach aparatów. Jego nieco kwadratowy wygląd kieruje uwagę bezpośrednio na centralną oś kompozycji.',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'title',
|
|
161
|
+
text: 'Programowanie stron i właściwość CSS aspect-ratio',
|
|
162
|
+
level: 3,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'paragraph',
|
|
166
|
+
html: 'Wcześniej w CSS używano skomplikowanych systemów matematycznych wykorzystujących <strong>Padding Hack</strong> (np. wstrzykiwanie <code>padding-top: 56.25%</code>) w celu zarezerwowania dynamicznej przestrzeni dla ramek iframe YouTube lub obrazów nagłówkowych, aby uniknąć problemu Cumulative Layout Shift (CLS) podczas ładowania strony.',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'paragraph',
|
|
170
|
+
html: 'Obecnie wszystkie nowoczesne układy bezpośrednio stosują właściwości takie jak <code>aspect-ratio: 16 / 9;</code>, co pozwala uzyskać semantyczny kod i umożliwia przeglądarce automatyczne wyliczenie brakującego wymiaru na podstawie oryginalnej szerokości zdefiniowanej przez Grid lub Flexbox.',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: 'paragraph',
|
|
174
|
+
html: 'Ten lokalny kalkulator pikseli przenosi możliwości projektowe na błyskawiczne obliczenia skalowania, które uchronią Twoje projekty przed katastrofalnymi błędami konfiguracji.',
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { AspectRatioUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'calculadora-proporcao-tela';
|
|
6
|
+
const title = 'Calculadora de Proporção (Aspect Ratio) em Pixels. Proporções Online';
|
|
7
|
+
const description =
|
|
8
|
+
'Calcule novas resoluções de imagem, vídeo e web design mantendo a proporção exata para evitar distorções gráficas. Suporta 16:9, 4:3, 21:9 e formatos personalizados.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'O que é Aspect Ratio (Proporção)?',
|
|
13
|
+
answer:
|
|
14
|
+
'O Aspect Ratio descreve a relação geométrica entre a largura e a altura de uma imagem ou tela. É representado por dois números separados por dois pontos (ex: 16:9), indicando como a altura muda proporcionalmente em relação à largura.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Por que é importante manter as proporções corretas?',
|
|
18
|
+
answer:
|
|
19
|
+
'Ignorar o Aspect Ratio causa imagens achatadas ou esticadas, barras pretas indesejadas (letterboxing) em vídeos e componentes web que quebram seu layout em diferentes tamanhos de tela. Manter as proporções corretas é fundamental para uma exibição profissional.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Como calculo a altura a partir da largura com uma determinada proporção?',
|
|
23
|
+
answer:
|
|
24
|
+
'A fórmula é: Altura = Largura × (Altura da Proporção / Largura da Proporção). Por exemplo, para uma largura de 1280px com uma proporção de 16:9, a altura seria: 1280 × (9/16) = 720px.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Qual é o Aspect Ratio padrão para vídeos do YouTube?',
|
|
28
|
+
answer:
|
|
29
|
+
'16:9 é a proporção padrão para o YouTube e a maioria das plataformas de vídeo modernas. Corresponde a resoluções como 1280×720 (HD), 1920×1080 (Full HD) ou 3840×2160 (4K UHD).',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Qual Aspect Ratio os vídeos verticais das redes sociais usam?',
|
|
33
|
+
answer:
|
|
34
|
+
'9:16, que é exatamente o inverso do formato widescreen. É a proporção nativa do TikTok, Instagram Reels e YouTube Shorts, originada do consumo de conteúdo em smartphones na vertical.',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const howToData = [
|
|
39
|
+
{
|
|
40
|
+
name: 'Insira a proporção original',
|
|
41
|
+
text: 'Insira os valores de largura e altura da proporção que deseja manter (ex: 16 e 9 para widescreen) ou selecione um dos modelos prontos.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Ajuste a escala',
|
|
45
|
+
text: 'Altere o valor da largura ou altura na seção "Escala Real". A ferramenta calculará automaticamente o valor oposto para manter a proporção.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Verifique a visualização',
|
|
49
|
+
text: 'O painel de pré-visualização mostra a forma resultante em escala proporcional, com a proporção simplificada e a resolução calculada.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'Aplique no seu projeto',
|
|
53
|
+
text: 'Copie os valores calculados para usar no seu CSS (aspect-ratio: 16 / 9), na exportação de vídeos ou nas configurações da sua ferramenta de design.',
|
|
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: 'pt',
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const ui: AspectRatioUI = {
|
|
92
|
+
labelConfig: 'Configuração',
|
|
93
|
+
labelRatio: 'Proporção Original',
|
|
94
|
+
labelWidth: 'Largura',
|
|
95
|
+
labelHeight: 'Altura',
|
|
96
|
+
labelScale: 'Escala Real',
|
|
97
|
+
labelPixelWidth: 'Pixels (Largura)',
|
|
98
|
+
labelPixelHeight: 'Pixels (Altura)',
|
|
99
|
+
labelPreview: 'Visualização Proporcional',
|
|
100
|
+
labelStatus: 'Proporção Perfeita',
|
|
101
|
+
labelOffline: 'Ferramenta 100% Offline',
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export const content: ToolLocaleContent<AspectRatioUI> = {
|
|
105
|
+
slug,
|
|
106
|
+
title,
|
|
107
|
+
description,
|
|
108
|
+
ui,
|
|
109
|
+
faqTitle: 'Perguntas Frequentes',
|
|
110
|
+
faq: faqData,
|
|
111
|
+
bibliographyTitle: 'Referências e Documentação',
|
|
112
|
+
bibliography: [
|
|
113
|
+
{
|
|
114
|
+
name: 'MDN Web Docs: aspect-ratio (CSS)',
|
|
115
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'Wikipedia: Aspect ratio',
|
|
119
|
+
url: 'https://pt.wikipedia.org/wiki/Proporção_de_tela',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'W3C: CSS Box Sizing Level 4',
|
|
123
|
+
url: 'https://www.w3.org/TR/css-sizing-4/#aspect-ratio',
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
howTo: howToData,
|
|
127
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
128
|
+
seo: [
|
|
129
|
+
{
|
|
130
|
+
type: 'title',
|
|
131
|
+
text: 'O que é Aspect Ratio?',
|
|
132
|
+
level: 2,
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'paragraph',
|
|
136
|
+
html: 'No design gráfico, na fotografia e no desenvolvimento frontend, o <strong>Aspect Ratio</strong> descreve a relação geométrica entre a largura e a altura de uma imagem, tela ou contêiner. É normalmente representado por dois números separados por dois pontos (ex: <code>16:9</code>), indicando como a altura aumenta proporcionalmente em resposta à sua largura.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'O tratamento incorreto das proporções é uma causa comum de fotografias achatadas, vídeos com cortes inesperados (letterboxing) ou componentes web que quebram seu layout quando visualizados progressivamente de dispositivos móveis a monitores ultra-wide.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Proporções Comuns na Indústria',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Dependendo da sua disciplina, você lidará constantemente com um número limitado de proporções padrão globais:',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'list',
|
|
153
|
+
items: [
|
|
154
|
+
'<strong>16:9 (Widescreen):</strong> O formato absolutamente dominante para monitores modernos, TVs, gravações do YouTube ou resoluções padrão de alta definição (como 1920×1080 ou 4K).',
|
|
155
|
+
'<strong>9:16 (Vertical):</strong> Originado do consumo nativo de conteúdo móvel (TikTok, Instagram Reels, YouTube Shorts). Exatamente a mesma proporção dos vídeos widescreen, mas com a rotação física do dispositivo aplicada.',
|
|
156
|
+
'<strong>4:3 (Clássico / Vintage):</strong> Presente em televisores e monitores antigos ou em modelos de câmeras analógicas e digitais especializadas. Sua aparência ligeiramente quadrada atrai a atenção direta para o eixo composicional central.',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'title',
|
|
161
|
+
text: 'Desenvolvimento Web e a propriedade CSS aspect-ratio',
|
|
162
|
+
level: 3,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'paragraph',
|
|
166
|
+
html: 'Antigamente no CSS, sistemas matemáticos complexos usando um <strong>Padding Hack</strong> (como a injeção de um <code>padding-top: 56.25%</code>) eram usados para reservar espaços dinâmicos em iframes do YouTube ou imagens de capa, para evitar o terrível Cumulative Layout Shift (CLS) no carregamento da página.',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'paragraph',
|
|
170
|
+
html: 'Hoje em dia, todos os layouts modernos aplicam diretamente propriedades como <code>aspect-ratio: 16 / 9;</code>, obtendo um código semântico e permitindo que o navegador derive automaticamente a dimensão ausente a partir da largura original definida via Grid ou Flexbox.',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: 'paragraph',
|
|
174
|
+
html: 'Esta calculadora de pixels local transfere o poder do design para um cálculo de escala instantâneo que protegerá seus renders de desconfigurações catastróficas.',
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { AspectRatioUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'kalkulyator-sootnosheniya-storon';
|
|
6
|
+
const title = 'Калькулятор соотношения сторон в пикселях. Пропорции онлайн';
|
|
7
|
+
const description =
|
|
8
|
+
'Рассчитывайте разрешения для изображений, видео и веб-дизайна, сохраняя точные пропорции, чтобы избежать искажения графики. Поддержка форматов 16:9, 4:3, 21:9 и пользовательских настроек.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Что такое соотношение сторон (Aspect Ratio)?',
|
|
13
|
+
answer:
|
|
14
|
+
'Соотношение сторон описывает геометрическую связь между шириной и высотой изображения или экрана. Оно представляется в виде двух чисел, разделенных двоеточием (например, 16:9), указывая, как высота пропорционально изменяется относительно ширины.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Почему важно соблюдать правильные пропорции?',
|
|
18
|
+
answer:
|
|
19
|
+
'Игнорирование соотношения сторон приводит к сплющенным или растянутым изображениям, появлению нежелательных черных полос (letterboxing) в видео и нарушению макета веб-компонентов на экранах разного размера. Соблюдение правильных пропорций — залог профессионального вида.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Как рассчитать высоту на основе ширины при заданном соотношении?',
|
|
23
|
+
answer:
|
|
24
|
+
'Формула такова: Высота = Ширина × (Число высоты / Число ширины). Например, для ширины 1280px при соотношении 16:9 высота составит: 1280 × (9/16) = 720px.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Какое стандартное соотношение сторон используется для видео на YouTube?',
|
|
28
|
+
answer:
|
|
29
|
+
'16:9 — это стандартное соотношение для YouTube и большинства современных видеоплатформ. Оно соответствует таким разрешениям, как 1280×720 (HD), 1920×1080 (Full HD) или 3840×2160 (4K UHD).',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
question: 'Какое соотношение сторон используется для вертикальных видео в соцсетях?',
|
|
33
|
+
answer:
|
|
34
|
+
'9:16, что является зеркальным отражением широкоэкранного формата. Это родное соотношение сторон для TikTok, Instagram Reels и YouTube Shorts, возникшее из-за вертикального использования мобильных телефонов.',
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const howToData = [
|
|
39
|
+
{
|
|
40
|
+
name: 'Введите исходное соотношение',
|
|
41
|
+
text: 'Укажите значения ширины и высоты соотношения, которое вы хотите сохранить (например, 16 и 9 для широкоэкранного формата), или выберите один из пресетов.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Настройте масштаб',
|
|
45
|
+
text: 'Измените значение ширины или высоты в разделе «Реальный масштаб». Инструмент автоматически рассчитает противоположное значение для сохранения пропорций.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Проверьте результат',
|
|
49
|
+
text: 'Панель предварительного просмотра показывает итоговую форму в пропорциональном масштабе с упрощенным соотношением и рассчитанным разрешением.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'Примените в своем проекте',
|
|
53
|
+
text: 'Скопируйте рассчитанные значения для использования в CSS (aspect-ratio: 16 / 9), при экспорте видео или в настройках вашего графического редактора.',
|
|
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: 'ru',
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const ui: AspectRatioUI = {
|
|
92
|
+
labelConfig: 'Настройка',
|
|
93
|
+
labelRatio: 'Исходное соотношение',
|
|
94
|
+
labelWidth: 'Ширина',
|
|
95
|
+
labelHeight: 'Высота',
|
|
96
|
+
labelScale: 'Реальный масштаб',
|
|
97
|
+
labelPixelWidth: 'Пиксели (Ширина)',
|
|
98
|
+
labelPixelHeight: 'Пиксели (Высота)',
|
|
99
|
+
labelPreview: 'Пропорциональный просмотр',
|
|
100
|
+
labelStatus: 'Идеальное соотношение',
|
|
101
|
+
labelOffline: '100% автономный инструмент',
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export const content: ToolLocaleContent<AspectRatioUI> = {
|
|
105
|
+
slug,
|
|
106
|
+
title,
|
|
107
|
+
description,
|
|
108
|
+
ui,
|
|
109
|
+
faqTitle: 'Часто задаваемые вопросы',
|
|
110
|
+
faq: faqData,
|
|
111
|
+
bibliographyTitle: 'Ссылки и документация',
|
|
112
|
+
bibliography: [
|
|
113
|
+
{
|
|
114
|
+
name: 'MDN Web Docs: aspect-ratio (CSS)',
|
|
115
|
+
url: 'https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'Wikipedia: Aspect ratio',
|
|
119
|
+
url: 'https://ru.wikipedia.org/wiki/Соотношение_сторон_экрана',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'W3C: CSS Box Sizing Level 4',
|
|
123
|
+
url: 'https://www.w3.org/TR/css-sizing-4/#aspect-ratio',
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
howTo: howToData,
|
|
127
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
128
|
+
seo: [
|
|
129
|
+
{
|
|
130
|
+
type: 'title',
|
|
131
|
+
text: 'Что такое соотношение сторон?',
|
|
132
|
+
level: 2,
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'paragraph',
|
|
136
|
+
html: 'В графическом дизайне, фотографии и фронтенд-разработке <strong>соотношение сторон</strong> (Aspect Ratio) описывает геометрическую связь между шириной и высотой изображения, экрана или контейнера. Обычно оно представляется двумя числами через двоеточие (например, <code>16:9</code>), указывая, как высота пропорционально изменяется в ответ на ширину.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'paragraph',
|
|
140
|
+
html: 'Несоблюдение соотношения сторон — частая причина сплющенных фотографий, видео с неожиданной обрезкой (letterboxing) или веб-компонентов, макет которых нарушается при просмотре на разных устройствах — от мобильных телефонов до ультрашироких мониторов.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Общепринятые стандарты в индустрии',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'В зависимости от вашей дисциплины вы будете постоянно сталкиваться с ограниченным набором мировых стандартов пропорций:',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'list',
|
|
153
|
+
items: [
|
|
154
|
+
'<strong>16:9 (Широкоэкранный):</strong> Абсолютно доминирующий формат для современных мониторов, телевизоров, видео на YouTube или стандартных разрешений высокой четкости (таких как 1920×1080 или 4K).',
|
|
155
|
+
'<strong>9:16 (Вертикальный):</strong> Возник из-за потребления контента на мобильных устройствах (TikTok, Instagram Reels, YouTube Shorts). Точно такое же соотношение, как у широкоэкранного видео, но при физическом повороте устройства.',
|
|
156
|
+
'<strong>4:3 (Классический):</strong> Встречается в старых телевизорах и мониторах, а также в аналоговых и специализированных цифровых камерах. Его почти квадратный вид привлекает внимание к центральной оси композиции.',
|
|
157
|
+
],
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
type: 'title',
|
|
161
|
+
text: 'Веб-разработка и свойство CSS aspect-ratio',
|
|
162
|
+
level: 3,
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
type: 'paragraph',
|
|
166
|
+
html: 'Раньше в CSS использовались сложные математические системы с <strong>Padding Hack</strong> (например, <code>padding-top: 56.25%</code>) для резервирования динамического пространства для YouTube iframe или фоновых изображений, чтобы избежать скачков контента (Cumulative Layout Shift, CLS) при загрузке страницы.',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'paragraph',
|
|
170
|
+
html: 'Сейчас все современные макеты напрямую применяют свойство <code>aspect-ratio: 16 / 9;</code>, создавая семантичный код и позволяя браузеру автоматически рассчитывать недостающее измерение на основе оригинальной ширины, заданной через Grid или Flexbox.',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: 'paragraph',
|
|
174
|
+
html: 'Этот локальный калькулятор пикселей позволяет мгновенно рассчитать масштаб дизайна, что защитит ваши макеты от критических ошибок в настройках.',
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
};
|