@jjlmoya/utils-diy 1.28.0 → 1.30.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 -2
- package/src/category/i18n/de.ts +12 -12
- package/src/category/i18n/en.ts +110 -110
- package/src/category/i18n/es.ts +110 -110
- package/src/category/i18n/fr.ts +101 -101
- package/src/category/i18n/id.ts +12 -12
- package/src/category/i18n/it.ts +12 -12
- package/src/category/i18n/ja.ts +12 -12
- package/src/category/i18n/ko.ts +12 -12
- package/src/category/i18n/nl.ts +12 -12
- package/src/category/i18n/pl.ts +12 -12
- package/src/category/i18n/pt.ts +12 -12
- package/src/category/i18n/ru.ts +12 -12
- package/src/category/i18n/sv.ts +12 -12
- package/src/category/i18n/tr.ts +12 -12
- package/src/category/i18n/zh.ts +12 -12
- package/src/category/index.ts +36 -36
- package/src/category/seo.astro +1 -1
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/entries.ts +37 -37
- package/src/env.d.ts +1 -1
- package/src/index.ts +50 -50
- package/src/layouts/PreviewLayout.astro +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_length.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_translation_completeness.test.ts +18 -12
- package/src/tests/tool_validation.test.ts +15 -15
- package/src/tool/balusterCalculator/bibliography.ts +16 -16
- package/src/tool/balusterCalculator/i18n/de.ts +251 -251
- package/src/tool/balusterCalculator/i18n/en.ts +251 -251
- package/src/tool/balusterCalculator/i18n/es.ts +251 -251
- package/src/tool/balusterCalculator/i18n/fr.ts +251 -251
- package/src/tool/balusterCalculator/i18n/id.ts +251 -251
- package/src/tool/balusterCalculator/i18n/it.ts +251 -251
- package/src/tool/balusterCalculator/i18n/ja.ts +251 -251
- package/src/tool/balusterCalculator/i18n/ko.ts +251 -251
- package/src/tool/balusterCalculator/i18n/nl.ts +251 -251
- package/src/tool/balusterCalculator/i18n/pl.ts +251 -251
- package/src/tool/balusterCalculator/i18n/pt.ts +251 -251
- package/src/tool/balusterCalculator/i18n/ru.ts +251 -251
- package/src/tool/balusterCalculator/i18n/sv.ts +251 -251
- package/src/tool/balusterCalculator/i18n/tr.ts +251 -251
- package/src/tool/balusterCalculator/i18n/zh.ts +251 -251
- package/src/tool/balusterCalculator/seo.astro +15 -15
- package/src/tool/clayCalculator/bibliography.ts +12 -12
- package/src/tool/clayCalculator/i18n/de.ts +174 -174
- package/src/tool/clayCalculator/i18n/en.ts +174 -174
- package/src/tool/clayCalculator/i18n/es.ts +174 -174
- package/src/tool/clayCalculator/i18n/fr.ts +174 -174
- package/src/tool/clayCalculator/i18n/id.ts +174 -174
- package/src/tool/clayCalculator/i18n/it.ts +174 -174
- package/src/tool/clayCalculator/i18n/ja.ts +173 -173
- package/src/tool/clayCalculator/i18n/ko.ts +174 -174
- package/src/tool/clayCalculator/i18n/nl.ts +174 -174
- package/src/tool/clayCalculator/i18n/pl.ts +174 -174
- package/src/tool/clayCalculator/i18n/pt.ts +174 -174
- package/src/tool/clayCalculator/i18n/ru.ts +174 -174
- package/src/tool/clayCalculator/i18n/sv.ts +174 -174
- package/src/tool/clayCalculator/i18n/tr.ts +174 -174
- package/src/tool/clayCalculator/i18n/zh.ts +174 -174
- package/src/tool/clayCalculator/seo.astro +15 -15
- package/src/tool/concreteCalculator/bibliography.ts +7 -7
- package/src/tool/concreteCalculator/i18n/de.ts +188 -188
- package/src/tool/concreteCalculator/i18n/en.ts +188 -188
- package/src/tool/concreteCalculator/i18n/es.ts +188 -188
- package/src/tool/concreteCalculator/i18n/fr.ts +188 -188
- package/src/tool/concreteCalculator/i18n/id.ts +188 -188
- package/src/tool/concreteCalculator/i18n/it.ts +188 -188
- package/src/tool/concreteCalculator/i18n/ja.ts +188 -188
- package/src/tool/concreteCalculator/i18n/ko.ts +188 -188
- package/src/tool/concreteCalculator/i18n/nl.ts +188 -188
- package/src/tool/concreteCalculator/i18n/pl.ts +188 -188
- package/src/tool/concreteCalculator/i18n/pt.ts +188 -188
- package/src/tool/concreteCalculator/i18n/ru.ts +188 -188
- package/src/tool/concreteCalculator/i18n/sv.ts +188 -188
- package/src/tool/concreteCalculator/i18n/tr.ts +188 -188
- package/src/tool/concreteCalculator/i18n/zh.ts +188 -188
- package/src/tool/concreteCalculator/seo.astro +15 -15
- package/src/tool/cutOptimizer/bibliography.ts +12 -12
- package/src/tool/cutOptimizer/i18n/de.ts +169 -169
- package/src/tool/cutOptimizer/i18n/en.ts +169 -169
- package/src/tool/cutOptimizer/i18n/es.ts +169 -169
- package/src/tool/cutOptimizer/i18n/fr.ts +169 -169
- package/src/tool/cutOptimizer/i18n/id.ts +169 -169
- package/src/tool/cutOptimizer/i18n/it.ts +169 -169
- package/src/tool/cutOptimizer/i18n/ja.ts +169 -169
- package/src/tool/cutOptimizer/i18n/ko.ts +169 -169
- package/src/tool/cutOptimizer/i18n/nl.ts +169 -169
- package/src/tool/cutOptimizer/i18n/pl.ts +169 -169
- package/src/tool/cutOptimizer/i18n/pt.ts +169 -169
- package/src/tool/cutOptimizer/i18n/ru.ts +169 -169
- package/src/tool/cutOptimizer/i18n/sv.ts +169 -169
- package/src/tool/cutOptimizer/i18n/tr.ts +169 -169
- package/src/tool/cutOptimizer/i18n/zh.ts +169 -169
- package/src/tool/cutOptimizer/seo.astro +15 -15
- package/src/tool/drillCalculator/bibliography.ts +12 -12
- package/src/tool/drillCalculator/i18n/de.ts +134 -134
- package/src/tool/drillCalculator/i18n/en.ts +134 -134
- package/src/tool/drillCalculator/i18n/es.ts +134 -134
- package/src/tool/drillCalculator/i18n/fr.ts +134 -134
- package/src/tool/drillCalculator/i18n/id.ts +134 -134
- package/src/tool/drillCalculator/i18n/it.ts +134 -134
- package/src/tool/drillCalculator/i18n/ja.ts +134 -134
- package/src/tool/drillCalculator/i18n/ko.ts +134 -134
- package/src/tool/drillCalculator/i18n/nl.ts +134 -134
- package/src/tool/drillCalculator/i18n/pl.ts +134 -134
- package/src/tool/drillCalculator/i18n/pt.ts +134 -134
- package/src/tool/drillCalculator/i18n/ru.ts +134 -134
- package/src/tool/drillCalculator/i18n/sv.ts +134 -134
- package/src/tool/drillCalculator/i18n/tr.ts +134 -134
- package/src/tool/drillCalculator/i18n/zh.ts +134 -134
- package/src/tool/drillCalculator/seo.astro +15 -15
- package/src/tool/drillSharpener/bibliography.ts +16 -16
- package/src/tool/drillSharpener/i18n/de.ts +117 -117
- package/src/tool/drillSharpener/i18n/en.ts +117 -117
- package/src/tool/drillSharpener/i18n/es.ts +117 -117
- package/src/tool/drillSharpener/i18n/fr.ts +117 -117
- package/src/tool/drillSharpener/i18n/id.ts +117 -117
- package/src/tool/drillSharpener/i18n/it.ts +117 -117
- package/src/tool/drillSharpener/i18n/ja.ts +117 -117
- package/src/tool/drillSharpener/i18n/ko.ts +117 -117
- package/src/tool/drillSharpener/i18n/nl.ts +117 -117
- package/src/tool/drillSharpener/i18n/pl.ts +117 -117
- package/src/tool/drillSharpener/i18n/pt.ts +117 -117
- package/src/tool/drillSharpener/i18n/ru.ts +117 -117
- package/src/tool/drillSharpener/i18n/sv.ts +117 -117
- package/src/tool/drillSharpener/i18n/tr.ts +117 -117
- package/src/tool/drillSharpener/i18n/zh.ts +117 -117
- package/src/tool/drillSharpener/seo.astro +15 -15
- package/src/tool/epoxyCalculator/bibliography.ts +20 -20
- package/src/tool/epoxyCalculator/i18n/de.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/en.ts +178 -178
- package/src/tool/epoxyCalculator/i18n/es.ts +178 -178
- package/src/tool/epoxyCalculator/i18n/fr.ts +178 -178
- package/src/tool/epoxyCalculator/i18n/id.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/it.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/ja.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/ko.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/nl.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/pl.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/pt.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/ru.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/sv.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/tr.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/zh.ts +116 -116
- package/src/tool/epoxyCalculator/seo.astro +15 -15
- package/src/tool/furnitureFit/bibliography.ts +12 -12
- package/src/tool/furnitureFit/i18n/de.ts +111 -111
- package/src/tool/furnitureFit/i18n/en.ts +149 -149
- package/src/tool/furnitureFit/i18n/es.ts +149 -149
- package/src/tool/furnitureFit/i18n/fr.ts +149 -149
- package/src/tool/furnitureFit/i18n/id.ts +111 -111
- package/src/tool/furnitureFit/i18n/it.ts +111 -111
- package/src/tool/furnitureFit/i18n/ja.ts +111 -111
- package/src/tool/furnitureFit/i18n/ko.ts +111 -111
- package/src/tool/furnitureFit/i18n/nl.ts +111 -111
- package/src/tool/furnitureFit/i18n/pl.ts +111 -111
- package/src/tool/furnitureFit/i18n/pt.ts +111 -111
- package/src/tool/furnitureFit/i18n/ru.ts +111 -111
- package/src/tool/furnitureFit/i18n/sv.ts +111 -111
- package/src/tool/furnitureFit/i18n/tr.ts +111 -111
- package/src/tool/furnitureFit/i18n/zh.ts +111 -111
- package/src/tool/furnitureFit/seo.astro +15 -15
- package/src/tool/mortarCalculator/bibliography.ts +20 -20
- package/src/tool/mortarCalculator/i18n/de.ts +130 -130
- package/src/tool/mortarCalculator/i18n/en.ts +202 -202
- package/src/tool/mortarCalculator/i18n/es.ts +179 -179
- package/src/tool/mortarCalculator/i18n/fr.ts +203 -203
- package/src/tool/mortarCalculator/i18n/id.ts +130 -130
- package/src/tool/mortarCalculator/i18n/it.ts +130 -130
- package/src/tool/mortarCalculator/i18n/ja.ts +130 -130
- package/src/tool/mortarCalculator/i18n/ko.ts +130 -130
- package/src/tool/mortarCalculator/i18n/nl.ts +130 -130
- package/src/tool/mortarCalculator/i18n/pl.ts +130 -130
- package/src/tool/mortarCalculator/i18n/pt.ts +130 -130
- package/src/tool/mortarCalculator/i18n/ru.ts +130 -130
- package/src/tool/mortarCalculator/i18n/sv.ts +130 -130
- package/src/tool/mortarCalculator/i18n/tr.ts +130 -130
- package/src/tool/mortarCalculator/i18n/zh.ts +130 -130
- package/src/tool/mortarCalculator/seo.astro +15 -15
- package/src/tool/passepartoutCalculator/bibliography.ts +16 -16
- package/src/tool/passepartoutCalculator/i18n/de.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/en.ts +165 -165
- package/src/tool/passepartoutCalculator/i18n/es.ts +165 -165
- package/src/tool/passepartoutCalculator/i18n/fr.ts +165 -165
- package/src/tool/passepartoutCalculator/i18n/id.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/it.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/ja.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/ko.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/nl.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/pl.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/pt.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/ru.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/sv.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/tr.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/zh.ts +108 -108
- package/src/tool/passepartoutCalculator/seo.astro +15 -15
- package/src/tool/pythagoreanRightAngleCalculator/bibliography.ts +12 -12
- package/src/tool/pythagoreanRightAngleCalculator/i18n/de.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/en.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/es.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/fr.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/id.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/it.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/ja.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/ko.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/nl.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/pl.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/pt.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/ru.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/sv.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/tr.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/zh.ts +129 -129
- package/src/tool/stairCalculator/bibliography.ts +16 -16
- package/src/tool/stairCalculator/i18n/de.ts +143 -143
- package/src/tool/stairCalculator/i18n/en.ts +145 -145
- package/src/tool/stairCalculator/i18n/es.ts +145 -145
- package/src/tool/stairCalculator/i18n/fr.ts +145 -145
- package/src/tool/stairCalculator/i18n/id.ts +143 -143
- package/src/tool/stairCalculator/i18n/it.ts +143 -143
- package/src/tool/stairCalculator/i18n/ja.ts +143 -143
- package/src/tool/stairCalculator/i18n/ko.ts +143 -143
- package/src/tool/stairCalculator/i18n/nl.ts +143 -143
- package/src/tool/stairCalculator/i18n/pl.ts +143 -143
- package/src/tool/stairCalculator/i18n/pt.ts +143 -143
- package/src/tool/stairCalculator/i18n/ru.ts +143 -143
- package/src/tool/stairCalculator/i18n/sv.ts +143 -143
- package/src/tool/stairCalculator/i18n/tr.ts +143 -143
- package/src/tool/stairCalculator/i18n/zh.ts +143 -143
- package/src/tool/stairCalculator/seo.astro +15 -15
- package/src/tool/thermalExpansionCalculator/bibliography.ts +16 -16
- package/src/tool/thermalExpansionCalculator/i18n/de.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/en.ts +170 -170
- package/src/tool/thermalExpansionCalculator/i18n/es.ts +170 -170
- package/src/tool/thermalExpansionCalculator/i18n/fr.ts +170 -170
- package/src/tool/thermalExpansionCalculator/i18n/id.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/it.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/ja.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/ko.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/nl.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/pl.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/pt.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/ru.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/sv.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/tr.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/zh.ts +132 -132
- package/src/tool/thermalExpansionCalculator/seo.astro +15 -15
- package/src/tool/twoStrokeMixtureCalculator/bibliography.ts +12 -12
- package/src/tool/twoStrokeMixtureCalculator/i18n/de.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/en.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/es.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/fr.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/id.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/it.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/ja.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/ko.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/nl.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/pl.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/pt.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/ru.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/sv.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/tr.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/zh.ts +194 -194
- package/src/tool/voltageDropCalculator/bibliography.ts +16 -16
- package/src/tool/voltageDropCalculator/i18n/de.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/en.ts +151 -151
- package/src/tool/voltageDropCalculator/i18n/es.ts +151 -151
- package/src/tool/voltageDropCalculator/i18n/fr.ts +145 -145
- package/src/tool/voltageDropCalculator/i18n/id.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/it.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/ja.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/ko.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/nl.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/pl.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/pt.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/ru.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/sv.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/tr.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/zh.ts +113 -113
- package/src/tool/voltageDropCalculator/seo.astro +15 -15
- package/src/tool/workshopFractionConverter/bibliography.ts +12 -12
- package/src/tool/workshopFractionConverter/i18n/de.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/en.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/es.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/fr.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/id.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/it.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/ja.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/ko.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/nl.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/pl.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/pt.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/ru.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/sv.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/tr.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/zh.ts +147 -147
- package/src/tools.ts +20 -20
|
@@ -1,178 +1,178 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
import type { EpoxyCalculatorUI } from '../ui';
|
|
4
|
-
import { bibliography } from '../bibliography';
|
|
5
|
-
|
|
6
|
-
const slug = 'calculadora-resina';
|
|
7
|
-
const title = 'Calculadora de Resina Epoxi: Mezcla y Volumen Exacto';
|
|
8
|
-
const description =
|
|
9
|
-
'Calcula la cantidad exacta de resina epoxi y catalizador necesaria para tus proyectos. Evita desperdicios en mesas río, joyería y moldes.';
|
|
10
|
-
|
|
11
|
-
const faqData = [
|
|
12
|
-
{
|
|
13
|
-
question: '¿Por qué es tan importante la proporción exacta en la resina?',
|
|
14
|
-
answer:
|
|
15
|
-
'A diferencia de otras mezclas, la resina epoxi no seca por evaporación, sino por una reacción química (polimerización). Si sobra resina o catalizador, la reacción será incompleta, dejando la pieza pegajosa, blanda o con burbujas permanentes.',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
question: '¿Qué es la proporción en peso vs volumen?',
|
|
19
|
-
answer:
|
|
20
|
-
'Muchas resinas se mezclan 2:1 en volumen pero 100:45 en peso debido a que el catalizador suele ser más denso. Usa siempre la escala que indique el fabricante y, si es posible, usa una báscula digital para máxima precisión.',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
question: '¿Cómo evito las burbujas al mezclar?',
|
|
24
|
-
answer:
|
|
25
|
-
'Mezcla lentamente con movimientos circulares constantes durante al menos 3 minutos, rascando bien las paredes del vaso. Deja reposar la mezcla un par de minutos antes de verter para que las burbujas suban a la superficie.',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
question: '¿Qué es el tiempo de vida (Pot Life)?',
|
|
29
|
-
answer:
|
|
30
|
-
'Es el tiempo que tienes para trabajar con la mezcla antes de que empiece a endurecerse (gelificar). En verano o en grandes volúmenes, este tiempo se reduce drásticamente debido a la reacción exotérmica (genera calor).',
|
|
31
|
-
},
|
|
32
|
-
];
|
|
33
|
-
|
|
34
|
-
const howToData = [
|
|
35
|
-
{
|
|
36
|
-
name: 'Medir las dimensiones del molde',
|
|
37
|
-
text: 'Mide el largo, ancho y la profundidad (grosor) de la zona que quieres rellenar con resina.',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: 'Introducir la relación de mezcla',
|
|
41
|
-
text: 'Consulta en la etiqueta de tu producto si la mezcla es 1:1, 2:1 o 3:1 y si se basa en peso o volumen.',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'Pesar los componentes',
|
|
45
|
-
text: 'Vierte primero el componente A (resina) y luego el B (catalizador) en un recipiente limpio sobre una báscula digital.',
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: 'Mezclado técnico',
|
|
49
|
-
text: "Remueve suavemente hasta que la mezcla sea totalmente transparente y no se vean 'hilos' de diferente densidad.",
|
|
50
|
-
},
|
|
51
|
-
];
|
|
52
|
-
|
|
53
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
54
|
-
'@context': 'https://schema.org',
|
|
55
|
-
'@type': 'FAQPage',
|
|
56
|
-
mainEntity: faqData.map((item) => ({
|
|
57
|
-
'@type': 'Question',
|
|
58
|
-
name: item.question,
|
|
59
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
60
|
-
})),
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const howToSchema: WithContext<HowToThing> = {
|
|
64
|
-
'@context': 'https://schema.org',
|
|
65
|
-
'@type': 'HowTo',
|
|
66
|
-
name: title,
|
|
67
|
-
description,
|
|
68
|
-
step: howToData.map((step, i) => ({
|
|
69
|
-
'@type': 'HowToStep',
|
|
70
|
-
position: i + 1,
|
|
71
|
-
name: step.name,
|
|
72
|
-
text: step.text,
|
|
73
|
-
})),
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
77
|
-
'@context': 'https://schema.org',
|
|
78
|
-
'@type': 'SoftwareApplication',
|
|
79
|
-
name: title,
|
|
80
|
-
description,
|
|
81
|
-
applicationCategory: 'UtilityApplication',
|
|
82
|
-
operatingSystem: 'All',
|
|
83
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
84
|
-
inLanguage: 'es',
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
export const content: ToolLocaleContent<EpoxyCalculatorUI> = {
|
|
88
|
-
slug,
|
|
89
|
-
title,
|
|
90
|
-
description,
|
|
91
|
-
faqTitle: 'Preguntas Frecuentes',
|
|
92
|
-
faq: faqData,
|
|
93
|
-
bibliography,
|
|
94
|
-
howTo: howToData,
|
|
95
|
-
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
-
seo: [
|
|
97
|
-
{
|
|
98
|
-
type: 'title',
|
|
99
|
-
text: 'Guía de Cálculo y Mezcla de Resina Epóxica',
|
|
100
|
-
level: 2,
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
type: 'paragraph',
|
|
104
|
-
html: 'La resina epóxica no es una pintura que se seca por evaporación; es una <strong>reacción química exotérmica</strong> compleja. La magia ocurre cuando las moléculas de epóxido se encadenan con las de poliamina para formar un polímero termoestable sólido cristalino.',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
type: 'paragraph',
|
|
108
|
-
html: 'La diferencia entre una pieza de arte duradera y un desastre pegajoso radica en la <strong>estequiometría exacta</strong>. Un error de apenas un 5% en la proporción de mezcla puede inhibir el curado permanentemente. Esta herramienta elimina las conjeturas matemáticas, permitiéndote enfocarte en la creación.',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
type: 'grid',
|
|
112
|
-
columns: [
|
|
113
|
-
{
|
|
114
|
-
type: 'card',
|
|
115
|
-
icon: 'mdi:scale-balance',
|
|
116
|
-
title: '¿Volumen o Peso?',
|
|
117
|
-
html: '<p>El error #1 de los principiantes es asumir que 100ml pesan 100g. <strong>La resina es más densa que el endurecedor.</strong></p><p>Si la ficha técnica de tu producto dice "100:50 por peso", NO es lo mismo que "2:1 por volumen". Esta calculadora trabaja con <strong>Volumen</strong> (V = L × W × H), que es el estándar para llenar moldes.</p>',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
type: 'card',
|
|
121
|
-
icon: 'mdi:water-percent',
|
|
122
|
-
title: 'Proporciones Comunes',
|
|
123
|
-
html: '<ul><li><strong>1:1</strong> - Recubrimientos, barnices y adhesivos rápidos.</li><li><strong>2:1</strong> - Estándar. River tables, joyería y moldes medios.</li><li><strong>3:1</strong> - Suelos industriales y laminados estructurales de alta dureza.</li></ul>',
|
|
124
|
-
},
|
|
125
|
-
],
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
type: 'title',
|
|
129
|
-
text: 'Protocolo de Seguridad y Mejores Prácticas',
|
|
130
|
-
level: 2,
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
type: 'grid',
|
|
134
|
-
columns: [
|
|
135
|
-
{
|
|
136
|
-
type: 'card',
|
|
137
|
-
icon: 'mdi:thermometer',
|
|
138
|
-
title: 'Temperatura Vital',
|
|
139
|
-
html: '<p>Trabaja siempre entre <strong>21°C y 25°C</strong>. El frío puede detener la reacción, dejando la pieza turbia. El calor excesivo acelera la reacción exotérmica peligrosamente ("flash cure").</p>',
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
type: 'card',
|
|
143
|
-
icon: 'mdi:cup-outline',
|
|
144
|
-
title: 'Técnica del Doble Vaso',
|
|
145
|
-
html: '<p>No confíes en una sola mezcla. Raspa bien los lados y el fondo, vierte la mezcla en un <strong>segundo vaso limpio</strong> y vuelve a mezclar. Esto asegura que no quede material sin catalizar.</p>',
|
|
146
|
-
},
|
|
147
|
-
],
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
type: 'card',
|
|
151
|
-
icon: 'mdi:weather-windy',
|
|
152
|
-
title: 'Ventilación',
|
|
153
|
-
html: '<p>Aunque muchas resinas modernas son de bajo olor, los vapores de isocianatos y aminas requieren ventilación cruzada o máscara de carbón activo. Usa siempre guantes de nitrilo.</p>',
|
|
154
|
-
},
|
|
155
|
-
],
|
|
156
|
-
ui: {
|
|
157
|
-
shapeRect: 'Rectangular',
|
|
158
|
-
shapeCylinder: 'Cilíndrico',
|
|
159
|
-
shapeSphere: 'Esférico',
|
|
160
|
-
labelLength: 'Largo (cm)',
|
|
161
|
-
labelWidth: 'Ancho (cm)',
|
|
162
|
-
labelDiameter: 'Diámetro (cm)',
|
|
163
|
-
labelDepth: 'Profundidad (cm)',
|
|
164
|
-
labelRatio: 'Proporción de Mezcla (Peso/Volumen)',
|
|
165
|
-
labelCustomRatio: 'Usar proporción personalizada (A:B)',
|
|
166
|
-
labelResinA: 'Resina (A)',
|
|
167
|
-
labelHardenerB: 'Endurecedor (B)',
|
|
168
|
-
labelWasteTitle: 'Margen de Seguridad',
|
|
169
|
-
labelWasteDesc: 'Añade 5% extra para pérdidas',
|
|
170
|
-
labelTotalVolume: 'Volumen Total',
|
|
171
|
-
labelPartA: 'Parte A (Resina)',
|
|
172
|
-
labelPartB: 'Parte B (Catalizador)',
|
|
173
|
-
labelVisualization: 'Visualización',
|
|
174
|
-
shapeRectLabel: 'Bloque Rectangular',
|
|
175
|
-
shapeCylinderLabel: 'Cilindro / Molde Redondo',
|
|
176
|
-
shapeSphereLabel: 'Esfera Completa',
|
|
177
|
-
},
|
|
178
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { EpoxyCalculatorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'calculadora-resina';
|
|
7
|
+
const title = 'Calculadora de Resina Epoxi: Mezcla y Volumen Exacto';
|
|
8
|
+
const description =
|
|
9
|
+
'Calcula la cantidad exacta de resina epoxi y catalizador necesaria para tus proyectos. Evita desperdicios en mesas río, joyería y moldes.';
|
|
10
|
+
|
|
11
|
+
const faqData = [
|
|
12
|
+
{
|
|
13
|
+
question: '¿Por qué es tan importante la proporción exacta en la resina?',
|
|
14
|
+
answer:
|
|
15
|
+
'A diferencia de otras mezclas, la resina epoxi no seca por evaporación, sino por una reacción química (polimerización). Si sobra resina o catalizador, la reacción será incompleta, dejando la pieza pegajosa, blanda o con burbujas permanentes.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: '¿Qué es la proporción en peso vs volumen?',
|
|
19
|
+
answer:
|
|
20
|
+
'Muchas resinas se mezclan 2:1 en volumen pero 100:45 en peso debido a que el catalizador suele ser más denso. Usa siempre la escala que indique el fabricante y, si es posible, usa una báscula digital para máxima precisión.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: '¿Cómo evito las burbujas al mezclar?',
|
|
24
|
+
answer:
|
|
25
|
+
'Mezcla lentamente con movimientos circulares constantes durante al menos 3 minutos, rascando bien las paredes del vaso. Deja reposar la mezcla un par de minutos antes de verter para que las burbujas suban a la superficie.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: '¿Qué es el tiempo de vida (Pot Life)?',
|
|
29
|
+
answer:
|
|
30
|
+
'Es el tiempo que tienes para trabajar con la mezcla antes de que empiece a endurecerse (gelificar). En verano o en grandes volúmenes, este tiempo se reduce drásticamente debido a la reacción exotérmica (genera calor).',
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
const howToData = [
|
|
35
|
+
{
|
|
36
|
+
name: 'Medir las dimensiones del molde',
|
|
37
|
+
text: 'Mide el largo, ancho y la profundidad (grosor) de la zona que quieres rellenar con resina.',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Introducir la relación de mezcla',
|
|
41
|
+
text: 'Consulta en la etiqueta de tu producto si la mezcla es 1:1, 2:1 o 3:1 y si se basa en peso o volumen.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'Pesar los componentes',
|
|
45
|
+
text: 'Vierte primero el componente A (resina) y luego el B (catalizador) en un recipiente limpio sobre una báscula digital.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Mezclado técnico',
|
|
49
|
+
text: "Remueve suavemente hasta que la mezcla sea totalmente transparente y no se vean 'hilos' de diferente densidad.",
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
|
|
53
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'FAQPage',
|
|
56
|
+
mainEntity: faqData.map((item) => ({
|
|
57
|
+
'@type': 'Question',
|
|
58
|
+
name: item.question,
|
|
59
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
60
|
+
})),
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
64
|
+
'@context': 'https://schema.org',
|
|
65
|
+
'@type': 'HowTo',
|
|
66
|
+
name: title,
|
|
67
|
+
description,
|
|
68
|
+
step: howToData.map((step, i) => ({
|
|
69
|
+
'@type': 'HowToStep',
|
|
70
|
+
position: i + 1,
|
|
71
|
+
name: step.name,
|
|
72
|
+
text: step.text,
|
|
73
|
+
})),
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
77
|
+
'@context': 'https://schema.org',
|
|
78
|
+
'@type': 'SoftwareApplication',
|
|
79
|
+
name: title,
|
|
80
|
+
description,
|
|
81
|
+
applicationCategory: 'UtilityApplication',
|
|
82
|
+
operatingSystem: 'All',
|
|
83
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
84
|
+
inLanguage: 'es',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const content: ToolLocaleContent<EpoxyCalculatorUI> = {
|
|
88
|
+
slug,
|
|
89
|
+
title,
|
|
90
|
+
description,
|
|
91
|
+
faqTitle: 'Preguntas Frecuentes',
|
|
92
|
+
faq: faqData,
|
|
93
|
+
bibliography,
|
|
94
|
+
howTo: howToData,
|
|
95
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
+
seo: [
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'Guía de Cálculo y Mezcla de Resina Epóxica',
|
|
100
|
+
level: 2,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'paragraph',
|
|
104
|
+
html: 'La resina epóxica no es una pintura que se seca por evaporación; es una <strong>reacción química exotérmica</strong> compleja. La magia ocurre cuando las moléculas de epóxido se encadenan con las de poliamina para formar un polímero termoestable sólido cristalino.',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'paragraph',
|
|
108
|
+
html: 'La diferencia entre una pieza de arte duradera y un desastre pegajoso radica en la <strong>estequiometría exacta</strong>. Un error de apenas un 5% en la proporción de mezcla puede inhibir el curado permanentemente. Esta herramienta elimina las conjeturas matemáticas, permitiéndote enfocarte en la creación.',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
type: 'grid',
|
|
112
|
+
columns: [
|
|
113
|
+
{
|
|
114
|
+
type: 'card',
|
|
115
|
+
icon: 'mdi:scale-balance',
|
|
116
|
+
title: '¿Volumen o Peso?',
|
|
117
|
+
html: '<p>El error #1 de los principiantes es asumir que 100ml pesan 100g. <strong>La resina es más densa que el endurecedor.</strong></p><p>Si la ficha técnica de tu producto dice "100:50 por peso", NO es lo mismo que "2:1 por volumen". Esta calculadora trabaja con <strong>Volumen</strong> (V = L × W × H), que es el estándar para llenar moldes.</p>',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'card',
|
|
121
|
+
icon: 'mdi:water-percent',
|
|
122
|
+
title: 'Proporciones Comunes',
|
|
123
|
+
html: '<ul><li><strong>1:1</strong> - Recubrimientos, barnices y adhesivos rápidos.</li><li><strong>2:1</strong> - Estándar. River tables, joyería y moldes medios.</li><li><strong>3:1</strong> - Suelos industriales y laminados estructurales de alta dureza.</li></ul>',
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
type: 'title',
|
|
129
|
+
text: 'Protocolo de Seguridad y Mejores Prácticas',
|
|
130
|
+
level: 2,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'grid',
|
|
134
|
+
columns: [
|
|
135
|
+
{
|
|
136
|
+
type: 'card',
|
|
137
|
+
icon: 'mdi:thermometer',
|
|
138
|
+
title: 'Temperatura Vital',
|
|
139
|
+
html: '<p>Trabaja siempre entre <strong>21°C y 25°C</strong>. El frío puede detener la reacción, dejando la pieza turbia. El calor excesivo acelera la reacción exotérmica peligrosamente ("flash cure").</p>',
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
type: 'card',
|
|
143
|
+
icon: 'mdi:cup-outline',
|
|
144
|
+
title: 'Técnica del Doble Vaso',
|
|
145
|
+
html: '<p>No confíes en una sola mezcla. Raspa bien los lados y el fondo, vierte la mezcla en un <strong>segundo vaso limpio</strong> y vuelve a mezclar. Esto asegura que no quede material sin catalizar.</p>',
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
type: 'card',
|
|
151
|
+
icon: 'mdi:weather-windy',
|
|
152
|
+
title: 'Ventilación',
|
|
153
|
+
html: '<p>Aunque muchas resinas modernas son de bajo olor, los vapores de isocianatos y aminas requieren ventilación cruzada o máscara de carbón activo. Usa siempre guantes de nitrilo.</p>',
|
|
154
|
+
},
|
|
155
|
+
],
|
|
156
|
+
ui: {
|
|
157
|
+
shapeRect: 'Rectangular',
|
|
158
|
+
shapeCylinder: 'Cilíndrico',
|
|
159
|
+
shapeSphere: 'Esférico',
|
|
160
|
+
labelLength: 'Largo (cm)',
|
|
161
|
+
labelWidth: 'Ancho (cm)',
|
|
162
|
+
labelDiameter: 'Diámetro (cm)',
|
|
163
|
+
labelDepth: 'Profundidad (cm)',
|
|
164
|
+
labelRatio: 'Proporción de Mezcla (Peso/Volumen)',
|
|
165
|
+
labelCustomRatio: 'Usar proporción personalizada (A:B)',
|
|
166
|
+
labelResinA: 'Resina (A)',
|
|
167
|
+
labelHardenerB: 'Endurecedor (B)',
|
|
168
|
+
labelWasteTitle: 'Margen de Seguridad',
|
|
169
|
+
labelWasteDesc: 'Añade 5% extra para pérdidas',
|
|
170
|
+
labelTotalVolume: 'Volumen Total',
|
|
171
|
+
labelPartA: 'Parte A (Resina)',
|
|
172
|
+
labelPartB: 'Parte B (Catalizador)',
|
|
173
|
+
labelVisualization: 'Visualización',
|
|
174
|
+
shapeRectLabel: 'Bloque Rectangular',
|
|
175
|
+
shapeCylinderLabel: 'Cilindro / Molde Redondo',
|
|
176
|
+
shapeSphereLabel: 'Esfera Completa',
|
|
177
|
+
},
|
|
178
|
+
};
|