@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,111 +1,111 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
import type { FurnitureFitUI } from '../ui';
|
|
4
|
-
import { bibliography } from '../bibliography';
|
|
5
|
-
|
|
6
|
-
const slug = 'calculadora-espaco-moveis';
|
|
7
|
-
const title = 'Calculadora de Espaço para Mudanças e Móveis';
|
|
8
|
-
const description = 'Verifique se o seu sofá, armário ou mesa cabe no elevador ou pela porta. Use o teorema de Pitágoras 3D para calcular inclinações e evitar desastres na sua mudança.';
|
|
9
|
-
|
|
10
|
-
const faqData = [
|
|
11
|
-
{
|
|
12
|
-
question: 'Porque é que um sofá pode não caber apesar de ser mais pequeno que a porta?',
|
|
13
|
-
answer: 'Devido ao ângulo de rotação. Se o corredor for estreito, o sofá deve entrar de lado ou inclinado. O fator limitante não é apenas a largura da porta, mas o raio de rotação disponível no local.',
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
question: 'O que é a diagonal de um móvel e porque é importante?',
|
|
17
|
-
answer: 'É a distância mais longa entre dois cantos opostos. É vital para saber se um móvel alto pode ser levantado numa divisão com teto baixo depois de ter sido montado no chão.',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
question: 'Como medir um elevador corretamente?',
|
|
21
|
-
answer: 'Não meça apenas o chão. Meça a largura da porta aberta, a profundidade livre e a altura total. A diagonal desde a base da porta até ao canto superior traseiro é o dado mais importante.',
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
question: 'Que peças devem ser desmontadas primeiro?',
|
|
25
|
-
answer: 'Pés de sofás, puxadores de armários e portas de frigoríficos costumam ganhar entre 5 e 10 cm críticos que fazem a diferença entre um móvel caber ou ficar na rua.',
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
|
|
29
|
-
const howToData = [
|
|
30
|
-
{ name: 'Medir o móvel (Comprimento, Largura, Altura)', text: 'Tome as medidas máximas do objeto, incluindo qualquer saliência como apoios de braços ou puxadores.' },
|
|
31
|
-
{ name: 'Medir as passagens críticas', text: 'Meça o vão livre da porta (de ombreira a ombreira), o interior do elevador e a largura dos corredores.' },
|
|
32
|
-
{ name: 'Introduzir dados no simulador', text: 'Escreva as dimensões na ferramenta para ver se o volume do móvel é compatível com o espaço de passagem.' },
|
|
33
|
-
{ name: 'Calcular inclinações', text: 'Se o móvel for muito alto, use a diagonal calculada para verificar se poderá rodá-lo no patamar da escada ou dentro do elevador.' },
|
|
34
|
-
];
|
|
35
|
-
|
|
36
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
37
|
-
'@context': 'https://schema.org',
|
|
38
|
-
'@type': 'FAQPage',
|
|
39
|
-
mainEntity: faqData.map((item) => ({
|
|
40
|
-
'@type': 'Question',
|
|
41
|
-
name: item.question,
|
|
42
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
43
|
-
})),
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const howToSchema: WithContext<HowToThing> = {
|
|
47
|
-
'@context': 'https://schema.org',
|
|
48
|
-
'@type': 'HowTo',
|
|
49
|
-
name: title,
|
|
50
|
-
description,
|
|
51
|
-
step: howToData.map((step, i) => ({
|
|
52
|
-
'@type': 'HowToStep',
|
|
53
|
-
position: i + 1,
|
|
54
|
-
name: step.name,
|
|
55
|
-
text: step.text,
|
|
56
|
-
})),
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
60
|
-
'@context': 'https://schema.org',
|
|
61
|
-
'@type': 'SoftwareApplication',
|
|
62
|
-
name: title,
|
|
63
|
-
description,
|
|
64
|
-
applicationCategory: 'UtilityApplication',
|
|
65
|
-
operatingSystem: 'All',
|
|
66
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
67
|
-
inLanguage: 'pt',
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export const content: ToolLocaleContent<FurnitureFitUI> = {
|
|
71
|
-
slug,
|
|
72
|
-
title,
|
|
73
|
-
description,
|
|
74
|
-
faqTitle: 'Perguntas Frequentes',
|
|
75
|
-
faq: faqData,
|
|
76
|
-
bibliography,
|
|
77
|
-
howTo: howToData,
|
|
78
|
-
schemas: [faqSchema, howToSchema, appSchema],
|
|
79
|
-
seo: [
|
|
80
|
-
{ type: 'title', text: 'A Ciência das Mudanças e o Teorema de Pitágoras', level: 2 },
|
|
81
|
-
{ type: 'paragraph', html: 'As mudanças não são apenas um teste de força física; são um puzzle geométrico complexo. O espaço aparente de uma divisão ou um elevador engana o olho humano, especialmente quando ignoramos a terceira dimensão. A matemática pode poupar-lhe centenas de euros em devoluções e transportes falhados.' },
|
|
82
|
-
{ type: 'title', text: 'O Truque da Diagonal 3D', level: 3 },
|
|
83
|
-
{ type: 'card', icon: 'mdi:math-log', title: 'Regra de Ouro', html: '<p>Nunca meça apenas o móvel. Meça sempre os <strong>pontos críticos de acesso</strong>: a largura da ombreira da porta (subtraindo a espessura da própria porta se não abrir 180º), o ponto mais baixo do teto no patamar e a profundidade real do elevador com as portas fechadas. A fórmula <code>d = √(w² + h² + z²)</code> revela se cabe inclinado.</p>' },
|
|
84
|
-
{ type: 'title', text: 'O Problema do Sofá no Corredor', level: 3 },
|
|
85
|
-
{ type: 'card', icon: 'mdi:sofa', title: 'Margem de Manobra', html: '<p>Um erro comum é assumir que se o móvel mede 80cm e o vão 80cm, passará. Não é assim. As mãos dos transportadores, a elasticidade do tecido e as imperfeições das paredes requerem uma margem mínima de <strong>2 a 5 cm</strong>. Sem esta margem, o móvel ficará riscado ou encravado por pressão.</p>' },
|
|
86
|
-
{ type: 'title', text: 'Os 3 Erros que Arruínam uma Mudança', level: 3 },
|
|
87
|
-
{ type: 'paragraph', html: 'Mesmo com medidas corretas, estes fatores invisíveis costumam causar desastres: <strong>O Candeeiro do Teto</strong> - esquecido durante a rotação diagonal. <strong>O Raio de Rotação do Móvel</strong> - um móvel rígido não se dobra. <strong>A Embalagem</strong> - o plástico de bolhas pode adicionar de 1 a 3 cm a cada lado.' },
|
|
88
|
-
|
|
89
|
-
{ type: 'paragraph', html: "Use o resultado para planear e comparar cenários; não substitui um cálculo oficial nem aconselhamento profissional." },],
|
|
90
|
-
ui: {
|
|
91
|
-
conTitle: 'Dimensões do Espaço',
|
|
92
|
-
conHint: 'Ex: Elevador padrão, ombreira de porta ou furgão.',
|
|
93
|
-
objTitle: 'Dimensões do Móvel',
|
|
94
|
-
labelWidth: 'Largura (cm)',
|
|
95
|
-
labelHeight: 'Altura (cm)',
|
|
96
|
-
labelDepth: 'Profundidade (cm)',
|
|
97
|
-
labelLength: 'Comprimento (cm)',
|
|
98
|
-
labelMargin: 'Margem de Erro (cm)',
|
|
99
|
-
vizLabel: 'Vista Espacial Simplificada',
|
|
100
|
-
verdictDefault: 'Cabe?',
|
|
101
|
-
verdictHint: 'Introduza as medidas para verificar a compatibilidade espacial.',
|
|
102
|
-
verdictYes: 'SIM, CABE!',
|
|
103
|
-
verdictNo: 'NÃO CABE',
|
|
104
|
-
fitDirect: 'O móvel cabe perfeitamente de forma direta.',
|
|
105
|
-
fitDiagonal3d: 'Cabe inclinado diagonalmente (Pitágoras 3D).',
|
|
106
|
-
fitDiagonalPlane: 'Cabe inclinado num dos planos laterais.',
|
|
107
|
-
fitNope: 'O móvel é demasiado grande mesmo para entrar em diagonal.',
|
|
108
|
-
diagLabel: 'Diagonal Máxima (Pitágoras 3D):',
|
|
109
|
-
objLabel: 'Móvel',
|
|
110
|
-
},
|
|
111
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { FurnitureFitUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'calculadora-espaco-moveis';
|
|
7
|
+
const title = 'Calculadora de Espaço para Mudanças e Móveis';
|
|
8
|
+
const description = 'Verifique se o seu sofá, armário ou mesa cabe no elevador ou pela porta. Use o teorema de Pitágoras 3D para calcular inclinações e evitar desastres na sua mudança.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Porque é que um sofá pode não caber apesar de ser mais pequeno que a porta?',
|
|
13
|
+
answer: 'Devido ao ângulo de rotação. Se o corredor for estreito, o sofá deve entrar de lado ou inclinado. O fator limitante não é apenas a largura da porta, mas o raio de rotação disponível no local.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'O que é a diagonal de um móvel e porque é importante?',
|
|
17
|
+
answer: 'É a distância mais longa entre dois cantos opostos. É vital para saber se um móvel alto pode ser levantado numa divisão com teto baixo depois de ter sido montado no chão.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Como medir um elevador corretamente?',
|
|
21
|
+
answer: 'Não meça apenas o chão. Meça a largura da porta aberta, a profundidade livre e a altura total. A diagonal desde a base da porta até ao canto superior traseiro é o dado mais importante.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Que peças devem ser desmontadas primeiro?',
|
|
25
|
+
answer: 'Pés de sofás, puxadores de armários e portas de frigoríficos costumam ganhar entre 5 e 10 cm críticos que fazem a diferença entre um móvel caber ou ficar na rua.',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
const howToData = [
|
|
30
|
+
{ name: 'Medir o móvel (Comprimento, Largura, Altura)', text: 'Tome as medidas máximas do objeto, incluindo qualquer saliência como apoios de braços ou puxadores.' },
|
|
31
|
+
{ name: 'Medir as passagens críticas', text: 'Meça o vão livre da porta (de ombreira a ombreira), o interior do elevador e a largura dos corredores.' },
|
|
32
|
+
{ name: 'Introduzir dados no simulador', text: 'Escreva as dimensões na ferramenta para ver se o volume do móvel é compatível com o espaço de passagem.' },
|
|
33
|
+
{ name: 'Calcular inclinações', text: 'Se o móvel for muito alto, use a diagonal calculada para verificar se poderá rodá-lo no patamar da escada ou dentro do elevador.' },
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
37
|
+
'@context': 'https://schema.org',
|
|
38
|
+
'@type': 'FAQPage',
|
|
39
|
+
mainEntity: faqData.map((item) => ({
|
|
40
|
+
'@type': 'Question',
|
|
41
|
+
name: item.question,
|
|
42
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
43
|
+
})),
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
47
|
+
'@context': 'https://schema.org',
|
|
48
|
+
'@type': 'HowTo',
|
|
49
|
+
name: title,
|
|
50
|
+
description,
|
|
51
|
+
step: howToData.map((step, i) => ({
|
|
52
|
+
'@type': 'HowToStep',
|
|
53
|
+
position: i + 1,
|
|
54
|
+
name: step.name,
|
|
55
|
+
text: step.text,
|
|
56
|
+
})),
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
60
|
+
'@context': 'https://schema.org',
|
|
61
|
+
'@type': 'SoftwareApplication',
|
|
62
|
+
name: title,
|
|
63
|
+
description,
|
|
64
|
+
applicationCategory: 'UtilityApplication',
|
|
65
|
+
operatingSystem: 'All',
|
|
66
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
67
|
+
inLanguage: 'pt',
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export const content: ToolLocaleContent<FurnitureFitUI> = {
|
|
71
|
+
slug,
|
|
72
|
+
title,
|
|
73
|
+
description,
|
|
74
|
+
faqTitle: 'Perguntas Frequentes',
|
|
75
|
+
faq: faqData,
|
|
76
|
+
bibliography,
|
|
77
|
+
howTo: howToData,
|
|
78
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
79
|
+
seo: [
|
|
80
|
+
{ type: 'title', text: 'A Ciência das Mudanças e o Teorema de Pitágoras', level: 2 },
|
|
81
|
+
{ type: 'paragraph', html: 'As mudanças não são apenas um teste de força física; são um puzzle geométrico complexo. O espaço aparente de uma divisão ou um elevador engana o olho humano, especialmente quando ignoramos a terceira dimensão. A matemática pode poupar-lhe centenas de euros em devoluções e transportes falhados.' },
|
|
82
|
+
{ type: 'title', text: 'O Truque da Diagonal 3D', level: 3 },
|
|
83
|
+
{ type: 'card', icon: 'mdi:math-log', title: 'Regra de Ouro', html: '<p>Nunca meça apenas o móvel. Meça sempre os <strong>pontos críticos de acesso</strong>: a largura da ombreira da porta (subtraindo a espessura da própria porta se não abrir 180º), o ponto mais baixo do teto no patamar e a profundidade real do elevador com as portas fechadas. A fórmula <code>d = √(w² + h² + z²)</code> revela se cabe inclinado.</p>' },
|
|
84
|
+
{ type: 'title', text: 'O Problema do Sofá no Corredor', level: 3 },
|
|
85
|
+
{ type: 'card', icon: 'mdi:sofa', title: 'Margem de Manobra', html: '<p>Um erro comum é assumir que se o móvel mede 80cm e o vão 80cm, passará. Não é assim. As mãos dos transportadores, a elasticidade do tecido e as imperfeições das paredes requerem uma margem mínima de <strong>2 a 5 cm</strong>. Sem esta margem, o móvel ficará riscado ou encravado por pressão.</p>' },
|
|
86
|
+
{ type: 'title', text: 'Os 3 Erros que Arruínam uma Mudança', level: 3 },
|
|
87
|
+
{ type: 'paragraph', html: 'Mesmo com medidas corretas, estes fatores invisíveis costumam causar desastres: <strong>O Candeeiro do Teto</strong> - esquecido durante a rotação diagonal. <strong>O Raio de Rotação do Móvel</strong> - um móvel rígido não se dobra. <strong>A Embalagem</strong> - o plástico de bolhas pode adicionar de 1 a 3 cm a cada lado.' },
|
|
88
|
+
|
|
89
|
+
{ type: 'paragraph', html: "Use o resultado para planear e comparar cenários; não substitui um cálculo oficial nem aconselhamento profissional." },],
|
|
90
|
+
ui: {
|
|
91
|
+
conTitle: 'Dimensões do Espaço',
|
|
92
|
+
conHint: 'Ex: Elevador padrão, ombreira de porta ou furgão.',
|
|
93
|
+
objTitle: 'Dimensões do Móvel',
|
|
94
|
+
labelWidth: 'Largura (cm)',
|
|
95
|
+
labelHeight: 'Altura (cm)',
|
|
96
|
+
labelDepth: 'Profundidade (cm)',
|
|
97
|
+
labelLength: 'Comprimento (cm)',
|
|
98
|
+
labelMargin: 'Margem de Erro (cm)',
|
|
99
|
+
vizLabel: 'Vista Espacial Simplificada',
|
|
100
|
+
verdictDefault: 'Cabe?',
|
|
101
|
+
verdictHint: 'Introduza as medidas para verificar a compatibilidade espacial.',
|
|
102
|
+
verdictYes: 'SIM, CABE!',
|
|
103
|
+
verdictNo: 'NÃO CABE',
|
|
104
|
+
fitDirect: 'O móvel cabe perfeitamente de forma direta.',
|
|
105
|
+
fitDiagonal3d: 'Cabe inclinado diagonalmente (Pitágoras 3D).',
|
|
106
|
+
fitDiagonalPlane: 'Cabe inclinado num dos planos laterais.',
|
|
107
|
+
fitNope: 'O móvel é demasiado grande mesmo para entrar em diagonal.',
|
|
108
|
+
diagLabel: 'Diagonal Máxima (Pitágoras 3D):',
|
|
109
|
+
objLabel: 'Móvel',
|
|
110
|
+
},
|
|
111
|
+
};
|
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
import type { FurnitureFitUI } from '../ui';
|
|
4
|
-
import { bibliography } from '../bibliography';
|
|
5
|
-
|
|
6
|
-
const slug = 'kalkulyator-prostranstva-dlya-mebeli';
|
|
7
|
-
const title = 'Калькулятор пространства для переезда и мебели';
|
|
8
|
-
const description = 'Проверьте, поместится ли ваш диван, шкаф или стол в лифт или пройдет ли в дверь. Используйте теорему Пифагора в 3D, чтобы рассчитать наклоны.';
|
|
9
|
-
|
|
10
|
-
const faqData = [
|
|
11
|
-
{
|
|
12
|
-
question: 'Почему диван может не пройти, хотя он меньше дверного проема?',
|
|
13
|
-
answer: 'Из-за угла поворота. Если коридор узкий, диван нужно заносить боком или под наклоном. Ограничивающим фактором является не только ширина двери, но и доступный радиус поворота в помещении.',
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
question: 'Что такое диагональ мебели и почему она важна?',
|
|
17
|
-
answer: 'Это самое длинное расстояние между двумя противоположными углами. Это жизненно важно для понимания того, можно ли будет поднять высокий предмет мебели в комнате с низким потолком после его сборки на полу.',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
question: 'Как правильно измерить лифт?',
|
|
21
|
-
answer: 'Не меряйте только пол. Измерьте ширину открытой двери, полезную глубину и общую высоту. Диагональ от основания двери до верхнего заднего угла - самый важный показатель.',
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
question: 'Какие детали нужно снимать в первую очередь?',
|
|
25
|
-
answer: 'Ножки диванов, ручки шкафов и дверцы холодильников часто дают те самые критические 5-10 см, которые определяют, поместится мебель или останется на улице.',
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
|
|
29
|
-
const howToData = [
|
|
30
|
-
{ name: 'Измерить мебель (длина, ширина, высота)', text: 'Возьмите максимальные размеры объекта, включая любые выступы, такие как подлокотники или ручки.' },
|
|
31
|
-
{ name: 'Измерить критические проходы', text: 'Измерьте свободный проем двери (от косяка до косяка), внутреннюю часть лифта и ширину коридоров.' },
|
|
32
|
-
{ name: 'Ввести данные в симулятор', text: 'Введите размеры в инструмент, чтобы увидеть, совместим ли объем мебели с пространством прохода.' },
|
|
33
|
-
{ name: 'Рассчитать наклоны', text: 'Если мебель очень высокая, используйте рассчитанную диагональ, чтобы проверить, сможете ли вы повернуть ее на лестничной площадке или внутри лифта.' },
|
|
34
|
-
];
|
|
35
|
-
|
|
36
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
37
|
-
'@context': 'https://schema.org',
|
|
38
|
-
'@type': 'FAQPage',
|
|
39
|
-
mainEntity: faqData.map((item) => ({
|
|
40
|
-
'@type': 'Question',
|
|
41
|
-
name: item.question,
|
|
42
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
43
|
-
})),
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const howToSchema: WithContext<HowToThing> = {
|
|
47
|
-
'@context': 'https://schema.org',
|
|
48
|
-
'@type': 'HowTo',
|
|
49
|
-
name: title,
|
|
50
|
-
description,
|
|
51
|
-
step: howToData.map((step, i) => ({
|
|
52
|
-
'@type': 'HowToStep',
|
|
53
|
-
position: i + 1,
|
|
54
|
-
name: step.name,
|
|
55
|
-
text: step.text,
|
|
56
|
-
})),
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
60
|
-
'@context': 'https://schema.org',
|
|
61
|
-
'@type': 'SoftwareApplication',
|
|
62
|
-
name: title,
|
|
63
|
-
description,
|
|
64
|
-
applicationCategory: 'UtilityApplication',
|
|
65
|
-
operatingSystem: 'All',
|
|
66
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
67
|
-
inLanguage: 'ru',
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export const content: ToolLocaleContent<FurnitureFitUI> = {
|
|
71
|
-
slug,
|
|
72
|
-
title,
|
|
73
|
-
description,
|
|
74
|
-
faqTitle: 'Часто задаваемые вопросы',
|
|
75
|
-
faq: faqData,
|
|
76
|
-
bibliography,
|
|
77
|
-
howTo: howToData,
|
|
78
|
-
schemas: [faqSchema, howToSchema, appSchema],
|
|
79
|
-
seo: [
|
|
80
|
-
{ type: 'title', text: 'Наука переезда и теорема Пифагора', level: 2 },
|
|
81
|
-
{ type: 'paragraph', html: 'Переезд - это не просто испытание физической силы; это сложная геометрическая головоломка. Видимое пространство комнаты или лифта часто обманчиво, особенно если игнорировать третье измерение. Математика может сэкономить вам немало денег на возврате товаров и неудачных перевозках.' },
|
|
82
|
-
{ type: 'title', text: 'Трюк с 3D-диагональю', level: 3 },
|
|
83
|
-
{ type: 'card', icon: 'mdi:math-log', title: 'Золотое правило', html: '<p>Никогда не меряйте только саму мебель. Всегда измеряйте <strong>критические точки доступа</strong>: ширину дверной коробки, самую низкую точку потолка в подъезде и реальную глубину лифта при закрытых дверях. Формула <code>d = √(w² + h² + z²)</code> покажет, пройдет ли вещь под наклоном.</p>' },
|
|
84
|
-
{ type: 'title', text: 'Проблема дивана в коридоре', level: 3 },
|
|
85
|
-
{ type: 'card', icon: 'mdi:sofa', title: 'Запас для маневра', html: '<p>Распространенная ошибка - полагать, что если мебель 80 см и проем 80 см, то она пройдет. Это не так. Руки грузчиков, эластичность ткани и неровности стен требуют минимального запаса от <strong>2 до 5 см</strong>. Без этого запаса мебель поцарапается или намертво застрянет.</p>' },
|
|
86
|
-
{ type: 'title', text: '3 ошибки, которые портят переезд', level: 3 },
|
|
87
|
-
{ type: 'paragraph', html: 'Даже при правильных замерах эти невидимые факторы часто приводят к катастрофам: <strong>Потолочный светильник</strong> - забытый во время диагонального поворота; <strong>Радиус поворота мебели</strong> - жесткая мебель не гнется; <strong>Упаковка</strong> - пузырчатая пленка может добавить по 1-3 см с каждой стороны.' },
|
|
88
|
-
|
|
89
|
-
{ type: 'paragraph', html: "Используйте результат для планирования и сравнения сценариев; он не заменяет официальный расчёт или консультацию специалиста." },],
|
|
90
|
-
ui: {
|
|
91
|
-
conTitle: 'Размеры пространства',
|
|
92
|
-
conHint: 'Напр.: стандартный лифт, дверной проем или фургон.',
|
|
93
|
-
objTitle: 'Размеры мебели',
|
|
94
|
-
labelWidth: 'Ширина (см)',
|
|
95
|
-
labelHeight: 'Высота (см)',
|
|
96
|
-
labelDepth: 'Глубина (см)',
|
|
97
|
-
labelLength: 'Длина (см)',
|
|
98
|
-
labelMargin: 'Погрешность (см)',
|
|
99
|
-
vizLabel: 'Упрощенный вид пространства',
|
|
100
|
-
verdictDefault: 'Поместится?',
|
|
101
|
-
verdictHint: 'Введите размеры, чтобы проверить совместимость.',
|
|
102
|
-
verdictYes: 'ДА, ПОМЕСТИТСЯ!',
|
|
103
|
-
verdictNo: 'НЕ ПОМЕСТИТСЯ',
|
|
104
|
-
fitDirect: 'Мебель идеально проходит напрямую.',
|
|
105
|
-
fitDiagonal3d: 'Проходит под наклоном по диагонали (3D Пифагор).',
|
|
106
|
-
fitDiagonalPlane: 'Проходит под наклоном в одной из плоскостей.',
|
|
107
|
-
fitNope: 'Мебель слишком велика даже для диагонального прохода.',
|
|
108
|
-
diagLabel: 'Макс. диагональ (3D Пифагор):',
|
|
109
|
-
objLabel: 'Мебель',
|
|
110
|
-
},
|
|
111
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { FurnitureFitUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'kalkulyator-prostranstva-dlya-mebeli';
|
|
7
|
+
const title = 'Калькулятор пространства для переезда и мебели';
|
|
8
|
+
const description = 'Проверьте, поместится ли ваш диван, шкаф или стол в лифт или пройдет ли в дверь. Используйте теорему Пифагора в 3D, чтобы рассчитать наклоны.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Почему диван может не пройти, хотя он меньше дверного проема?',
|
|
13
|
+
answer: 'Из-за угла поворота. Если коридор узкий, диван нужно заносить боком или под наклоном. Ограничивающим фактором является не только ширина двери, но и доступный радиус поворота в помещении.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Что такое диагональ мебели и почему она важна?',
|
|
17
|
+
answer: 'Это самое длинное расстояние между двумя противоположными углами. Это жизненно важно для понимания того, можно ли будет поднять высокий предмет мебели в комнате с низким потолком после его сборки на полу.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Как правильно измерить лифт?',
|
|
21
|
+
answer: 'Не меряйте только пол. Измерьте ширину открытой двери, полезную глубину и общую высоту. Диагональ от основания двери до верхнего заднего угла - самый важный показатель.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Какие детали нужно снимать в первую очередь?',
|
|
25
|
+
answer: 'Ножки диванов, ручки шкафов и дверцы холодильников часто дают те самые критические 5-10 см, которые определяют, поместится мебель или останется на улице.',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
const howToData = [
|
|
30
|
+
{ name: 'Измерить мебель (длина, ширина, высота)', text: 'Возьмите максимальные размеры объекта, включая любые выступы, такие как подлокотники или ручки.' },
|
|
31
|
+
{ name: 'Измерить критические проходы', text: 'Измерьте свободный проем двери (от косяка до косяка), внутреннюю часть лифта и ширину коридоров.' },
|
|
32
|
+
{ name: 'Ввести данные в симулятор', text: 'Введите размеры в инструмент, чтобы увидеть, совместим ли объем мебели с пространством прохода.' },
|
|
33
|
+
{ name: 'Рассчитать наклоны', text: 'Если мебель очень высокая, используйте рассчитанную диагональ, чтобы проверить, сможете ли вы повернуть ее на лестничной площадке или внутри лифта.' },
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
37
|
+
'@context': 'https://schema.org',
|
|
38
|
+
'@type': 'FAQPage',
|
|
39
|
+
mainEntity: faqData.map((item) => ({
|
|
40
|
+
'@type': 'Question',
|
|
41
|
+
name: item.question,
|
|
42
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
43
|
+
})),
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
47
|
+
'@context': 'https://schema.org',
|
|
48
|
+
'@type': 'HowTo',
|
|
49
|
+
name: title,
|
|
50
|
+
description,
|
|
51
|
+
step: howToData.map((step, i) => ({
|
|
52
|
+
'@type': 'HowToStep',
|
|
53
|
+
position: i + 1,
|
|
54
|
+
name: step.name,
|
|
55
|
+
text: step.text,
|
|
56
|
+
})),
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
60
|
+
'@context': 'https://schema.org',
|
|
61
|
+
'@type': 'SoftwareApplication',
|
|
62
|
+
name: title,
|
|
63
|
+
description,
|
|
64
|
+
applicationCategory: 'UtilityApplication',
|
|
65
|
+
operatingSystem: 'All',
|
|
66
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
67
|
+
inLanguage: 'ru',
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export const content: ToolLocaleContent<FurnitureFitUI> = {
|
|
71
|
+
slug,
|
|
72
|
+
title,
|
|
73
|
+
description,
|
|
74
|
+
faqTitle: 'Часто задаваемые вопросы',
|
|
75
|
+
faq: faqData,
|
|
76
|
+
bibliography,
|
|
77
|
+
howTo: howToData,
|
|
78
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
79
|
+
seo: [
|
|
80
|
+
{ type: 'title', text: 'Наука переезда и теорема Пифагора', level: 2 },
|
|
81
|
+
{ type: 'paragraph', html: 'Переезд - это не просто испытание физической силы; это сложная геометрическая головоломка. Видимое пространство комнаты или лифта часто обманчиво, особенно если игнорировать третье измерение. Математика может сэкономить вам немало денег на возврате товаров и неудачных перевозках.' },
|
|
82
|
+
{ type: 'title', text: 'Трюк с 3D-диагональю', level: 3 },
|
|
83
|
+
{ type: 'card', icon: 'mdi:math-log', title: 'Золотое правило', html: '<p>Никогда не меряйте только саму мебель. Всегда измеряйте <strong>критические точки доступа</strong>: ширину дверной коробки, самую низкую точку потолка в подъезде и реальную глубину лифта при закрытых дверях. Формула <code>d = √(w² + h² + z²)</code> покажет, пройдет ли вещь под наклоном.</p>' },
|
|
84
|
+
{ type: 'title', text: 'Проблема дивана в коридоре', level: 3 },
|
|
85
|
+
{ type: 'card', icon: 'mdi:sofa', title: 'Запас для маневра', html: '<p>Распространенная ошибка - полагать, что если мебель 80 см и проем 80 см, то она пройдет. Это не так. Руки грузчиков, эластичность ткани и неровности стен требуют минимального запаса от <strong>2 до 5 см</strong>. Без этого запаса мебель поцарапается или намертво застрянет.</p>' },
|
|
86
|
+
{ type: 'title', text: '3 ошибки, которые портят переезд', level: 3 },
|
|
87
|
+
{ type: 'paragraph', html: 'Даже при правильных замерах эти невидимые факторы часто приводят к катастрофам: <strong>Потолочный светильник</strong> - забытый во время диагонального поворота; <strong>Радиус поворота мебели</strong> - жесткая мебель не гнется; <strong>Упаковка</strong> - пузырчатая пленка может добавить по 1-3 см с каждой стороны.' },
|
|
88
|
+
|
|
89
|
+
{ type: 'paragraph', html: "Используйте результат для планирования и сравнения сценариев; он не заменяет официальный расчёт или консультацию специалиста." },],
|
|
90
|
+
ui: {
|
|
91
|
+
conTitle: 'Размеры пространства',
|
|
92
|
+
conHint: 'Напр.: стандартный лифт, дверной проем или фургон.',
|
|
93
|
+
objTitle: 'Размеры мебели',
|
|
94
|
+
labelWidth: 'Ширина (см)',
|
|
95
|
+
labelHeight: 'Высота (см)',
|
|
96
|
+
labelDepth: 'Глубина (см)',
|
|
97
|
+
labelLength: 'Длина (см)',
|
|
98
|
+
labelMargin: 'Погрешность (см)',
|
|
99
|
+
vizLabel: 'Упрощенный вид пространства',
|
|
100
|
+
verdictDefault: 'Поместится?',
|
|
101
|
+
verdictHint: 'Введите размеры, чтобы проверить совместимость.',
|
|
102
|
+
verdictYes: 'ДА, ПОМЕСТИТСЯ!',
|
|
103
|
+
verdictNo: 'НЕ ПОМЕСТИТСЯ',
|
|
104
|
+
fitDirect: 'Мебель идеально проходит напрямую.',
|
|
105
|
+
fitDiagonal3d: 'Проходит под наклоном по диагонали (3D Пифагор).',
|
|
106
|
+
fitDiagonalPlane: 'Проходит под наклоном в одной из плоскостей.',
|
|
107
|
+
fitNope: 'Мебель слишком велика даже для диагонального прохода.',
|
|
108
|
+
diagLabel: 'Макс. диагональ (3D Пифагор):',
|
|
109
|
+
objLabel: 'Мебель',
|
|
110
|
+
},
|
|
111
|
+
};
|