@jjlmoya/utils-developer 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/src/category/i18n/de.ts +34 -0
- package/src/category/i18n/id.ts +34 -0
- package/src/category/i18n/it.ts +34 -0
- package/src/category/i18n/ja.ts +34 -0
- package/src/category/i18n/ko.ts +34 -0
- package/src/category/i18n/nl.ts +34 -0
- package/src/category/i18n/pl.ts +34 -0
- package/src/category/i18n/pt.ts +34 -0
- package/src/category/i18n/ru.ts +34 -0
- package/src/category/i18n/sv.ts +34 -0
- package/src/category/i18n/tr.ts +34 -0
- package/src/category/i18n/zh.ts +34 -0
- package/src/category/index.ts +13 -1
- package/src/index.ts +12 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tool/aspectRatio/i18n/de.ts +177 -0
- package/src/tool/aspectRatio/i18n/id.ts +177 -0
- package/src/tool/aspectRatio/i18n/it.ts +177 -0
- package/src/tool/aspectRatio/i18n/ja.ts +178 -0
- package/src/tool/aspectRatio/i18n/ko.ts +178 -0
- package/src/tool/aspectRatio/i18n/nl.ts +178 -0
- package/src/tool/aspectRatio/i18n/pl.ts +177 -0
- package/src/tool/aspectRatio/i18n/pt.ts +177 -0
- package/src/tool/aspectRatio/i18n/ru.ts +177 -0
- package/src/tool/aspectRatio/i18n/sv.ts +177 -0
- package/src/tool/aspectRatio/i18n/tr.ts +177 -0
- package/src/tool/aspectRatio/i18n/zh.ts +178 -0
- package/src/tool/aspectRatio/index.ts +15 -7
- package/src/tool/calculadoraTiempoDatos/i18n/de.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/id.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/it.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/ja.ts +151 -0
- package/src/tool/calculadoraTiempoDatos/i18n/ko.ts +151 -0
- package/src/tool/calculadoraTiempoDatos/i18n/nl.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/pl.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/pt.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/ru.ts +151 -0
- package/src/tool/calculadoraTiempoDatos/i18n/sv.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/tr.ts +150 -0
- package/src/tool/calculadoraTiempoDatos/i18n/zh.ts +151 -0
- package/src/tool/calculadoraTiempoDatos/index.ts +15 -7
- package/src/tool/colorConverter/i18n/de.ts +126 -0
- package/src/tool/colorConverter/i18n/id.ts +126 -0
- package/src/tool/colorConverter/i18n/it.ts +126 -0
- package/src/tool/colorConverter/i18n/ja.ts +127 -0
- package/src/tool/colorConverter/i18n/ko.ts +127 -0
- package/src/tool/colorConverter/i18n/nl.ts +126 -0
- package/src/tool/colorConverter/i18n/pl.ts +126 -0
- package/src/tool/colorConverter/i18n/pt.ts +126 -0
- package/src/tool/colorConverter/i18n/ru.ts +126 -0
- package/src/tool/colorConverter/i18n/sv.ts +126 -0
- package/src/tool/colorConverter/i18n/tr.ts +126 -0
- package/src/tool/colorConverter/i18n/zh.ts +127 -0
- package/src/tool/colorConverter/index.ts +15 -7
- package/src/tool/conversorExcelCsvHtml/i18n/de.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/id.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/it.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/ja.ts +130 -0
- package/src/tool/conversorExcelCsvHtml/i18n/ko.ts +130 -0
- package/src/tool/conversorExcelCsvHtml/i18n/nl.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/pl.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/pt.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/ru.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/sv.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/tr.ts +129 -0
- package/src/tool/conversorExcelCsvHtml/i18n/zh.ts +130 -0
- package/src/tool/conversorExcelCsvHtml/index.ts +15 -7
- package/src/tool/cronGenerator/i18n/de.ts +192 -0
- package/src/tool/cronGenerator/i18n/es.ts +2 -1
- package/src/tool/cronGenerator/i18n/fr.ts +2 -1
- package/src/tool/cronGenerator/i18n/id.ts +192 -0
- package/src/tool/cronGenerator/i18n/it.ts +192 -0
- package/src/tool/cronGenerator/i18n/ja.ts +192 -0
- package/src/tool/cronGenerator/i18n/ko.ts +192 -0
- package/src/tool/cronGenerator/i18n/nl.ts +192 -0
- package/src/tool/cronGenerator/i18n/pl.ts +192 -0
- package/src/tool/cronGenerator/i18n/pt.ts +192 -0
- package/src/tool/cronGenerator/i18n/ru.ts +192 -0
- package/src/tool/cronGenerator/i18n/sv.ts +192 -0
- package/src/tool/cronGenerator/i18n/tr.ts +192 -0
- package/src/tool/cronGenerator/i18n/zh.ts +192 -0
- package/src/tool/cronGenerator/index.ts +15 -7
- package/src/tool/cssSpecificityCalculator/i18n/de.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/id.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/it.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/ja.ts +169 -0
- package/src/tool/cssSpecificityCalculator/i18n/ko.ts +169 -0
- package/src/tool/cssSpecificityCalculator/i18n/nl.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/pl.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/pt.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/ru.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/sv.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/tr.ts +168 -0
- package/src/tool/cssSpecificityCalculator/i18n/zh.ts +169 -0
- package/src/tool/cssSpecificityCalculator/index.ts +15 -7
- package/src/tool/cssToInlineConverter/i18n/de.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/id.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/it.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/ja.ts +161 -0
- package/src/tool/cssToInlineConverter/i18n/ko.ts +161 -0
- package/src/tool/cssToInlineConverter/i18n/nl.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/pl.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/pt.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/ru.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/sv.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/tr.ts +160 -0
- package/src/tool/cssToInlineConverter/i18n/zh.ts +161 -0
- package/src/tool/cssToInlineConverter/index.ts +15 -7
- package/src/tool/duplicateCssRemover/i18n/de.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/id.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/it.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/ja.ts +168 -0
- package/src/tool/duplicateCssRemover/i18n/ko.ts +168 -0
- package/src/tool/duplicateCssRemover/i18n/nl.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/pl.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/pt.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/ru.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/sv.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/tr.ts +167 -0
- package/src/tool/duplicateCssRemover/i18n/zh.ts +168 -0
- package/src/tool/duplicateCssRemover/index.ts +15 -7
- package/src/tool/generadorSecurityTxt/i18n/de.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/id.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/it.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/ja.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/ko.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/nl.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/pl.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/pt.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/ru.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/sv.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/tr.ts +174 -0
- package/src/tool/generadorSecurityTxt/i18n/zh.ts +174 -0
- package/src/tool/generadorSecurityTxt/index.ts +15 -7
- package/src/tool/hashGenerator/i18n/de.ts +119 -0
- package/src/tool/hashGenerator/i18n/id.ts +119 -0
- package/src/tool/hashGenerator/i18n/it.ts +118 -0
- package/src/tool/hashGenerator/i18n/ja.ts +119 -0
- package/src/tool/hashGenerator/i18n/ko.ts +119 -0
- package/src/tool/hashGenerator/i18n/nl.ts +119 -0
- package/src/tool/hashGenerator/i18n/pl.ts +118 -0
- package/src/tool/hashGenerator/i18n/pt.ts +118 -0
- package/src/tool/hashGenerator/i18n/ru.ts +119 -0
- package/src/tool/hashGenerator/i18n/sv.ts +119 -0
- package/src/tool/hashGenerator/i18n/tr.ts +118 -0
- package/src/tool/hashGenerator/i18n/zh.ts +119 -0
- package/src/tool/hashGenerator/index.ts +15 -7
- package/src/tool/inspectorCertificadosSsl/i18n/de.ts +214 -0
- package/src/tool/inspectorCertificadosSsl/i18n/id.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/it.ts +214 -0
- package/src/tool/inspectorCertificadosSsl/i18n/ja.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/ko.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/nl.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/pl.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/pt.ts +214 -0
- package/src/tool/inspectorCertificadosSsl/i18n/ru.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/sv.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/tr.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/i18n/zh.ts +215 -0
- package/src/tool/inspectorCertificadosSsl/index.ts +24 -0
- package/src/tool/jsonFormatter/i18n/de.ts +157 -0
- package/src/tool/jsonFormatter/i18n/es.ts +2 -1
- package/src/tool/jsonFormatter/i18n/fr.ts +2 -1
- package/src/tool/jsonFormatter/i18n/id.ts +157 -0
- package/src/tool/jsonFormatter/i18n/it.ts +156 -0
- package/src/tool/jsonFormatter/i18n/ja.ts +157 -0
- package/src/tool/jsonFormatter/i18n/ko.ts +157 -0
- package/src/tool/jsonFormatter/i18n/nl.ts +157 -0
- package/src/tool/jsonFormatter/i18n/pl.ts +156 -0
- package/src/tool/jsonFormatter/i18n/pt.ts +156 -0
- package/src/tool/jsonFormatter/i18n/ru.ts +157 -0
- package/src/tool/jsonFormatter/i18n/sv.ts +157 -0
- package/src/tool/jsonFormatter/i18n/tr.ts +157 -0
- package/src/tool/jsonFormatter/i18n/zh.ts +157 -0
- package/src/tool/jsonFormatter/index.ts +15 -7
- package/src/tool/keycode/i18n/de.ts +161 -0
- package/src/tool/keycode/i18n/es.ts +2 -1
- package/src/tool/keycode/i18n/fr.ts +2 -1
- package/src/tool/keycode/i18n/id.ts +161 -0
- package/src/tool/keycode/i18n/it.ts +161 -0
- package/src/tool/keycode/i18n/ja.ts +161 -0
- package/src/tool/keycode/i18n/ko.ts +161 -0
- package/src/tool/keycode/i18n/nl.ts +161 -0
- package/src/tool/keycode/i18n/pl.ts +161 -0
- package/src/tool/keycode/i18n/pt.ts +160 -0
- package/src/tool/keycode/i18n/ru.ts +160 -0
- package/src/tool/keycode/i18n/sv.ts +160 -0
- package/src/tool/keycode/i18n/tr.ts +160 -0
- package/src/tool/keycode/i18n/zh.ts +161 -0
- package/src/tool/keycode/index.ts +15 -7
- package/src/tool/llmCostCalculator/i18n/de.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/fr.ts +2 -1
- package/src/tool/llmCostCalculator/i18n/id.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/it.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/ja.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/ko.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/nl.ts +166 -0
- package/src/tool/llmCostCalculator/i18n/pl.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/pt.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/ru.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/sv.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/tr.ts +165 -0
- package/src/tool/llmCostCalculator/i18n/zh.ts +166 -0
- package/src/tool/llmCostCalculator/index.ts +24 -0
- package/src/tool/mobileMockupGenerator/i18n/de.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/id.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/it.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/ja.ts +122 -0
- package/src/tool/mobileMockupGenerator/i18n/ko.ts +122 -0
- package/src/tool/mobileMockupGenerator/i18n/nl.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/pl.ts +31 -0
- package/src/tool/mobileMockupGenerator/i18n/pt.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/ru.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/sv.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/tr.ts +121 -0
- package/src/tool/mobileMockupGenerator/i18n/zh.ts +122 -0
- package/src/tool/mobileMockupGenerator/index.ts +24 -0
- package/src/tool/musicalTypography/i18n/de.ts +179 -0
- package/src/tool/musicalTypography/i18n/id.ts +179 -0
- package/src/tool/musicalTypography/i18n/it.ts +179 -0
- package/src/tool/musicalTypography/i18n/ja.ts +180 -0
- package/src/tool/musicalTypography/i18n/ko.ts +180 -0
- package/src/tool/musicalTypography/i18n/nl.ts +179 -0
- package/src/tool/musicalTypography/i18n/pl.ts +179 -0
- package/src/tool/musicalTypography/i18n/pt.ts +101 -0
- package/src/tool/musicalTypography/i18n/ru.ts +47 -0
- package/src/tool/musicalTypography/i18n/sv.ts +29 -0
- package/src/tool/musicalTypography/i18n/tr.ts +29 -0
- package/src/tool/musicalTypography/i18n/zh.ts +30 -0
- package/src/tool/musicalTypography/index.ts +15 -7
- package/src/tool/placeholderGenerator/i18n/de.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/id.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/it.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/ja.ts +177 -0
- package/src/tool/placeholderGenerator/i18n/ko.ts +177 -0
- package/src/tool/placeholderGenerator/i18n/nl.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/pl.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/pt.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/ru.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/sv.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/tr.ts +176 -0
- package/src/tool/placeholderGenerator/i18n/zh.ts +177 -0
- package/src/tool/placeholderGenerator/index.ts +24 -0
- package/src/tool/promptLibrary/i18n/de.ts +131 -0
- package/src/tool/promptLibrary/i18n/id.ts +131 -0
- package/src/tool/promptLibrary/i18n/it.ts +131 -0
- package/src/tool/promptLibrary/i18n/ja.ts +132 -0
- package/src/tool/promptLibrary/i18n/ko.ts +132 -0
- package/src/tool/promptLibrary/i18n/nl.ts +131 -0
- package/src/tool/promptLibrary/i18n/pl.ts +28 -0
- package/src/tool/promptLibrary/i18n/pt.ts +101 -0
- package/src/tool/promptLibrary/i18n/ru.ts +101 -0
- package/src/tool/promptLibrary/i18n/sv.ts +93 -0
- package/src/tool/promptLibrary/i18n/tr.ts +93 -0
- package/src/tool/promptLibrary/i18n/zh.ts +94 -0
- package/src/tool/promptLibrary/index.ts +24 -0
- package/src/tool/readabilityCalculator/i18n/de.ts +133 -0
- package/src/tool/readabilityCalculator/i18n/id.ts +133 -0
- package/src/tool/readabilityCalculator/i18n/it.ts +133 -0
- package/src/tool/readabilityCalculator/i18n/ja.ts +134 -0
- package/src/tool/readabilityCalculator/i18n/ko.ts +134 -0
- package/src/tool/readabilityCalculator/i18n/nl.ts +133 -0
- package/src/tool/readabilityCalculator/i18n/pl.ts +29 -0
- package/src/tool/readabilityCalculator/i18n/pt.ts +91 -0
- package/src/tool/readabilityCalculator/i18n/ru.ts +91 -0
- package/src/tool/readabilityCalculator/i18n/sv.ts +43 -0
- package/src/tool/readabilityCalculator/i18n/tr.ts +43 -0
- package/src/tool/readabilityCalculator/i18n/zh.ts +44 -0
- package/src/tool/readabilityCalculator/index.ts +24 -0
- package/src/tool/svgSanitizer/i18n/de.ts +125 -0
- package/src/tool/svgSanitizer/i18n/id.ts +125 -0
- package/src/tool/svgSanitizer/i18n/it.ts +125 -0
- package/src/tool/svgSanitizer/i18n/ja.ts +126 -0
- package/src/tool/svgSanitizer/i18n/ko.ts +126 -0
- package/src/tool/svgSanitizer/i18n/nl.ts +125 -0
- package/src/tool/svgSanitizer/i18n/pl.ts +125 -0
- package/src/tool/svgSanitizer/i18n/pt.ts +30 -0
- package/src/tool/svgSanitizer/i18n/ru.ts +126 -0
- package/src/tool/svgSanitizer/i18n/sv.ts +126 -0
- package/src/tool/svgSanitizer/i18n/tr.ts +126 -0
- package/src/tool/svgSanitizer/i18n/zh.ts +126 -0
- package/src/tool/svgSanitizer/index.ts +24 -0
- package/src/tool/svgToCss/i18n/de.ts +174 -0
- package/src/tool/svgToCss/i18n/id.ts +174 -0
- package/src/tool/svgToCss/i18n/it.ts +174 -0
- package/src/tool/svgToCss/i18n/ja.ts +175 -0
- package/src/tool/svgToCss/i18n/ko.ts +175 -0
- package/src/tool/svgToCss/i18n/nl.ts +174 -0
- package/src/tool/svgToCss/i18n/pl.ts +174 -0
- package/src/tool/svgToCss/i18n/pt.ts +174 -0
- package/src/tool/svgToCss/i18n/ru.ts +174 -0
- package/src/tool/svgToCss/i18n/sv.ts +174 -0
- package/src/tool/svgToCss/i18n/tr.ts +174 -0
- package/src/tool/svgToCss/i18n/zh.ts +175 -0
- package/src/tool/svgToCss/index.ts +15 -7
- package/src/tool/urlCleaner/i18n/de.ts +116 -0
- package/src/tool/urlCleaner/i18n/id.ts +116 -0
- package/src/tool/urlCleaner/i18n/it.ts +116 -0
- package/src/tool/urlCleaner/i18n/ja.ts +117 -0
- package/src/tool/urlCleaner/i18n/ko.ts +117 -0
- package/src/tool/urlCleaner/i18n/nl.ts +116 -0
- package/src/tool/urlCleaner/i18n/pl.ts +29 -0
- package/src/tool/urlCleaner/i18n/pt.ts +43 -0
- package/src/tool/urlCleaner/i18n/ru.ts +43 -0
- package/src/tool/urlCleaner/i18n/sv.ts +43 -0
- package/src/tool/urlCleaner/i18n/tr.ts +43 -0
- package/src/tool/urlCleaner/i18n/zh.ts +44 -0
- package/src/tool/urlCleaner/index.ts +24 -0
- package/src/tool/urlEncoderDecoder/i18n/de.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/id.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/it.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/ja.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/ko.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/nl.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/pl.ts +162 -0
- package/src/tool/urlEncoderDecoder/i18n/pt.ts +162 -0
- package/src/tool/urlEncoderDecoder/i18n/ru.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/sv.ts +163 -0
- package/src/tool/urlEncoderDecoder/i18n/tr.ts +162 -0
- package/src/tool/urlEncoderDecoder/i18n/zh.ts +163 -0
- package/src/tool/urlEncoderDecoder/index.ts +15 -7
- package/src/tool/utmGenerator/i18n/de.ts +118 -0
- package/src/tool/utmGenerator/i18n/id.ts +118 -0
- package/src/tool/utmGenerator/i18n/it.ts +118 -0
- package/src/tool/utmGenerator/i18n/ja.ts +118 -0
- package/src/tool/utmGenerator/i18n/ko.ts +118 -0
- package/src/tool/utmGenerator/i18n/nl.ts +118 -0
- package/src/tool/utmGenerator/i18n/pl.ts +117 -0
- package/src/tool/utmGenerator/i18n/pt.ts +118 -0
- package/src/tool/utmGenerator/i18n/ru.ts +118 -0
- package/src/tool/utmGenerator/i18n/sv.ts +118 -0
- package/src/tool/utmGenerator/i18n/tr.ts +117 -0
- package/src/tool/utmGenerator/i18n/zh.ts +118 -0
- package/src/tool/utmGenerator/index.ts +15 -7
- package/src/types.ts +1 -2
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MobileMockupGeneratorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'generator-mockup-mobile';
|
|
6
|
+
const title = 'Generator Mockup Mobile untuk App Store. iPhone dan Google Pixel';
|
|
7
|
+
const description = 'Buat presentasi profesional untuk App Store dan Google Play. Mockup iPhone dan Pixel dengan latar belakang khusus, tata letak panoramik, dan ekspor massal resolusi tinggi.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{ question: 'Apakah screenshot ini valid untuk App Store dan Google Play?', answer: 'Ya, gambar yang dihasilkan memenuhi persyaratan proporsi dan kualitas toko aplikasi. Cukup pilih perangkat yang tepat (iPhone untuk iOS, Pixel untuk Android) sebelum mengekspor.' },
|
|
11
|
+
{ question: 'Bisakah saya menggunakan latar belakang kustom sendiri?', answer: 'Tentu saja. Selain perpustakaan gradien premium kami, Anda dapat mengunggah gambar apa pun dari komputer Anda sebagai latar belakang mockup.' },
|
|
12
|
+
{ question: 'Apakah gratis untuk penggunaan komersial?', answer: 'Ya, Anda dapat menggunakan mockup yang dihasilkan untuk proyek komersial, portofolio, atau presentasi tanpa biaya dan tanpa watermark.' },
|
|
13
|
+
{ question: 'Apakah screenshot saya disimpan di server?', answer: 'Tidak. Generator bekerja 100% secara lokal di browser Anda. Gambar pribadi Anda tidak pernah meninggalkan komputer Anda.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howToData = [
|
|
17
|
+
{ name: 'Unggah screenshot', text: 'Seret atau pilih screenshot aplikasi mobile yang ingin Anda tampilkan.' },
|
|
18
|
+
{ name: 'Pilih perangkat', text: 'Pilih model smartphone (iPhone 15 Pro Max atau Google Pixel 8) sesuai toko tujuan.' },
|
|
19
|
+
{ name: 'Sesuaikan lingkungan', text: 'Atur latar belakang, sudut perangkat, tambahkan teks pemasaran, dan pilih tata letak komposisi.' },
|
|
20
|
+
{ name: 'Unduh dalam HD', text: 'Ekspor semua hasil dalam format WebP resolusi tinggi siap diunggah ke toko aplikasi.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
30
|
+
'@context': 'https://schema.org',
|
|
31
|
+
'@type': 'HowTo',
|
|
32
|
+
name: title,
|
|
33
|
+
description,
|
|
34
|
+
step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
38
|
+
'@context': 'https://schema.org',
|
|
39
|
+
'@type': 'SoftwareApplication',
|
|
40
|
+
name: title,
|
|
41
|
+
description,
|
|
42
|
+
applicationCategory: 'DesignApplication',
|
|
43
|
+
operatingSystem: 'All',
|
|
44
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
|
|
45
|
+
inLanguage: 'id',
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const ui: MobileMockupGeneratorUI = {
|
|
49
|
+
labelUpload: 'Unggah Screenshot',
|
|
50
|
+
dropHint: 'Seret gambar Anda ke sini',
|
|
51
|
+
dropFormats: 'PNG, JPG atau WEBP',
|
|
52
|
+
btnMassReplace: 'Ganti Massal (Batch)',
|
|
53
|
+
massReplaceHint: 'Mengganti gambar saat ini sambil mempertahankan preset dan teks Anda. Ideal untuk iterasi cepat.',
|
|
54
|
+
labelSettings: 'Pengaturan Global',
|
|
55
|
+
labelDevice: 'Perangkat',
|
|
56
|
+
labelFont: 'Tipografi',
|
|
57
|
+
labelBackground: 'Latar Belakang',
|
|
58
|
+
titleSwapColors: 'Tukar warna',
|
|
59
|
+
labelAngle: 'Sudut',
|
|
60
|
+
labelSafeArea: 'Safe Area (Atas/Bawah)',
|
|
61
|
+
labelSafeAreaColor: 'Warna area',
|
|
62
|
+
emptyTitle: 'Belum ada gambar',
|
|
63
|
+
emptySubtitle: 'Unggah screenshot Anda untuk mulai mendesain',
|
|
64
|
+
btnClearAll: 'Bersihkan Kanvas',
|
|
65
|
+
btnExport: 'Ekspor Semua (.zip)',
|
|
66
|
+
cardTitleDuplicate: 'Duplikasi Adegan',
|
|
67
|
+
cardTitleReplace: 'Ganti Screenshot Saat Ini',
|
|
68
|
+
cardSectionLayouts: 'Tata Letak Master',
|
|
69
|
+
cardSectionBranding: 'Branding & Teks',
|
|
70
|
+
cardTitleResetText: 'Reset Teks',
|
|
71
|
+
cardLabelColor: 'Warna',
|
|
72
|
+
cardTextPlaceholder: 'Tulis teks Anda di sini...',
|
|
73
|
+
cardSectionDevice: 'Tata Letak Perangkat',
|
|
74
|
+
cardTitleResetDevice: 'Reset Posisi',
|
|
75
|
+
cardSectionScene: 'Properti & Latar Belakang',
|
|
76
|
+
cardBtnSpecialBg: 'Latar Belakang Khusus',
|
|
77
|
+
cardBtnDeleteScene: 'Hapus Adegan',
|
|
78
|
+
cardRangeLabelSize: 'Ukuran',
|
|
79
|
+
cardRangeLabelX: 'Sumbu X',
|
|
80
|
+
cardRangeLabelY: 'Sumbu Y',
|
|
81
|
+
cardRangeLabelRotation: 'Rotasi',
|
|
82
|
+
cardRangeLabelScale: 'Skala',
|
|
83
|
+
presetClassic: 'Klasik',
|
|
84
|
+
presetMobileBottom: 'Mobile Bawah',
|
|
85
|
+
presetMobileTop: 'Mobile Atas',
|
|
86
|
+
presetFocus: 'Fokus',
|
|
87
|
+
presetDynamic: 'Dinamis',
|
|
88
|
+
presetSplitLeft: 'Bagi Kiri',
|
|
89
|
+
presetSplitRight: 'Bagi Kanan',
|
|
90
|
+
presetImageLeft: 'Gambar Kiri',
|
|
91
|
+
presetImageRight: 'Gambar Kanan',
|
|
92
|
+
confirmClear: 'Apakah Anda yakin ingin menghapus semua mockup?',
|
|
93
|
+
processingExport: 'Memproses...',
|
|
94
|
+
exportDone: 'Selesai!',
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
|
|
98
|
+
slug,
|
|
99
|
+
title,
|
|
100
|
+
description,
|
|
101
|
+
ui,
|
|
102
|
+
faqTitle: 'Pertanyaan yang Sering Diajukan',
|
|
103
|
+
faq: faqData,
|
|
104
|
+
bibliographyTitle: 'Referensi',
|
|
105
|
+
bibliography: [
|
|
106
|
+
{ name: 'Apple App Store Screenshot Requirements', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' },
|
|
107
|
+
{ name: 'Google Play Screenshot Requirements', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' },
|
|
108
|
+
],
|
|
109
|
+
howTo: howToData,
|
|
110
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
111
|
+
seo: [
|
|
112
|
+
{ type: 'title', text: 'Tingkatkan screenshot Anda ke level berikutnya', level: 2 },
|
|
113
|
+
{ type: 'paragraph', html: 'Jangan batasi diri Anda hanya pada screenshot biasa. Alat mockup kami memungkinkan developer dan desainer membuat aset visual berdampak tinggi tanpa memerlukan Photoshop atau Figma.' },
|
|
114
|
+
{ type: 'title', text: 'Kekuatan dengan Tata Letak Master', level: 3 },
|
|
115
|
+
{ type: 'grid', columns: 2 },
|
|
116
|
+
{ type: 'card', title: 'App Store & Google Play', html: '<p>Optimalkan tingkat konversi Anda. Mockup iPhone 15 Pro Max dan Pixel 8 adalah standar dunia untuk daftar toko aplikasi.</p>' },
|
|
117
|
+
{ type: 'card', title: 'Pitch Deck & Pemasaran', html: '<p>Presentasikan ide Anda dengan percaya diri. Sempurna untuk presentasi investor, kampanye media sosial, dan portofolio desain UI/UX profesional.</p>' },
|
|
118
|
+
{ type: 'title', text: 'Alur kerja profesional', level: 3 },
|
|
119
|
+
{ type: 'tip', html: 'Gunakan preset "Bagi Kiri" dan "Bagi Kanan" untuk membuat mockup berkesinambungan yang meluncur dari satu gambar ke gambar lain dalam carousel Instagram atau screenshot App Store.' },
|
|
120
|
+
],
|
|
121
|
+
};
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MobileMockupGeneratorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'generatore-mockup-mobile';
|
|
6
|
+
const title = 'Generatore di Mockup Mobile per App Store. iPhone e Google Pixel';
|
|
7
|
+
const description = 'Crea presentazioni professionali per App Store e Google Play. Mockup di iPhone e Pixel con sfondi personalizzati, layout panoramici ed esportazione massiva in alta risoluzione.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{ question: 'Questi screenshot sono validi per App Store e Google Play?', answer: 'Sì, le immagini generate rispettano le proporzioni e i requisiti di qualità degli store. Basta scegliere il dispositivo giusto (iPhone per iOS, Pixel per Android) prima di esportare.' },
|
|
11
|
+
{ question: 'Posso usare sfondi personalizzati?', answer: 'Certo. Oltre alla nostra libreria di gradienti premium, puoi caricare qualsiasi immagine dal tuo computer come sfondo per i tuoi mockup.' },
|
|
12
|
+
{ question: 'È gratuito per uso commerciale?', answer: 'Sì, puoi usare i mockup generati per progetti commerciali, portfolio o presentazioni senza alcun costo e senza filigrane.' },
|
|
13
|
+
{ question: 'I miei screenshot vengono salvati su un server?', answer: 'No. Il generatore funziona al 100% in locale nel tuo browser. Le tue immagini private non lasciano mai il tuo computer.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howToData = [
|
|
17
|
+
{ name: 'Carica gli screenshot', text: 'Trascina o seleziona gli screenshot della tua app mobile che vuoi presentare.' },
|
|
18
|
+
{ name: 'Scegli il dispositivo', text: 'Seleziona il modello di smartphone (iPhone 15 Pro Max o Google Pixel 8) in base allo store di destinazione.' },
|
|
19
|
+
{ name: 'Personalizza l\'ambiente', text: 'Regola lo sfondo, l\'angolazione del dispositivo, aggiungi testi marketing e scegli il layout della composizione.' },
|
|
20
|
+
{ name: 'Scarica in HD', text: 'Esporta tutti i risultati in formato WebP ad alta risoluzione pronti per il caricamento sullo store.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
30
|
+
'@context': 'https://schema.org',
|
|
31
|
+
'@type': 'HowTo',
|
|
32
|
+
name: title,
|
|
33
|
+
description,
|
|
34
|
+
step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
38
|
+
'@context': 'https://schema.org',
|
|
39
|
+
'@type': 'SoftwareApplication',
|
|
40
|
+
name: title,
|
|
41
|
+
description,
|
|
42
|
+
applicationCategory: 'DesignApplication',
|
|
43
|
+
operatingSystem: 'All',
|
|
44
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
45
|
+
inLanguage: 'it',
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const ui: MobileMockupGeneratorUI = {
|
|
49
|
+
labelUpload: 'Carica Screenshot',
|
|
50
|
+
dropHint: 'Trascina le immagini qui',
|
|
51
|
+
dropFormats: 'PNG, JPG o WEBP',
|
|
52
|
+
btnMassReplace: 'Sostituzione Massiva (Batch)',
|
|
53
|
+
massReplaceHint: 'Sostituisce le immagini attuali mantenendo i tuoi preset e testi. Ideale per iterazioni rapide.',
|
|
54
|
+
labelSettings: 'Impostazioni Globali',
|
|
55
|
+
labelDevice: 'Dispositivo',
|
|
56
|
+
labelFont: 'Tipografia',
|
|
57
|
+
labelBackground: 'Sfondo',
|
|
58
|
+
titleSwapColors: 'Inverti colori',
|
|
59
|
+
labelAngle: 'Angolo',
|
|
60
|
+
labelSafeArea: 'Safe Area (Alto/Basso)',
|
|
61
|
+
labelSafeAreaColor: 'Colore area',
|
|
62
|
+
emptyTitle: 'Nessuna immagine',
|
|
63
|
+
emptySubtitle: 'Carica i tuoi screenshot per iniziare a progettare',
|
|
64
|
+
btnClearAll: 'Pulisci Canvas',
|
|
65
|
+
btnExport: 'Esporta Tutto (.zip)',
|
|
66
|
+
cardTitleDuplicate: 'Duplica Scena',
|
|
67
|
+
cardTitleReplace: 'Sostituisci Screenshot Attuale',
|
|
68
|
+
cardSectionLayouts: 'Layout Master',
|
|
69
|
+
cardSectionBranding: 'Branding & Copy',
|
|
70
|
+
cardTitleResetText: 'Reimposta Testo',
|
|
71
|
+
cardLabelColor: 'Colore',
|
|
72
|
+
cardTextPlaceholder: 'Scrivi il tuo testo qui...',
|
|
73
|
+
cardSectionDevice: 'Layout Dispositivo',
|
|
74
|
+
cardTitleResetDevice: 'Reimposta Posizione',
|
|
75
|
+
cardSectionScene: 'Oggetti di Scena & Sfondo',
|
|
76
|
+
cardBtnSpecialBg: 'Sfondo Speciale',
|
|
77
|
+
cardBtnDeleteScene: 'Elimina Scena',
|
|
78
|
+
cardRangeLabelSize: 'Dimensione',
|
|
79
|
+
cardRangeLabelX: 'Asse X',
|
|
80
|
+
cardRangeLabelY: 'Asse Y',
|
|
81
|
+
cardRangeLabelRotation: 'Rotazione',
|
|
82
|
+
cardRangeLabelScale: 'Scala',
|
|
83
|
+
presetClassic: 'Classico',
|
|
84
|
+
presetMobileBottom: 'Mobile in basso',
|
|
85
|
+
presetMobileTop: 'Mobile in alto',
|
|
86
|
+
presetFocus: 'Messa a fuoco',
|
|
87
|
+
presetDynamic: 'Dinamico',
|
|
88
|
+
presetSplitLeft: 'Diviso sinistra',
|
|
89
|
+
presetSplitRight: 'Diviso destra',
|
|
90
|
+
presetImageLeft: 'Immagine sinistra',
|
|
91
|
+
presetImageRight: 'Immagine destra',
|
|
92
|
+
confirmClear: 'Sei sicuro di voler eliminare tutti i mockup?',
|
|
93
|
+
processingExport: 'Elaborazione...',
|
|
94
|
+
exportDone: 'Fatto!',
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
|
|
98
|
+
slug,
|
|
99
|
+
title,
|
|
100
|
+
description,
|
|
101
|
+
ui,
|
|
102
|
+
faqTitle: 'Domande Frequenti',
|
|
103
|
+
faq: faqData,
|
|
104
|
+
bibliographyTitle: 'Riferimenti',
|
|
105
|
+
bibliography: [
|
|
106
|
+
{ name: 'Apple App Store Screenshot Requirements', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' },
|
|
107
|
+
{ name: 'Google Play Screenshot Requirements', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' },
|
|
108
|
+
],
|
|
109
|
+
howTo: howToData,
|
|
110
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
111
|
+
seo: [
|
|
112
|
+
{ type: 'title', text: 'Porta i tuoi screenshot al livello successivo', level: 2 },
|
|
113
|
+
{ type: 'paragraph', html: 'Non limitarti a caricare screenshot piatti. Il nostro strumento di mockup permette a sviluppatori e designer di creare asset visivi ad alto impatto senza bisogno di Photoshop o Figma.' },
|
|
114
|
+
{ type: 'title', text: 'Potenza con i Layout Master', level: 3 },
|
|
115
|
+
{ type: 'grid', columns: 2 },
|
|
116
|
+
{ type: 'card', title: 'App Store & Google Play', html: '<p>Ottimizza il tuo tasso di conversione. I mockup di iPhone 15 Pro Max e Pixel 8 sono lo standard mondiale per le schede degli store.</p>' },
|
|
117
|
+
{ type: 'card', title: 'Pitch Deck & Marketing', html: '<p>Presenta le tue idee con autorevolezza. Perfetto per presentazioni agli investitori, campagne sui social e portfolio professionali di design UI/UX.</p>' },
|
|
118
|
+
{ type: 'title', text: 'Flusso di lavoro professionale', level: 3 },
|
|
119
|
+
{ type: 'tip', html: 'Usa i preset "Diviso sinistra" e "Diviso destra" per creare mockup continui che scorrono da un\'immagine all\'altra nei caroselli di Instagram o negli screenshot dell\'App Store.' },
|
|
120
|
+
],
|
|
121
|
+
};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MobileMockupGeneratorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'mobile-mockup-generator';
|
|
6
|
+
const title = 'App Store向けモバイルモックアップジェネレーター。iPhoneとGoogle Pixel対応';
|
|
7
|
+
const description = 'App StoreとGoogle Play向けのプロフェッショナルなプレゼンテーションを作成。カスタム背景、パノラマレイアウト、高解像度一括エクスポートに対応したiPhoneとPixelのモックアップ。';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{ question: 'これらのスクリーンショットはApp StoreとGoogle Playで有効ですか?', answer: 'はい、生成された画像はアプリストアの比率と品質要件を満たしています。エクスポート前に適切なデバイス(iOSにはiPhone、AndroidにはPixel)を選ぶだけで大丈夫です。' },
|
|
11
|
+
{ question: 'オリジナルの背景画像を使用できますか?', answer: 'もちろんです。プレミアムグラデーションライブラリに加え、コンピューターから任意の画像をアップロードしてモックアップの背景として使用できます。' },
|
|
12
|
+
{ question: '商用利用は無料ですか?', answer: 'はい、生成したモックアップは商業プロジェクト、ポートフォリオ、プレゼンテーションに費用なし・透かしなしで使用できます。' },
|
|
13
|
+
{ question: 'スクリーンショットはサーバーに保存されますか?', answer: 'いいえ。ジェネレーターはブラウザ内で完全にローカル動作します。プライベートな画像がコンピューターの外に出ることは一切ありません。' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howToData = [
|
|
17
|
+
{ name: 'スクリーンショットをアップロード', text: '紹介したいモバイルアプリのスクリーンショットをドラッグするか選択してください。' },
|
|
18
|
+
{ name: 'デバイスを選択', text: 'ターゲットストアに応じてスマートフォンモデル(iPhone 15 Pro MaxまたはGoogle Pixel 8)を選択します。' },
|
|
19
|
+
{ name: '環境をカスタマイズ', text: '背景、デバイスの角度を調整し、マーケティングテキストを追加してレイアウトを選択します。' },
|
|
20
|
+
{ name: 'HDでダウンロード', text: 'アプリストアへのアップロードに対応した高解像度WebP形式ですべてのモックアップをエクスポートします。' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
30
|
+
'@context': 'https://schema.org',
|
|
31
|
+
'@type': 'HowTo',
|
|
32
|
+
name: title,
|
|
33
|
+
description,
|
|
34
|
+
step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
38
|
+
'@context': 'https://schema.org',
|
|
39
|
+
'@type': 'SoftwareApplication',
|
|
40
|
+
name: title,
|
|
41
|
+
description,
|
|
42
|
+
applicationCategory: 'DesignApplication',
|
|
43
|
+
operatingSystem: 'All',
|
|
44
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'JPY' },
|
|
45
|
+
inLanguage: 'ja',
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const ui: MobileMockupGeneratorUI = {
|
|
49
|
+
labelUpload: 'スクリーンショットをアップロード',
|
|
50
|
+
dropHint: 'ここに画像をドラッグ',
|
|
51
|
+
dropFormats: 'PNG、JPGまたはWEBP',
|
|
52
|
+
btnMassReplace: '一括置換(バッチ)',
|
|
53
|
+
massReplaceHint: 'プリセットとテキストを維持したまま現在の画像を置換します。素早い繰り返し作業に最適です。',
|
|
54
|
+
labelSettings: 'グローバル設定',
|
|
55
|
+
labelDevice: 'デバイス',
|
|
56
|
+
labelFont: 'フォント',
|
|
57
|
+
labelBackground: '背景',
|
|
58
|
+
titleSwapColors: '色を入れ替え',
|
|
59
|
+
labelAngle: '角度',
|
|
60
|
+
labelSafeArea: 'セーフエリア(上下)',
|
|
61
|
+
labelSafeAreaColor: 'エリアの色',
|
|
62
|
+
emptyTitle: '画像がありません',
|
|
63
|
+
emptySubtitle: 'スクリーンショットをアップロードしてデザインを始めましょう',
|
|
64
|
+
btnClearAll: 'キャンバスをクリア',
|
|
65
|
+
btnExport: 'すべてエクスポート(.zip)',
|
|
66
|
+
cardTitleDuplicate: 'シーンを複製',
|
|
67
|
+
cardTitleReplace: '現在のスクリーンショットを置換',
|
|
68
|
+
cardSectionLayouts: 'マスターレイアウト',
|
|
69
|
+
cardSectionBranding: 'ブランディング&コピー',
|
|
70
|
+
cardTitleResetText: 'テキストをリセット',
|
|
71
|
+
cardLabelColor: 'カラー',
|
|
72
|
+
cardTextPlaceholder: 'コピーをここに入力...',
|
|
73
|
+
cardSectionDevice: 'デバイスレイアウト',
|
|
74
|
+
cardTitleResetDevice: '位置をリセット',
|
|
75
|
+
cardSectionScene: 'プロップス&背景',
|
|
76
|
+
cardBtnSpecialBg: 'スペシャル背景',
|
|
77
|
+
cardBtnDeleteScene: 'シーンを削除',
|
|
78
|
+
cardRangeLabelSize: 'サイズ',
|
|
79
|
+
cardRangeLabelX: 'X軸',
|
|
80
|
+
cardRangeLabelY: 'Y軸',
|
|
81
|
+
cardRangeLabelRotation: '回転',
|
|
82
|
+
cardRangeLabelScale: 'スケール',
|
|
83
|
+
presetClassic: 'クラシック',
|
|
84
|
+
presetMobileBottom: 'モバイル下部',
|
|
85
|
+
presetMobileTop: 'モバイル上部',
|
|
86
|
+
presetFocus: 'フォーカス',
|
|
87
|
+
presetDynamic: 'ダイナミック',
|
|
88
|
+
presetSplitLeft: '左分割',
|
|
89
|
+
presetSplitRight: '右分割',
|
|
90
|
+
presetImageLeft: '画像左',
|
|
91
|
+
presetImageRight: '画像右',
|
|
92
|
+
confirmClear: 'すべてのモックアップを削除してよろしいですか?',
|
|
93
|
+
processingExport: '処理中...',
|
|
94
|
+
exportDone: '完了!',
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
|
|
98
|
+
slug,
|
|
99
|
+
title,
|
|
100
|
+
description,
|
|
101
|
+
ui,
|
|
102
|
+
faqTitle: 'よくある質問',
|
|
103
|
+
faq: faqData,
|
|
104
|
+
bibliographyTitle: '参考資料',
|
|
105
|
+
bibliography: [
|
|
106
|
+
{ name: 'Apple App Store Screenshot Requirements', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' },
|
|
107
|
+
{ name: 'Google Play Screenshot Requirements', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' },
|
|
108
|
+
],
|
|
109
|
+
howTo: howToData,
|
|
110
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
111
|
+
seo: [
|
|
112
|
+
{ type: 'title', text: 'スクリーンショットを次のレベルへ', level: 2 },
|
|
113
|
+
{ type: 'paragraph', html: '平凡なスクリーンショットで終わらせないでください。このモックアップツールを使えば、開発者やデザイナーがPhotoshopやFigmaなしで高インパクトなビジュアルアセットを作れます。' },
|
|
114
|
+
{ type: 'title', text: 'マスターレイアウトのパワー', level: 3 },
|
|
115
|
+
{ type: 'grid', columns: 2 },
|
|
116
|
+
{ type: 'card', title: 'App Store & Google Play', html: '<p>コンバージョン率を最適化しましょう。iPhone 15 Pro MaxとPixel 8のモックアップは、アプリストア掲載の世界標準です。</p>' },
|
|
117
|
+
{ type: 'card', title: 'ピッチデック&マーケティング', html: '<p>説得力を持ってアイデアを伝えましょう。投資家向けプレゼン、SNSキャンペーン、プロフェッショナルなUI/UXデザインポートフォリオに最適です。</p>' },
|
|
118
|
+
{ type: 'title', text: 'プロフェッショナルなワークフロー', level: 3 },
|
|
119
|
+
{ type: 'tip', html: '「左分割」と「右分割」のプリセットを使うと、InstagramカルーセルやApp Storeのスクリーンショットで画像がシームレスにつながるモックアップを作成できます。' },
|
|
120
|
+
],
|
|
121
|
+
};
|
|
122
|
+
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MobileMockupGeneratorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'mobile-mockup-generator';
|
|
6
|
+
const title = 'App Store용 모바일 목업 생성기. iPhone 및 Google Pixel';
|
|
7
|
+
const description = 'App Store와 Google Play를 위한 전문적인 프레젠테이션을 만들어 보세요. 커스텀 배경, 파노라믹 레이아웃, 고해상도 일괄 내보내기를 지원하는 iPhone과 Pixel 목업.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{ question: '이 스크린샷은 App Store와 Google Play에서 유효한가요?', answer: '네, 생성된 이미지는 앱 스토어의 비율 및 품질 요구사항을 충족합니다. 내보내기 전에 적절한 기기(iOS는 iPhone, Android는 Pixel)를 선택하기만 하면 됩니다.' },
|
|
11
|
+
{ question: '나만의 커스텀 배경을 사용할 수 있나요?', answer: '물론입니다. 프리미엄 그라데이션 라이브러리 외에도 컴퓨터에서 원하는 이미지를 업로드하여 목업의 배경으로 사용할 수 있습니다.' },
|
|
12
|
+
{ question: '상업적 용도로 무료로 사용할 수 있나요?', answer: '네, 생성된 목업을 상업 프로젝트, 포트폴리오, 프레젠테이션에 비용 없이, 워터마크 없이 사용할 수 있습니다.' },
|
|
13
|
+
{ question: '스크린샷이 서버에 저장되나요?', answer: '아니요. 생성기는 브라우저에서 100% 로컬로 작동합니다. 개인 이미지는 절대 컴퓨터를 벗어나지 않습니다.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howToData = [
|
|
17
|
+
{ name: '스크린샷 업로드', text: '프레젠테이션하고 싶은 모바일 앱의 스크린샷을 드래그하거나 선택하세요.' },
|
|
18
|
+
{ name: '기기 선택', text: '대상 스토어에 맞게 스마트폰 모델(iPhone 15 Pro Max 또는 Google Pixel 8)을 선택하세요.' },
|
|
19
|
+
{ name: '환경 커스터마이즈', text: '배경, 기기 각도를 조정하고, 마케팅 텍스트를 추가한 후 레이아웃을 선택하세요.' },
|
|
20
|
+
{ name: 'HD로 다운로드', text: '앱 스토어 업로드에 바로 사용할 수 있는 고해상도 WebP 형식으로 모든 결과를 내보내세요.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
30
|
+
'@context': 'https://schema.org',
|
|
31
|
+
'@type': 'HowTo',
|
|
32
|
+
name: title,
|
|
33
|
+
description,
|
|
34
|
+
step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
38
|
+
'@context': 'https://schema.org',
|
|
39
|
+
'@type': 'SoftwareApplication',
|
|
40
|
+
name: title,
|
|
41
|
+
description,
|
|
42
|
+
applicationCategory: 'DesignApplication',
|
|
43
|
+
operatingSystem: 'All',
|
|
44
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'KRW' },
|
|
45
|
+
inLanguage: 'ko',
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const ui: MobileMockupGeneratorUI = {
|
|
49
|
+
labelUpload: '스크린샷 업로드',
|
|
50
|
+
dropHint: '여기에 이미지를 드래그하세요',
|
|
51
|
+
dropFormats: 'PNG, JPG 또는 WEBP',
|
|
52
|
+
btnMassReplace: '일괄 교체 (배치)',
|
|
53
|
+
massReplaceHint: '프리셋과 텍스트를 유지하면서 현재 이미지를 교체합니다. 빠른 반복 작업에 이상적입니다.',
|
|
54
|
+
labelSettings: '전역 설정',
|
|
55
|
+
labelDevice: '기기',
|
|
56
|
+
labelFont: '타이포그래피',
|
|
57
|
+
labelBackground: '배경',
|
|
58
|
+
titleSwapColors: '색상 교체',
|
|
59
|
+
labelAngle: '각도',
|
|
60
|
+
labelSafeArea: '세이프 에리어 (상단/하단)',
|
|
61
|
+
labelSafeAreaColor: '영역 색상',
|
|
62
|
+
emptyTitle: '이미지 없음',
|
|
63
|
+
emptySubtitle: '스크린샷을 업로드하여 디자인을 시작하세요',
|
|
64
|
+
btnClearAll: '캔버스 초기화',
|
|
65
|
+
btnExport: '모두 내보내기 (.zip)',
|
|
66
|
+
cardTitleDuplicate: '장면 복제',
|
|
67
|
+
cardTitleReplace: '현재 스크린샷 교체',
|
|
68
|
+
cardSectionLayouts: '마스터 레이아웃',
|
|
69
|
+
cardSectionBranding: '브랜딩 & 카피',
|
|
70
|
+
cardTitleResetText: '텍스트 초기화',
|
|
71
|
+
cardLabelColor: '색상',
|
|
72
|
+
cardTextPlaceholder: '여기에 카피를 작성하세요...',
|
|
73
|
+
cardSectionDevice: '기기 레이아웃',
|
|
74
|
+
cardTitleResetDevice: '위치 초기화',
|
|
75
|
+
cardSectionScene: '소품 & 배경',
|
|
76
|
+
cardBtnSpecialBg: '특수 배경',
|
|
77
|
+
cardBtnDeleteScene: '장면 삭제',
|
|
78
|
+
cardRangeLabelSize: '크기',
|
|
79
|
+
cardRangeLabelX: 'X축',
|
|
80
|
+
cardRangeLabelY: 'Y축',
|
|
81
|
+
cardRangeLabelRotation: '회전',
|
|
82
|
+
cardRangeLabelScale: '스케일',
|
|
83
|
+
presetClassic: '클래식',
|
|
84
|
+
presetMobileBottom: '모바일 하단',
|
|
85
|
+
presetMobileTop: '모바일 상단',
|
|
86
|
+
presetFocus: '포커스',
|
|
87
|
+
presetDynamic: '다이나믹',
|
|
88
|
+
presetSplitLeft: '왼쪽 분할',
|
|
89
|
+
presetSplitRight: '오른쪽 분할',
|
|
90
|
+
presetImageLeft: '이미지 왼쪽',
|
|
91
|
+
presetImageRight: '이미지 오른쪽',
|
|
92
|
+
confirmClear: '모든 목업을 삭제하시겠습니까?',
|
|
93
|
+
processingExport: '처리 중...',
|
|
94
|
+
exportDone: '완료!',
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
|
|
98
|
+
slug,
|
|
99
|
+
title,
|
|
100
|
+
description,
|
|
101
|
+
ui,
|
|
102
|
+
faqTitle: '자주 묻는 질문',
|
|
103
|
+
faq: faqData,
|
|
104
|
+
bibliographyTitle: '참고 자료',
|
|
105
|
+
bibliography: [
|
|
106
|
+
{ name: 'Apple App Store Screenshot Requirements', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' },
|
|
107
|
+
{ name: 'Google Play Screenshot Requirements', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' },
|
|
108
|
+
],
|
|
109
|
+
howTo: howToData,
|
|
110
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
111
|
+
seo: [
|
|
112
|
+
{ type: 'title', text: '스크린샷을 한 단계 업그레이드하세요', level: 2 },
|
|
113
|
+
{ type: 'paragraph', html: '단순한 스크린샷에 머물지 마세요. 이 목업 도구를 사용하면 개발자와 디자이너가 Photoshop이나 Figma 없이도 강력한 시각적 에셋을 만들 수 있습니다.' },
|
|
114
|
+
{ type: 'title', text: '마스터 레이아웃의 힘', level: 3 },
|
|
115
|
+
{ type: 'grid', columns: 2 },
|
|
116
|
+
{ type: 'card', title: 'App Store & Google Play', html: '<p>전환율을 최적화하세요. iPhone 15 Pro Max와 Pixel 8 목업은 앱 스토어 등록의 세계 표준입니다.</p>' },
|
|
117
|
+
{ type: 'card', title: '피치덱 & 마케팅', html: '<p>설득력 있게 아이디어를 발표하세요. 투자자 프레젠테이션, 소셜 미디어 캠페인, 전문적인 UI/UX 디자인 포트폴리오에 완벽합니다.</p>' },
|
|
118
|
+
{ type: 'title', text: '전문적인 워크플로우', level: 3 },
|
|
119
|
+
{ type: 'tip', html: '"왼쪽 분할"과 "오른쪽 분할" 프리셋을 사용하면 Instagram 캐러셀이나 App Store 스크린샷에서 이미지가 자연스럽게 이어지는 연속 목업을 만들 수 있습니다.' },
|
|
120
|
+
],
|
|
121
|
+
};
|
|
122
|
+
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MobileMockupGeneratorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'mobiele-mockup-generator';
|
|
6
|
+
const title = 'Mobiele Mockup generator voor de App Store. iPhone en Google Pixel';
|
|
7
|
+
const description = 'Maak professionele presentaties voor de App Store en Google Play. iPhone- en Pixel-mockups met aangepaste achtergronden, panoramische layouts en bulkexport in hoge resolutie.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{ question: 'Zijn deze screenshots geldig voor de App Store en Google Play?', answer: 'Ja, de gegenereerde afbeeldingen voldoen aan de proporties en kwaliteitseisen van de app-winkels. Kies gewoon het juiste apparaat (iPhone voor iOS, Pixel voor Android) voor het exporteren.' },
|
|
11
|
+
{ question: 'Kan ik mijn eigen achtergronden gebruiken?', answer: 'Zeker. Naast onze premium gradiëntenbibliotheek kunt u elke afbeelding van uw computer uploaden als achtergrond voor uw mockups.' },
|
|
12
|
+
{ question: 'Is het gratis voor commercieel gebruik?', answer: 'Ja, u kunt de gegenereerde mockups gebruiken voor commerciële projecten, portfolio\'s of presentaties zonder kosten en zonder watermerken.' },
|
|
13
|
+
{ question: 'Worden mijn screenshots opgeslagen op een server?', answer: 'Nee. De generator werkt 100% lokaal in uw browser. Uw privéafbeeldingen verlaten uw computer nooit.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const howToData = [
|
|
17
|
+
{ name: 'Screenshots uploaden', text: 'Sleep of selecteer de screenshots van uw mobiele app die u wilt presenteren.' },
|
|
18
|
+
{ name: 'Apparaat kiezen', text: 'Selecteer het smartphonemodel (iPhone 15 Pro Max of Google Pixel 8) op basis van de doelwinkel.' },
|
|
19
|
+
{ name: 'Omgeving aanpassen', text: 'Pas de achtergrond en de apparaathoek aan, voeg marketingteksten toe en kies de compositie-indeling.' },
|
|
20
|
+
{ name: 'Downloaden in HD', text: 'Exporteer alle resultaten in WebP-formaat met hoge resolutie, klaar om te uploaden naar de app-winkel.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
24
|
+
'@context': 'https://schema.org',
|
|
25
|
+
'@type': 'FAQPage',
|
|
26
|
+
mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
30
|
+
'@context': 'https://schema.org',
|
|
31
|
+
'@type': 'HowTo',
|
|
32
|
+
name: title,
|
|
33
|
+
description,
|
|
34
|
+
step: howToData.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
38
|
+
'@context': 'https://schema.org',
|
|
39
|
+
'@type': 'SoftwareApplication',
|
|
40
|
+
name: title,
|
|
41
|
+
description,
|
|
42
|
+
applicationCategory: 'DesignApplication',
|
|
43
|
+
operatingSystem: 'All',
|
|
44
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
45
|
+
inLanguage: 'nl',
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const ui: MobileMockupGeneratorUI = {
|
|
49
|
+
labelUpload: 'Screenshots uploaden',
|
|
50
|
+
dropHint: 'Sleep uw afbeeldingen hiernaartoe',
|
|
51
|
+
dropFormats: 'PNG, JPG of WEBP',
|
|
52
|
+
btnMassReplace: 'Bulkvervangen (Batch)',
|
|
53
|
+
massReplaceHint: 'Vervangt de huidige afbeeldingen terwijl uw presets en teksten bewaard blijven. Ideaal voor snelle iteraties.',
|
|
54
|
+
labelSettings: 'Algemene instellingen',
|
|
55
|
+
labelDevice: 'Apparaat',
|
|
56
|
+
labelFont: 'Typografie',
|
|
57
|
+
labelBackground: 'Achtergrond',
|
|
58
|
+
titleSwapColors: 'Kleuren wisselen',
|
|
59
|
+
labelAngle: 'Hoek',
|
|
60
|
+
labelSafeArea: 'Veilige zone (boven/onder)',
|
|
61
|
+
labelSafeAreaColor: 'Gebiedskleur',
|
|
62
|
+
emptyTitle: 'Nog geen afbeeldingen',
|
|
63
|
+
emptySubtitle: 'Upload uw screenshots om te beginnen met ontwerpen',
|
|
64
|
+
btnClearAll: 'Canvas leegmaken',
|
|
65
|
+
btnExport: 'Alles exporteren (.zip)',
|
|
66
|
+
cardTitleDuplicate: 'Scène dupliceren',
|
|
67
|
+
cardTitleReplace: 'Huidige screenshot vervangen',
|
|
68
|
+
cardSectionLayouts: 'Master-indelingen',
|
|
69
|
+
cardSectionBranding: 'Branding & Teksten',
|
|
70
|
+
cardTitleResetText: 'Tekst herstellen',
|
|
71
|
+
cardLabelColor: 'Kleur',
|
|
72
|
+
cardTextPlaceholder: 'Schrijf uw tekst hier...',
|
|
73
|
+
cardSectionDevice: 'Apparaat-indeling',
|
|
74
|
+
cardTitleResetDevice: 'Positie herstellen',
|
|
75
|
+
cardSectionScene: 'Rekwisieten & Achtergrond',
|
|
76
|
+
cardBtnSpecialBg: 'Speciale achtergrond',
|
|
77
|
+
cardBtnDeleteScene: 'Scène verwijderen',
|
|
78
|
+
cardRangeLabelSize: 'Grootte',
|
|
79
|
+
cardRangeLabelX: 'X-as',
|
|
80
|
+
cardRangeLabelY: 'Y-as',
|
|
81
|
+
cardRangeLabelRotation: 'Rotatie',
|
|
82
|
+
cardRangeLabelScale: 'Schaal',
|
|
83
|
+
presetClassic: 'Klassiek',
|
|
84
|
+
presetMobileBottom: 'Mobiel onderaan',
|
|
85
|
+
presetMobileTop: 'Mobiel bovenaan',
|
|
86
|
+
presetFocus: 'Focus',
|
|
87
|
+
presetDynamic: 'Dynamisch',
|
|
88
|
+
presetSplitLeft: 'Gesplitst links',
|
|
89
|
+
presetSplitRight: 'Gesplitst rechts',
|
|
90
|
+
presetImageLeft: 'Afbeelding links',
|
|
91
|
+
presetImageRight: 'Afbeelding rechts',
|
|
92
|
+
confirmClear: 'Weet u zeker dat u alle mockups wilt verwijderen?',
|
|
93
|
+
processingExport: 'Verwerken...',
|
|
94
|
+
exportDone: 'Klaar!',
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export const content: ToolLocaleContent<MobileMockupGeneratorUI> = {
|
|
98
|
+
slug,
|
|
99
|
+
title,
|
|
100
|
+
description,
|
|
101
|
+
ui,
|
|
102
|
+
faqTitle: 'Veelgestelde vragen',
|
|
103
|
+
faq: faqData,
|
|
104
|
+
bibliographyTitle: 'Referenties',
|
|
105
|
+
bibliography: [
|
|
106
|
+
{ name: 'Apple App Store Screenshot Requirements', url: 'https://developer.apple.com/help/app-store-connect/reference/screenshot-specifications' },
|
|
107
|
+
{ name: 'Google Play Screenshot Requirements', url: 'https://support.google.com/googleplay/android-developer/answer/9866151' },
|
|
108
|
+
],
|
|
109
|
+
howTo: howToData,
|
|
110
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
111
|
+
seo: [
|
|
112
|
+
{ type: 'title', text: 'Til uw screenshots naar een hoger niveau', level: 2 },
|
|
113
|
+
{ type: 'paragraph', html: 'Beperk uzelf niet tot gewone screenshots. Onze mockup-tool stelt ontwikkelaars en designers in staat visuele assets met grote impact te maken zonder Photoshop of Figma.' },
|
|
114
|
+
{ type: 'title', text: 'Kracht via Master-indelingen', level: 3 },
|
|
115
|
+
{ type: 'grid', columns: 2 },
|
|
116
|
+
{ type: 'card', title: 'App Store & Google Play', html: '<p>Optimaliseer uw conversieratio. iPhone 15 Pro Max- en Pixel 8-mockups zijn de wereldstandaard voor app-winkelvermelding.</p>' },
|
|
117
|
+
{ type: 'card', title: 'Pitch Decks & Marketing', html: '<p>Presenteer uw ideeën met overtuiging. Perfect voor investeerderspresentaties, social-mediacampagnes en professionele UI/UX-designportfolio\'s.</p>' },
|
|
118
|
+
{ type: 'title', text: 'Professionele workflow', level: 3 },
|
|
119
|
+
{ type: 'tip', html: 'Gebruik de presets "Gesplitst links" en "Gesplitst rechts" om aaneengesloten mockups te maken die van de ene afbeelding naar de andere overgaan in Instagram-carrousels of App Store-screenshots.' },
|
|
120
|
+
],
|
|
121
|
+
};
|