@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,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 = 'lime-mortar-calculator';
|
|
7
|
-
const title = '传统石灰砂浆比例:粉刷与抹灰';
|
|
8
|
-
const description = '石灰和砂浆免费计算器。根据传统方法(维特鲁威)获取粗抹灰、中抹灰和精抹灰的精确比例。';
|
|
9
|
-
|
|
10
|
-
const faqData = [
|
|
11
|
-
{
|
|
12
|
-
question: '为什么要使用石灰而不是水泥?',
|
|
13
|
-
answer: '石灰是一种"活的"透气材料,允许水蒸汽排出,防止因冷凝产生的湿气。此外,它比水泥更具柔韧性,可以减少旧墙体裂缝的出现。',
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
question: '粗抹灰的理想比例是多少?',
|
|
17
|
-
answer: '根据维特鲁威传统,对于干净的河沙,使用 1:3 的比例(一份石灰对三份沙子)。对于矿砂,建议使用 1:2 以确保砂浆的凝聚力。',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
question: '什么是精抹灰或面层抹灰?',
|
|
21
|
-
answer: '这是墙壁的最后一层。使用更细的沙子(有时是石灰石粉/大理石粉)和更高比例的石灰,以获得光滑、如丝般平整的效果,可以喷漆或保持自然状态。',
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
question: '石灰砂浆需要多长时间硬化?',
|
|
25
|
-
answer: '气硬性石灰通过碳化(吸收空气中的二氧化碳)硬化。初始凝固过程需要几天时间,但最大硬度要在数月后达到,并随着时间的推移不断增强强度。',
|
|
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<MortarCalculatorUI> = {
|
|
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: '马库斯·维特鲁威·波利奥在其《建筑十书》第七卷中,不仅描述了技术,还阐述了一种哲学。他理解建筑的永恒在于其结合部。砂浆不仅仅是粘合剂;它是结缔组织。其比例(1:3, 1:2, 1:1)是长达数世纪的罗马经验观察的遗产,追求强度与柔韧性之间的完美平衡。' },
|
|
82
|
-
{ type: 'title', text: '骨料粒径:质量的关键', level: 3 },
|
|
83
|
-
{ type: 'paragraph', html: '石灰砂浆的质量在很大程度上取决于骨料的粒径。对于 <strong>Trullissatio</strong>(基层粉刷),使用 2-5 毫米的粗河沙。对于 <strong>Arenato</strong>(中层抹灰),使用 0.5-2 毫米的洗净中沙。对于 <strong>Marmorato</strong>(精抹灰),使用小于 0.5 毫米的石灰石粉。' },
|
|
84
|
-
{ type: 'title', text: '机械嵌锁的奥秘', level: 3 },
|
|
85
|
-
{ type: 'paragraph', html: '这种结合不是化学性的,而是<strong>机械性</strong>的。想象一下数以百万计的微观根须。砂浆必须渗透到砖块的孔隙中,创造一个物理"锁扣"。没有孔隙,就没有锚固。' },
|
|
86
|
-
|
|
87
|
-
{ type: 'paragraph', html: "使用前请结合计算器显示的假设一起解读结果。" },
|
|
88
|
-
{ type: 'paragraph', html: "请检查输入值、单位、四舍五入方式、日期和司法辖区,因为每项都可能改变估算。" },
|
|
89
|
-
{ type: 'paragraph', html: "结果可用于规划和比较方案,但不能替代官方计算或专业建议。" },
|
|
90
|
-
{ type: 'paragraph', html: "使用前请结合计算器显示的假设一起解读结果。" },],
|
|
91
|
-
ui: {
|
|
92
|
-
leftTitle: '维特鲁威系统',
|
|
93
|
-
centerTitle: '可用材料',
|
|
94
|
-
rightTitle: '估计覆盖面积',
|
|
95
|
-
btnCal: '石灰',
|
|
96
|
-
btnArena: '沙子',
|
|
97
|
-
labelCalPasta: '消石灰膏 (1.30 kg/L)',
|
|
98
|
-
labelCalPolvo: 'NHL粉末 (0.65 kg/L)',
|
|
99
|
-
labelQuantity: '现有数量:',
|
|
100
|
-
labelNeedsAlso: '您还需要:',
|
|
101
|
-
labelProportion: '比例:',
|
|
102
|
-
labelCoverage: '覆盖面积:',
|
|
103
|
-
labelThickness: '总厚度:',
|
|
104
|
-
labelLayers: '层数:',
|
|
105
|
-
labelWasteFactor: '损耗系数: 20%',
|
|
106
|
-
layersSingular: '遍',
|
|
107
|
-
layersPlural: '遍',
|
|
108
|
-
layersSingularShort: '遍',
|
|
109
|
-
layersPluralShort: '遍',
|
|
110
|
-
materialCal: '石灰',
|
|
111
|
-
materialArena: '沙子',
|
|
112
|
-
materialMarmol: '大理石',
|
|
113
|
-
phaseDescTrullissatio: '粗糙基层。刷2遍,厚度15mm。比例 1:3(石灰:河沙)。',
|
|
114
|
-
phaseDescArenato: '中间层。刷2遍,厚度8mm。比例 1:2(石灰:洗净沙)。',
|
|
115
|
-
phaseDescMarmorato: '精细面层。刷1双遍,厚度4mm。比例 1:1(石灰:石灰石粉/大理石粉)。',
|
|
116
|
-
granulometryTitle: '骨料粒径',
|
|
117
|
-
grainTitleCoarse: '粗沙',
|
|
118
|
-
grainSubtitleCoarse: '河沙',
|
|
119
|
-
grainUsageCoarse: '基层粉刷',
|
|
120
|
-
grainTitleMedium: '中沙',
|
|
121
|
-
grainSubtitleMedium: '洗净沙',
|
|
122
|
-
grainUsageMedium: '中层抹灰',
|
|
123
|
-
grainTitleFine: '细粉',
|
|
124
|
-
grainSubtitleFine: '石灰石粉/大理石粉',
|
|
125
|
-
grainUsageFine: '精抹灰',
|
|
126
|
-
specSize: '尺寸:',
|
|
127
|
-
specUse: '用途:',
|
|
128
|
-
specDensity: '密度:',
|
|
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 = 'lime-mortar-calculator';
|
|
7
|
+
const title = '传统石灰砂浆比例:粉刷与抹灰';
|
|
8
|
+
const description = '石灰和砂浆免费计算器。根据传统方法(维特鲁威)获取粗抹灰、中抹灰和精抹灰的精确比例。';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: '为什么要使用石灰而不是水泥?',
|
|
13
|
+
answer: '石灰是一种"活的"透气材料,允许水蒸汽排出,防止因冷凝产生的湿气。此外,它比水泥更具柔韧性,可以减少旧墙体裂缝的出现。',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: '粗抹灰的理想比例是多少?',
|
|
17
|
+
answer: '根据维特鲁威传统,对于干净的河沙,使用 1:3 的比例(一份石灰对三份沙子)。对于矿砂,建议使用 1:2 以确保砂浆的凝聚力。',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: '什么是精抹灰或面层抹灰?',
|
|
21
|
+
answer: '这是墙壁的最后一层。使用更细的沙子(有时是石灰石粉/大理石粉)和更高比例的石灰,以获得光滑、如丝般平整的效果,可以喷漆或保持自然状态。',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: '石灰砂浆需要多长时间硬化?',
|
|
25
|
+
answer: '气硬性石灰通过碳化(吸收空气中的二氧化碳)硬化。初始凝固过程需要几天时间,但最大硬度要在数月后达到,并随着时间的推移不断增强强度。',
|
|
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<MortarCalculatorUI> = {
|
|
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: '马库斯·维特鲁威·波利奥在其《建筑十书》第七卷中,不仅描述了技术,还阐述了一种哲学。他理解建筑的永恒在于其结合部。砂浆不仅仅是粘合剂;它是结缔组织。其比例(1:3, 1:2, 1:1)是长达数世纪的罗马经验观察的遗产,追求强度与柔韧性之间的完美平衡。' },
|
|
82
|
+
{ type: 'title', text: '骨料粒径:质量的关键', level: 3 },
|
|
83
|
+
{ type: 'paragraph', html: '石灰砂浆的质量在很大程度上取决于骨料的粒径。对于 <strong>Trullissatio</strong>(基层粉刷),使用 2-5 毫米的粗河沙。对于 <strong>Arenato</strong>(中层抹灰),使用 0.5-2 毫米的洗净中沙。对于 <strong>Marmorato</strong>(精抹灰),使用小于 0.5 毫米的石灰石粉。' },
|
|
84
|
+
{ type: 'title', text: '机械嵌锁的奥秘', level: 3 },
|
|
85
|
+
{ type: 'paragraph', html: '这种结合不是化学性的,而是<strong>机械性</strong>的。想象一下数以百万计的微观根须。砂浆必须渗透到砖块的孔隙中,创造一个物理"锁扣"。没有孔隙,就没有锚固。' },
|
|
86
|
+
|
|
87
|
+
{ type: 'paragraph', html: "使用前请结合计算器显示的假设一起解读结果。" },
|
|
88
|
+
{ type: 'paragraph', html: "请检查输入值、单位、四舍五入方式、日期和司法辖区,因为每项都可能改变估算。" },
|
|
89
|
+
{ type: 'paragraph', html: "结果可用于规划和比较方案,但不能替代官方计算或专业建议。" },
|
|
90
|
+
{ type: 'paragraph', html: "使用前请结合计算器显示的假设一起解读结果。" },],
|
|
91
|
+
ui: {
|
|
92
|
+
leftTitle: '维特鲁威系统',
|
|
93
|
+
centerTitle: '可用材料',
|
|
94
|
+
rightTitle: '估计覆盖面积',
|
|
95
|
+
btnCal: '石灰',
|
|
96
|
+
btnArena: '沙子',
|
|
97
|
+
labelCalPasta: '消石灰膏 (1.30 kg/L)',
|
|
98
|
+
labelCalPolvo: 'NHL粉末 (0.65 kg/L)',
|
|
99
|
+
labelQuantity: '现有数量:',
|
|
100
|
+
labelNeedsAlso: '您还需要:',
|
|
101
|
+
labelProportion: '比例:',
|
|
102
|
+
labelCoverage: '覆盖面积:',
|
|
103
|
+
labelThickness: '总厚度:',
|
|
104
|
+
labelLayers: '层数:',
|
|
105
|
+
labelWasteFactor: '损耗系数: 20%',
|
|
106
|
+
layersSingular: '遍',
|
|
107
|
+
layersPlural: '遍',
|
|
108
|
+
layersSingularShort: '遍',
|
|
109
|
+
layersPluralShort: '遍',
|
|
110
|
+
materialCal: '石灰',
|
|
111
|
+
materialArena: '沙子',
|
|
112
|
+
materialMarmol: '大理石',
|
|
113
|
+
phaseDescTrullissatio: '粗糙基层。刷2遍,厚度15mm。比例 1:3(石灰:河沙)。',
|
|
114
|
+
phaseDescArenato: '中间层。刷2遍,厚度8mm。比例 1:2(石灰:洗净沙)。',
|
|
115
|
+
phaseDescMarmorato: '精细面层。刷1双遍,厚度4mm。比例 1:1(石灰:石灰石粉/大理石粉)。',
|
|
116
|
+
granulometryTitle: '骨料粒径',
|
|
117
|
+
grainTitleCoarse: '粗沙',
|
|
118
|
+
grainSubtitleCoarse: '河沙',
|
|
119
|
+
grainUsageCoarse: '基层粉刷',
|
|
120
|
+
grainTitleMedium: '中沙',
|
|
121
|
+
grainSubtitleMedium: '洗净沙',
|
|
122
|
+
grainUsageMedium: '中层抹灰',
|
|
123
|
+
grainTitleFine: '细粉',
|
|
124
|
+
grainSubtitleFine: '石灰石粉/大理石粉',
|
|
125
|
+
grainUsageFine: '精抹灰',
|
|
126
|
+
specSize: '尺寸:',
|
|
127
|
+
specUse: '用途:',
|
|
128
|
+
specDensity: '密度:',
|
|
129
|
+
},
|
|
130
|
+
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
---
|
|
2
|
-
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
-
import { mortarCalculator } 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 mortarCalculator.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 { mortarCalculator } 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 mortarCalculator.i18n[locale]?.();
|
|
12
|
+
if (!content) return null;
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type { BibliographyEntry } from '../../types';
|
|
2
|
-
|
|
3
|
-
export const bibliography: BibliographyEntry[] = [
|
|
4
|
-
{
|
|
5
|
-
name: 'ISO 9706: Permanence of Paper for Documents',
|
|
6
|
-
url: 'https://www.iso.org/standard/22495.html',
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
name: 'PPFA: Professional Picture Framers Association',
|
|
10
|
-
url: 'https://ppfa.com/',
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
name: 'Fine Art Trade Guild: Framing Standards',
|
|
14
|
-
url: 'https://www.fineart.co.uk/',
|
|
15
|
-
},
|
|
16
|
-
];
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{
|
|
5
|
+
name: 'ISO 9706: Permanence of Paper for Documents',
|
|
6
|
+
url: 'https://www.iso.org/standard/22495.html',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'PPFA: Professional Picture Framers Association',
|
|
10
|
+
url: 'https://ppfa.com/',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'Fine Art Trade Guild: Framing Standards',
|
|
14
|
+
url: 'https://www.fineart.co.uk/',
|
|
15
|
+
},
|
|
16
|
+
];
|
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
import type { PassepartoutCalculatorUI } from '../ui';
|
|
4
|
-
import { bibliography } from '../bibliography';
|
|
5
|
-
|
|
6
|
-
const slug = 'passepartout-rechner';
|
|
7
|
-
const title = 'Passepartout Rechner: Ränder mit optischer Korrektur für Einrahmungen';
|
|
8
|
-
const description = 'Werkzeug zur Berechnung von Passepartout-Rändern mit optischer Korrektur (Bottom Weighting). Rahmen Sie Ihre Fotografien und Kunstwerke mit Galerie-Proportionen ein.';
|
|
9
|
-
|
|
10
|
-
const faqData = [
|
|
11
|
-
{
|
|
12
|
-
question: 'Was ist die optische Mittenkorrektur (Bottom Weighting)?',
|
|
13
|
-
answer: 'Es ist ein Gestaltungsprinzip bei Einrahmungen, bei dem der untere Rand etwas breiter als die anderen gemacht wird. Dies korrigiert die optische Täuschung, die das geometrische Zentrum "abgesackt" erscheinen lässt, wenn ein Werk an der Wand hängt.',
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
question: 'Welches Material sollte für das Passepartout verwendet werden?',
|
|
17
|
-
answer: 'Für die künstlerische Konservierung sollte es säurefreier oder pH-neutraler Karton sein (Alfa-Zellulose oder Baumwolle). Billige Kartons vergilben mit der Zeit und können das Werk durch Lignin beschädigen.',
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
question: 'Wie wähle ich die Farbe des Randes?',
|
|
21
|
-
answer: 'Offwhite oder sanftes Creme sind die Standards, die nicht vom Werk ablenken. Ein dunkler Rand kann die Weißtöne einer Fotografie hervorheben, während farbige Ränder vorsichtig eingesetzt werden sollten, um nicht mit den Farbtönen des Stücks zu konkurrieren.',
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
question: 'Was ist die ideale Randbreite?',
|
|
25
|
-
answer: 'Ein professioneller Standard liegt zwischen 5 und 8 cm. Wenn der Rand zu schmal ist, wirkt das Werk "erstickt". Wenn er sehr breit ist, kann es kleinen Werken eine heroische und minimalistische Ausstrahlung verleihen.',
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
|
|
29
|
-
const howToData = [
|
|
30
|
-
{ name: 'Kunstwerk messen', text: 'Messen Sie die exakte Breite und Höhe des Papiers oder der Leinwand. Ziehen Sie einige Millimeter ab, wenn das Passepartout das Bild leicht überlappen soll.' },
|
|
31
|
-
{ name: 'Innenmaß des Rahmens messen', text: 'Nehmen Sie die Innenmaße des Rahmens oder des Falzes, in den der Passepartout-Karton passen wird.' },
|
|
32
|
-
{ name: 'Optische Korrektur aktivieren', text: 'Wählen Sie die Option in unserem Rechner, wenn der untere Rand für ein professionelles Finish automatisch größer sein soll.' },
|
|
33
|
-
{ name: 'Karton schneiden', text: 'Verwenden Sie die berechneten Maße zum Schneiden des Fensters und des Außenmaßes, vorzugsweise mit einem 45-Grad-Schrägschnitt für eine saubere Kante.' },
|
|
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<PassepartoutCalculatorUI> = {
|
|
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: 'Die Wissenschaft der perfekten Einrahmung', level: 2 },
|
|
81
|
-
{ type: 'paragraph', html: 'Ein <strong>Passepartout</strong> ist nicht nur ein dekorativer Karton; es ist die Lunge, die Ihr Kunstwerk atmen lässt. Dieser Rechner hilft Ihnen, die exakten Maße für den Zuschnitt zu bestimmen, damit das Werk perfekt zentriert oder optisch ausgewogen im Rahmen platziert wird.' },
|
|
82
|
-
{ type: 'title', text: 'Warum die optische Mittenkorrektur?', level: 3 },
|
|
83
|
-
{ type: 'card', icon: 'mdi:eye-outline', title: 'Die optische Täuschung der geometrischen Mitte', html: '<p>Das menschliche Auge tendiert dazu, die vertikale geometrische Mitte etwas tiefer wahrzunehmen, als sie tatsächlich ist. Rahmen Sie ein Werk exakt in der Mitte ein, wirkt es, als ob es "absinkt".</p><p>Das <strong>Bottom Weighting</strong> korrigiert diese Täuschung, indem der untere Rand etwas größer gelassen wird, was das Werk visuell anhebt.</p>' },
|
|
84
|
-
{ type: 'title', text: 'Konservierungsmaterialien für Passepartouts', level: 3 },
|
|
85
|
-
{ type: 'card', icon: 'mdi:palette-swatch-outline', title: 'Säurefreier Karton für die Konservierung', html: '<p>Suchen Sie beim Kauf immer nach Begriffen wie <strong>"Acid-Free"</strong> (säurefrei) oder <strong>"Museum Quality"</strong>. Billige Kartons aus Holzschliff können vergilben und Säuren freisetzen, die Ihr Kunstwerk irreversibel schädigen (Stockflecken).</p>' },
|
|
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
|
-
sectionTitle: 'Abmessungen',
|
|
93
|
-
sectionDesc: 'Geben Sie die Maße in Zentimetern ein.',
|
|
94
|
-
frameSizeTitle: 'Rahmengröße',
|
|
95
|
-
artSizeTitle: 'Größe des Werks',
|
|
96
|
-
labelWidth: 'Breite (cm)',
|
|
97
|
-
labelHeight: 'Höhe (cm)',
|
|
98
|
-
labelBottomWeighting: 'Bottom Weighting',
|
|
99
|
-
descBottomWeighting: 'Mehr unterer Rand für visuelles Gleichgewicht',
|
|
100
|
-
labelOffset: 'Versatz (%)',
|
|
101
|
-
errorMsg: 'Das Werk muss kleiner als der Rahmen sein.',
|
|
102
|
-
labelTop: 'Oben',
|
|
103
|
-
labelBottom: 'Unten',
|
|
104
|
-
labelLeft: 'Links',
|
|
105
|
-
labelRight: 'Rechts',
|
|
106
|
-
artPlaceholder: 'Ihr Werk',
|
|
107
|
-
},
|
|
108
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { PassepartoutCalculatorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'passepartout-rechner';
|
|
7
|
+
const title = 'Passepartout Rechner: Ränder mit optischer Korrektur für Einrahmungen';
|
|
8
|
+
const description = 'Werkzeug zur Berechnung von Passepartout-Rändern mit optischer Korrektur (Bottom Weighting). Rahmen Sie Ihre Fotografien und Kunstwerke mit Galerie-Proportionen ein.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Was ist die optische Mittenkorrektur (Bottom Weighting)?',
|
|
13
|
+
answer: 'Es ist ein Gestaltungsprinzip bei Einrahmungen, bei dem der untere Rand etwas breiter als die anderen gemacht wird. Dies korrigiert die optische Täuschung, die das geometrische Zentrum "abgesackt" erscheinen lässt, wenn ein Werk an der Wand hängt.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Welches Material sollte für das Passepartout verwendet werden?',
|
|
17
|
+
answer: 'Für die künstlerische Konservierung sollte es säurefreier oder pH-neutraler Karton sein (Alfa-Zellulose oder Baumwolle). Billige Kartons vergilben mit der Zeit und können das Werk durch Lignin beschädigen.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Wie wähle ich die Farbe des Randes?',
|
|
21
|
+
answer: 'Offwhite oder sanftes Creme sind die Standards, die nicht vom Werk ablenken. Ein dunkler Rand kann die Weißtöne einer Fotografie hervorheben, während farbige Ränder vorsichtig eingesetzt werden sollten, um nicht mit den Farbtönen des Stücks zu konkurrieren.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Was ist die ideale Randbreite?',
|
|
25
|
+
answer: 'Ein professioneller Standard liegt zwischen 5 und 8 cm. Wenn der Rand zu schmal ist, wirkt das Werk "erstickt". Wenn er sehr breit ist, kann es kleinen Werken eine heroische und minimalistische Ausstrahlung verleihen.',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
const howToData = [
|
|
30
|
+
{ name: 'Kunstwerk messen', text: 'Messen Sie die exakte Breite und Höhe des Papiers oder der Leinwand. Ziehen Sie einige Millimeter ab, wenn das Passepartout das Bild leicht überlappen soll.' },
|
|
31
|
+
{ name: 'Innenmaß des Rahmens messen', text: 'Nehmen Sie die Innenmaße des Rahmens oder des Falzes, in den der Passepartout-Karton passen wird.' },
|
|
32
|
+
{ name: 'Optische Korrektur aktivieren', text: 'Wählen Sie die Option in unserem Rechner, wenn der untere Rand für ein professionelles Finish automatisch größer sein soll.' },
|
|
33
|
+
{ name: 'Karton schneiden', text: 'Verwenden Sie die berechneten Maße zum Schneiden des Fensters und des Außenmaßes, vorzugsweise mit einem 45-Grad-Schrägschnitt für eine saubere Kante.' },
|
|
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<PassepartoutCalculatorUI> = {
|
|
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: 'Die Wissenschaft der perfekten Einrahmung', level: 2 },
|
|
81
|
+
{ type: 'paragraph', html: 'Ein <strong>Passepartout</strong> ist nicht nur ein dekorativer Karton; es ist die Lunge, die Ihr Kunstwerk atmen lässt. Dieser Rechner hilft Ihnen, die exakten Maße für den Zuschnitt zu bestimmen, damit das Werk perfekt zentriert oder optisch ausgewogen im Rahmen platziert wird.' },
|
|
82
|
+
{ type: 'title', text: 'Warum die optische Mittenkorrektur?', level: 3 },
|
|
83
|
+
{ type: 'card', icon: 'mdi:eye-outline', title: 'Die optische Täuschung der geometrischen Mitte', html: '<p>Das menschliche Auge tendiert dazu, die vertikale geometrische Mitte etwas tiefer wahrzunehmen, als sie tatsächlich ist. Rahmen Sie ein Werk exakt in der Mitte ein, wirkt es, als ob es "absinkt".</p><p>Das <strong>Bottom Weighting</strong> korrigiert diese Täuschung, indem der untere Rand etwas größer gelassen wird, was das Werk visuell anhebt.</p>' },
|
|
84
|
+
{ type: 'title', text: 'Konservierungsmaterialien für Passepartouts', level: 3 },
|
|
85
|
+
{ type: 'card', icon: 'mdi:palette-swatch-outline', title: 'Säurefreier Karton für die Konservierung', html: '<p>Suchen Sie beim Kauf immer nach Begriffen wie <strong>"Acid-Free"</strong> (säurefrei) oder <strong>"Museum Quality"</strong>. Billige Kartons aus Holzschliff können vergilben und Säuren freisetzen, die Ihr Kunstwerk irreversibel schädigen (Stockflecken).</p>' },
|
|
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
|
+
sectionTitle: 'Abmessungen',
|
|
93
|
+
sectionDesc: 'Geben Sie die Maße in Zentimetern ein.',
|
|
94
|
+
frameSizeTitle: 'Rahmengröße',
|
|
95
|
+
artSizeTitle: 'Größe des Werks',
|
|
96
|
+
labelWidth: 'Breite (cm)',
|
|
97
|
+
labelHeight: 'Höhe (cm)',
|
|
98
|
+
labelBottomWeighting: 'Bottom Weighting',
|
|
99
|
+
descBottomWeighting: 'Mehr unterer Rand für visuelles Gleichgewicht',
|
|
100
|
+
labelOffset: 'Versatz (%)',
|
|
101
|
+
errorMsg: 'Das Werk muss kleiner als der Rahmen sein.',
|
|
102
|
+
labelTop: 'Oben',
|
|
103
|
+
labelBottom: 'Unten',
|
|
104
|
+
labelLeft: 'Links',
|
|
105
|
+
labelRight: 'Rechts',
|
|
106
|
+
artPlaceholder: 'Ihr Werk',
|
|
107
|
+
},
|
|
108
|
+
};
|