@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 = 'furniture-fit-calculator';
|
|
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: 'zh',
|
|
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>:门框宽度(如果房门打不开 180 度,请减去房门自身的厚度)、楼梯平台的最低天花板高度以及关上门后电梯的实际深度。公式 <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: '宽度 (cm)',
|
|
95
|
-
labelHeight: '高度 (cm)',
|
|
96
|
-
labelDepth: '深度 (cm)',
|
|
97
|
-
labelLength: '长度 (cm)',
|
|
98
|
-
labelMargin: '误差余量 (cm)',
|
|
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 = 'furniture-fit-calculator';
|
|
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: 'zh',
|
|
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>:门框宽度(如果房门打不开 180 度,请减去房门自身的厚度)、楼梯平台的最低天花板高度以及关上门后电梯的实际深度。公式 <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: '宽度 (cm)',
|
|
95
|
+
labelHeight: '高度 (cm)',
|
|
96
|
+
labelDepth: '深度 (cm)',
|
|
97
|
+
labelLength: '长度 (cm)',
|
|
98
|
+
labelMargin: '误差余量 (cm)',
|
|
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,15 +1,15 @@
|
|
|
1
|
-
---
|
|
2
|
-
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
-
import { furnitureFit } from './index';
|
|
4
|
-
import type { KnownLocale } from '../../types';
|
|
5
|
-
|
|
6
|
-
interface Props {
|
|
7
|
-
locale?: KnownLocale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { locale = 'es' } = Astro.props;
|
|
11
|
-
const content = await furnitureFit.i18n[locale]?.();
|
|
12
|
-
if (!content) return null;
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
1
|
+
---
|
|
2
|
+
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { furnitureFit } from './index';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'es' } = Astro.props;
|
|
11
|
+
const content = await furnitureFit.i18n[locale]?.();
|
|
12
|
+
if (!content) return null;
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import type { BibliographyEntry } from '../../types';
|
|
2
|
-
|
|
3
|
-
export const bibliography: BibliographyEntry[] = [
|
|
4
|
-
{
|
|
5
|
-
name: 'EN 459: Building Lime Standard',
|
|
6
|
-
url: 'https://www.bsigroup.com/en-GB/standards/',
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
name: 'Historic England: Mortars, Renders and Plasters',
|
|
10
|
-
url: 'https://historicengland.org.uk/advice/technical-advice/buildings/',
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
name: 'Vitruvius: De Architectura, Book VII',
|
|
14
|
-
url: 'https://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:2007.01.0072',
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
name: 'ICCROM: Conservation of Historic Masonry',
|
|
18
|
-
url: 'https://www.iccrom.org/',
|
|
19
|
-
},
|
|
20
|
-
];
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{
|
|
5
|
+
name: 'EN 459: Building Lime Standard',
|
|
6
|
+
url: 'https://www.bsigroup.com/en-GB/standards/',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'Historic England: Mortars, Renders and Plasters',
|
|
10
|
+
url: 'https://historicengland.org.uk/advice/technical-advice/buildings/',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'Vitruvius: De Architectura, Book VII',
|
|
14
|
+
url: 'https://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:2007.01.0072',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'ICCROM: Conservation of Historic Masonry',
|
|
18
|
+
url: 'https://www.iccrom.org/',
|
|
19
|
+
},
|
|
20
|
+
];
|
|
@@ -1,130 +1,130 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
import type { MortarCalculatorUI } from '../ui';
|
|
4
|
-
import { bibliography } from '../bibliography';
|
|
5
|
-
|
|
6
|
-
const slug = 'moertel-rechner';
|
|
7
|
-
const title = 'Traditionelle Kalkmörtel Verhältnisse: Putz und Anstrich';
|
|
8
|
-
const description = 'Kostenloser Rechner für Kalk-Sand-Mörtel. Erhalten Sie die exakten Verhältnisse für Grundputz, Zwischenputz und Feinputz nach traditionellen Methoden (Vitruv).';
|
|
9
|
-
|
|
10
|
-
const faqData = [
|
|
11
|
-
{
|
|
12
|
-
question: 'Warum Kalk statt Zement verwenden?',
|
|
13
|
-
answer: 'Kalk ist ein "lebendiges" und atmungsaktives Material, das den Abtransport von Wasserdampf ermöglicht und so Kondensationsfeuchtigkeit verhindert. Zudem ist er flexibler als Zement, was die Rissbildung in alten Mauern reduziert.',
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
question: 'Was ist das ideale Verhältnis für einen Grundputz?',
|
|
17
|
-
answer: 'Nach vitruvianischer Tradition wird für sauberen Flusssand ein Verhältnis von 1:3 verwendet (ein Teil Kalk auf drei Teile Sand). Bei Grubensand wird 1:2 empfohlen, um den Zusammenhalt des Mörtels zu gewährleisten.',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
question: 'Was ist Feinputz oder Glattputz?',
|
|
21
|
-
answer: 'Dies ist die letzte Schicht der Wand. Es wird ein viel feinerer Sand (manchmal Marmormehl) und ein höherer Kalkanteil verwendet, um ein glattes, seidiges Finish zu erzielen, das gestrichen oder naturbelassen werden kann.',
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
question: 'Wie lange dauert es, bis Kalkmörtel aushärtet?',
|
|
25
|
-
answer: 'Luftkalk härtet durch Karbonisierung (Aufnahme von CO2 aus der Luft) aus. Der erste Abbindeprozess dauert einige Tage, aber die maximale Härte wird erst Monate später erreicht, wobei die Festigkeit im Laufe der Jahre zunimmt.',
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
|
|
29
|
-
const howToData = [
|
|
30
|
-
{ name: 'Untergrund identifizieren', text: 'Prüfen Sie, ob Sie auf Stein, altem Ziegel oder Block arbeiten. Der Untergrund muss sauber und leicht feucht sein.' },
|
|
31
|
-
{ name: 'Korngröße des Sandes wählen', text: 'Verwenden Sie groben Sand für die Haftschicht und feinen Sand für das kosmetische Finish. Die Reinheit des Sandes bestimmt die Qualität des Mörtels.' },
|
|
32
|
-
{ name: 'Mischen der Komponenten', text: 'Mischen Sie Kalk und Sand trocken, bevor Sie Wasser hinzufügen. Die Konsistenz sollte plastisch, nicht flüssig sein.' },
|
|
33
|
-
{ name: 'Auftrag und Glätten', text: 'Tragen Sie den Mörtel mit der Kelle auf und verwenden Sie ein Reibebrett, um die Oberfläche zu glätten, sobald der Mörtel anzuziehen beginnt.' },
|
|
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: 'de',
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export const content: ToolLocaleContent<MortarCalculatorUI> = {
|
|
71
|
-
slug,
|
|
72
|
-
title,
|
|
73
|
-
description,
|
|
74
|
-
faqTitle: 'Häufig gestellte Fragen',
|
|
75
|
-
faq: faqData,
|
|
76
|
-
bibliography,
|
|
77
|
-
howTo: howToData,
|
|
78
|
-
schemas: [faqSchema, howToSchema, appSchema],
|
|
79
|
-
seo: [
|
|
80
|
-
{ type: 'title', text: 'Abhandlung über Mörtel: Die Weisheit des Vitruv', level: 2 },
|
|
81
|
-
{ type: 'paragraph', html: 'Marcus Vitruvius Pollio beschrieb im VII. Buch seines Werkes <em>De Architectura</em> nicht nur Techniken, sondern eine Philosophie. Er verstand, dass die Ewigkeit eines Gebäudes in seinen Verbindungen liegt. Mörtel ist nicht bloß Klebstoff; er ist das Bindegewebe. Seine Verhältnisse (1:3, 1:2, 1:1) sind das Erbe jahrhundertelanger römischer empirischer Beobachtung auf der Suche nach dem perfekten Gleichgewicht zwischen Festigkeit und Flexibilität.' },
|
|
82
|
-
{ type: 'title', text: 'Korngröße des Zuschlags: Der Schlüssel zur Qualität', level: 3 },
|
|
83
|
-
{ type: 'paragraph', html: 'Die Qualität eines Kalkmörtels hängt maßgeblich von der Korngröße des Zuschlags ab. Für das <strong>Trullissatio</strong> (Grundputz) wird grober Flusssand von 2-5 mm verwendet. Für das <strong>Arenato</strong> (Zwischenputz) gewaschener Mittelsand von 0,5-2 mm. Für das <strong>Marmorato</strong> (Feinputz) Marmormehl unter 0,5 mm.' },
|
|
84
|
-
{ type: 'title', text: 'Der Reiz der mechanischen Haftung', level: 3 },
|
|
85
|
-
{ type: 'paragraph', html: 'Die Haftung ist nicht chemisch, sondern <strong>mechanisch</strong>. Stellen Sie sich Millionen mikroskopisch kleiner Wurzeln vor. Der Mörtel muss in die Poren des Ziegels eindringen, um eine physikalische "Verzahnung" zu schaffen. Ohne Porosität gibt es keine Verankerung.' },
|
|
86
|
-
|
|
87
|
-
{ type: 'paragraph', html: "Deuten Sie das Ergebnis gemeinsam mit den angezeigten Annahmen, bevor Sie es verwenden." },
|
|
88
|
-
{ type: 'paragraph', html: "Prüfen Sie Eingaben, Einheiten, Rundung, Datum und Recht, weil jedes Element die Schätzung verändern kann." },
|
|
89
|
-
{ type: 'paragraph', html: "Nutzen Sie das Ergebnis zur Planung und zum Szenarienvergleich; es ersetzt keine offizielle Berechnung oder Fachberatung." },
|
|
90
|
-
{ type: 'paragraph', html: "Deuten Sie das Ergebnis gemeinsam mit den angezeigten Annahmen, bevor Sie es verwenden." },],
|
|
91
|
-
ui: {
|
|
92
|
-
leftTitle: 'Vitruvianisches System',
|
|
93
|
-
centerTitle: 'Verfügbare Materialien',
|
|
94
|
-
rightTitle: 'Geschätzte Abdeckung',
|
|
95
|
-
btnCal: 'Kalk',
|
|
96
|
-
btnArena: 'Sand',
|
|
97
|
-
labelCalPasta: 'Sumpfkalk (1.30 kg/L)',
|
|
98
|
-
labelCalPolvo: 'NHL Pulver (0.65 kg/L)',
|
|
99
|
-
labelQuantity: 'Verfügbare Menge:',
|
|
100
|
-
labelNeedsAlso: 'Zusätzlich benötigt:',
|
|
101
|
-
labelProportion: 'Verhältnis: ',
|
|
102
|
-
labelCoverage: 'Abdeckung:',
|
|
103
|
-
labelThickness: 'Gesamtstärke:',
|
|
104
|
-
labelLayers: 'Schichten:',
|
|
105
|
-
labelWasteFactor: 'Abfallfaktor: 20%',
|
|
106
|
-
layersSingular: 'Lage',
|
|
107
|
-
layersPlural: 'Lagen',
|
|
108
|
-
layersSingularShort: 'Lage',
|
|
109
|
-
layersPluralShort: 'Lagen',
|
|
110
|
-
materialCal: 'Kalk',
|
|
111
|
-
materialArena: 'Sand',
|
|
112
|
-
materialMarmol: 'Marmor',
|
|
113
|
-
phaseDescTrullissatio: 'Rauher Grundputz. 2 Lagen à 15mm. Verhältnis 1:3 (Kalk:Flusssand).',
|
|
114
|
-
phaseDescArenato: 'Zwischenschicht. 2 Lagen à 8mm. Verhältnis 1:2 (Kalk:Gewaschener Sand).',
|
|
115
|
-
phaseDescMarmorato: 'Feinfunish. 1 Doppellage à 4mm. Verhältnis 1:1 (Kalk:Marmormehl).',
|
|
116
|
-
granulometryTitle: 'Korngröße des Zuschlags',
|
|
117
|
-
grainTitleCoarse: 'Grobsand',
|
|
118
|
-
grainSubtitleCoarse: 'Flusssand',
|
|
119
|
-
grainUsageCoarse: 'Grundputz',
|
|
120
|
-
grainTitleMedium: 'Mittelsand',
|
|
121
|
-
grainSubtitleMedium: 'Gewaschener Sand',
|
|
122
|
-
grainUsageMedium: 'Zwischenputz',
|
|
123
|
-
grainTitleFine: 'Feinpulver',
|
|
124
|
-
grainSubtitleFine: 'Marmormehl',
|
|
125
|
-
grainUsageFine: 'Feinputz',
|
|
126
|
-
specSize: 'Größe:',
|
|
127
|
-
specUse: 'Verwendung:',
|
|
128
|
-
specDensity: 'Dichte:',
|
|
129
|
-
},
|
|
130
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { MortarCalculatorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'moertel-rechner';
|
|
7
|
+
const title = 'Traditionelle Kalkmörtel Verhältnisse: Putz und Anstrich';
|
|
8
|
+
const description = 'Kostenloser Rechner für Kalk-Sand-Mörtel. Erhalten Sie die exakten Verhältnisse für Grundputz, Zwischenputz und Feinputz nach traditionellen Methoden (Vitruv).';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Warum Kalk statt Zement verwenden?',
|
|
13
|
+
answer: 'Kalk ist ein "lebendiges" und atmungsaktives Material, das den Abtransport von Wasserdampf ermöglicht und so Kondensationsfeuchtigkeit verhindert. Zudem ist er flexibler als Zement, was die Rissbildung in alten Mauern reduziert.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Was ist das ideale Verhältnis für einen Grundputz?',
|
|
17
|
+
answer: 'Nach vitruvianischer Tradition wird für sauberen Flusssand ein Verhältnis von 1:3 verwendet (ein Teil Kalk auf drei Teile Sand). Bei Grubensand wird 1:2 empfohlen, um den Zusammenhalt des Mörtels zu gewährleisten.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Was ist Feinputz oder Glattputz?',
|
|
21
|
+
answer: 'Dies ist die letzte Schicht der Wand. Es wird ein viel feinerer Sand (manchmal Marmormehl) und ein höherer Kalkanteil verwendet, um ein glattes, seidiges Finish zu erzielen, das gestrichen oder naturbelassen werden kann.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Wie lange dauert es, bis Kalkmörtel aushärtet?',
|
|
25
|
+
answer: 'Luftkalk härtet durch Karbonisierung (Aufnahme von CO2 aus der Luft) aus. Der erste Abbindeprozess dauert einige Tage, aber die maximale Härte wird erst Monate später erreicht, wobei die Festigkeit im Laufe der Jahre zunimmt.',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
const howToData = [
|
|
30
|
+
{ name: 'Untergrund identifizieren', text: 'Prüfen Sie, ob Sie auf Stein, altem Ziegel oder Block arbeiten. Der Untergrund muss sauber und leicht feucht sein.' },
|
|
31
|
+
{ name: 'Korngröße des Sandes wählen', text: 'Verwenden Sie groben Sand für die Haftschicht und feinen Sand für das kosmetische Finish. Die Reinheit des Sandes bestimmt die Qualität des Mörtels.' },
|
|
32
|
+
{ name: 'Mischen der Komponenten', text: 'Mischen Sie Kalk und Sand trocken, bevor Sie Wasser hinzufügen. Die Konsistenz sollte plastisch, nicht flüssig sein.' },
|
|
33
|
+
{ name: 'Auftrag und Glätten', text: 'Tragen Sie den Mörtel mit der Kelle auf und verwenden Sie ein Reibebrett, um die Oberfläche zu glätten, sobald der Mörtel anzuziehen beginnt.' },
|
|
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: 'de',
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export const content: ToolLocaleContent<MortarCalculatorUI> = {
|
|
71
|
+
slug,
|
|
72
|
+
title,
|
|
73
|
+
description,
|
|
74
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
75
|
+
faq: faqData,
|
|
76
|
+
bibliography,
|
|
77
|
+
howTo: howToData,
|
|
78
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
79
|
+
seo: [
|
|
80
|
+
{ type: 'title', text: 'Abhandlung über Mörtel: Die Weisheit des Vitruv', level: 2 },
|
|
81
|
+
{ type: 'paragraph', html: 'Marcus Vitruvius Pollio beschrieb im VII. Buch seines Werkes <em>De Architectura</em> nicht nur Techniken, sondern eine Philosophie. Er verstand, dass die Ewigkeit eines Gebäudes in seinen Verbindungen liegt. Mörtel ist nicht bloß Klebstoff; er ist das Bindegewebe. Seine Verhältnisse (1:3, 1:2, 1:1) sind das Erbe jahrhundertelanger römischer empirischer Beobachtung auf der Suche nach dem perfekten Gleichgewicht zwischen Festigkeit und Flexibilität.' },
|
|
82
|
+
{ type: 'title', text: 'Korngröße des Zuschlags: Der Schlüssel zur Qualität', level: 3 },
|
|
83
|
+
{ type: 'paragraph', html: 'Die Qualität eines Kalkmörtels hängt maßgeblich von der Korngröße des Zuschlags ab. Für das <strong>Trullissatio</strong> (Grundputz) wird grober Flusssand von 2-5 mm verwendet. Für das <strong>Arenato</strong> (Zwischenputz) gewaschener Mittelsand von 0,5-2 mm. Für das <strong>Marmorato</strong> (Feinputz) Marmormehl unter 0,5 mm.' },
|
|
84
|
+
{ type: 'title', text: 'Der Reiz der mechanischen Haftung', level: 3 },
|
|
85
|
+
{ type: 'paragraph', html: 'Die Haftung ist nicht chemisch, sondern <strong>mechanisch</strong>. Stellen Sie sich Millionen mikroskopisch kleiner Wurzeln vor. Der Mörtel muss in die Poren des Ziegels eindringen, um eine physikalische "Verzahnung" zu schaffen. Ohne Porosität gibt es keine Verankerung.' },
|
|
86
|
+
|
|
87
|
+
{ type: 'paragraph', html: "Deuten Sie das Ergebnis gemeinsam mit den angezeigten Annahmen, bevor Sie es verwenden." },
|
|
88
|
+
{ type: 'paragraph', html: "Prüfen Sie Eingaben, Einheiten, Rundung, Datum und Recht, weil jedes Element die Schätzung verändern kann." },
|
|
89
|
+
{ type: 'paragraph', html: "Nutzen Sie das Ergebnis zur Planung und zum Szenarienvergleich; es ersetzt keine offizielle Berechnung oder Fachberatung." },
|
|
90
|
+
{ type: 'paragraph', html: "Deuten Sie das Ergebnis gemeinsam mit den angezeigten Annahmen, bevor Sie es verwenden." },],
|
|
91
|
+
ui: {
|
|
92
|
+
leftTitle: 'Vitruvianisches System',
|
|
93
|
+
centerTitle: 'Verfügbare Materialien',
|
|
94
|
+
rightTitle: 'Geschätzte Abdeckung',
|
|
95
|
+
btnCal: 'Kalk',
|
|
96
|
+
btnArena: 'Sand',
|
|
97
|
+
labelCalPasta: 'Sumpfkalk (1.30 kg/L)',
|
|
98
|
+
labelCalPolvo: 'NHL Pulver (0.65 kg/L)',
|
|
99
|
+
labelQuantity: 'Verfügbare Menge:',
|
|
100
|
+
labelNeedsAlso: 'Zusätzlich benötigt:',
|
|
101
|
+
labelProportion: 'Verhältnis: ',
|
|
102
|
+
labelCoverage: 'Abdeckung:',
|
|
103
|
+
labelThickness: 'Gesamtstärke:',
|
|
104
|
+
labelLayers: 'Schichten:',
|
|
105
|
+
labelWasteFactor: 'Abfallfaktor: 20%',
|
|
106
|
+
layersSingular: 'Lage',
|
|
107
|
+
layersPlural: 'Lagen',
|
|
108
|
+
layersSingularShort: 'Lage',
|
|
109
|
+
layersPluralShort: 'Lagen',
|
|
110
|
+
materialCal: 'Kalk',
|
|
111
|
+
materialArena: 'Sand',
|
|
112
|
+
materialMarmol: 'Marmor',
|
|
113
|
+
phaseDescTrullissatio: 'Rauher Grundputz. 2 Lagen à 15mm. Verhältnis 1:3 (Kalk:Flusssand).',
|
|
114
|
+
phaseDescArenato: 'Zwischenschicht. 2 Lagen à 8mm. Verhältnis 1:2 (Kalk:Gewaschener Sand).',
|
|
115
|
+
phaseDescMarmorato: 'Feinfunish. 1 Doppellage à 4mm. Verhältnis 1:1 (Kalk:Marmormehl).',
|
|
116
|
+
granulometryTitle: 'Korngröße des Zuschlags',
|
|
117
|
+
grainTitleCoarse: 'Grobsand',
|
|
118
|
+
grainSubtitleCoarse: 'Flusssand',
|
|
119
|
+
grainUsageCoarse: 'Grundputz',
|
|
120
|
+
grainTitleMedium: 'Mittelsand',
|
|
121
|
+
grainSubtitleMedium: 'Gewaschener Sand',
|
|
122
|
+
grainUsageMedium: 'Zwischenputz',
|
|
123
|
+
grainTitleFine: 'Feinpulver',
|
|
124
|
+
grainSubtitleFine: 'Marmormehl',
|
|
125
|
+
grainUsageFine: 'Feinputz',
|
|
126
|
+
specSize: 'Größe:',
|
|
127
|
+
specUse: 'Verwendung:',
|
|
128
|
+
specDensity: 'Dichte:',
|
|
129
|
+
},
|
|
130
|
+
};
|