@jjlmoya/utils-diy 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/src/category/i18n/de.ts +12 -0
- package/src/category/i18n/id.ts +12 -0
- package/src/category/i18n/it.ts +12 -0
- package/src/category/i18n/ja.ts +12 -0
- package/src/category/i18n/ko.ts +12 -0
- package/src/category/i18n/nl.ts +12 -0
- package/src/category/i18n/pl.ts +12 -0
- package/src/category/i18n/pt.ts +12 -0
- package/src/category/i18n/ru.ts +12 -0
- package/src/category/i18n/sv.ts +12 -0
- package/src/category/i18n/tr.ts +12 -0
- package/src/category/i18n/zh.ts +12 -0
- package/src/category/index.ts +13 -1
- package/src/index.ts +1 -1
- package/src/tests/category_validation.test.ts +18 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/seo_length.test.ts +3 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tool/balusterCalculator/i18n/de.ts +264 -0
- package/src/tool/balusterCalculator/i18n/id.ts +264 -0
- package/src/tool/balusterCalculator/i18n/it.ts +264 -0
- package/src/tool/balusterCalculator/i18n/ja.ts +264 -0
- package/src/tool/balusterCalculator/i18n/ko.ts +264 -0
- package/src/tool/balusterCalculator/i18n/nl.ts +264 -0
- package/src/tool/balusterCalculator/i18n/pl.ts +264 -0
- package/src/tool/balusterCalculator/i18n/pt.ts +264 -0
- package/src/tool/balusterCalculator/i18n/ru.ts +264 -0
- package/src/tool/balusterCalculator/i18n/sv.ts +264 -0
- package/src/tool/balusterCalculator/i18n/tr.ts +264 -0
- package/src/tool/balusterCalculator/i18n/zh.ts +264 -0
- package/src/tool/balusterCalculator/index.ts +15 -7
- package/src/tool/clayCalculator/i18n/de.ts +183 -0
- package/src/tool/clayCalculator/i18n/id.ts +183 -0
- package/src/tool/clayCalculator/i18n/it.ts +183 -0
- package/src/tool/clayCalculator/i18n/ja.ts +182 -0
- package/src/tool/clayCalculator/i18n/ko.ts +183 -0
- package/src/tool/clayCalculator/i18n/nl.ts +183 -0
- package/src/tool/clayCalculator/i18n/pl.ts +183 -0
- package/src/tool/clayCalculator/i18n/pt.ts +183 -0
- package/src/tool/clayCalculator/i18n/ru.ts +183 -0
- package/src/tool/clayCalculator/i18n/sv.ts +183 -0
- package/src/tool/clayCalculator/i18n/tr.ts +183 -0
- package/src/tool/clayCalculator/i18n/zh.ts +183 -0
- package/src/tool/clayCalculator/index.ts +15 -7
- package/src/tool/concreteCalculator/i18n/de.ts +201 -0
- package/src/tool/concreteCalculator/i18n/id.ts +201 -0
- package/src/tool/concreteCalculator/i18n/it.ts +201 -0
- package/src/tool/concreteCalculator/i18n/ja.ts +201 -0
- package/src/tool/concreteCalculator/i18n/ko.ts +201 -0
- package/src/tool/concreteCalculator/i18n/nl.ts +201 -0
- package/src/tool/concreteCalculator/i18n/pl.ts +201 -0
- package/src/tool/concreteCalculator/i18n/pt.ts +201 -0
- package/src/tool/concreteCalculator/i18n/ru.ts +201 -0
- package/src/tool/concreteCalculator/i18n/sv.ts +201 -0
- package/src/tool/concreteCalculator/i18n/tr.ts +201 -0
- package/src/tool/concreteCalculator/i18n/zh.ts +201 -0
- package/src/tool/concreteCalculator/index.ts +17 -5
- package/src/tool/cutOptimizer/i18n/de.ts +178 -0
- package/src/tool/cutOptimizer/i18n/id.ts +178 -0
- package/src/tool/cutOptimizer/i18n/it.ts +178 -0
- package/src/tool/cutOptimizer/i18n/ja.ts +178 -0
- package/src/tool/cutOptimizer/i18n/ko.ts +178 -0
- package/src/tool/cutOptimizer/i18n/nl.ts +178 -0
- package/src/tool/cutOptimizer/i18n/pl.ts +178 -0
- package/src/tool/cutOptimizer/i18n/pt.ts +178 -0
- package/src/tool/cutOptimizer/i18n/ru.ts +178 -0
- package/src/tool/cutOptimizer/i18n/sv.ts +178 -0
- package/src/tool/cutOptimizer/i18n/tr.ts +178 -0
- package/src/tool/cutOptimizer/i18n/zh.ts +178 -0
- package/src/tool/cutOptimizer/index.ts +17 -5
- package/src/tool/drillCalculator/i18n/de.ts +137 -0
- package/src/tool/drillCalculator/i18n/id.ts +137 -0
- package/src/tool/drillCalculator/i18n/it.ts +137 -0
- package/src/tool/drillCalculator/i18n/ja.ts +137 -0
- package/src/tool/drillCalculator/i18n/ko.ts +137 -0
- package/src/tool/drillCalculator/i18n/nl.ts +137 -0
- package/src/tool/drillCalculator/i18n/pl.ts +137 -0
- package/src/tool/drillCalculator/i18n/pt.ts +137 -0
- package/src/tool/drillCalculator/i18n/ru.ts +137 -0
- package/src/tool/drillCalculator/i18n/sv.ts +137 -0
- package/src/tool/drillCalculator/i18n/tr.ts +137 -0
- package/src/tool/drillCalculator/i18n/zh.ts +137 -0
- package/src/tool/drillCalculator/index.ts +17 -5
- package/src/tool/drillSharpener/i18n/de.ts +120 -0
- package/src/tool/drillSharpener/i18n/id.ts +120 -0
- package/src/tool/drillSharpener/i18n/it.ts +120 -0
- package/src/tool/drillSharpener/i18n/ja.ts +120 -0
- package/src/tool/drillSharpener/i18n/ko.ts +120 -0
- package/src/tool/drillSharpener/i18n/nl.ts +120 -0
- package/src/tool/drillSharpener/i18n/pl.ts +120 -0
- package/src/tool/drillSharpener/i18n/pt.ts +120 -0
- package/src/tool/drillSharpener/i18n/ru.ts +120 -0
- package/src/tool/drillSharpener/i18n/sv.ts +120 -0
- package/src/tool/drillSharpener/i18n/tr.ts +120 -0
- package/src/tool/drillSharpener/i18n/zh.ts +120 -0
- package/src/tool/drillSharpener/index.ts +17 -5
- package/src/tool/epoxyCalculator/i18n/de.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/id.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/it.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/ja.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/ko.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/nl.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/pl.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/pt.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/ru.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/sv.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/tr.ts +118 -0
- package/src/tool/epoxyCalculator/i18n/zh.ts +118 -0
- package/src/tool/epoxyCalculator/index.ts +15 -7
- package/src/tool/furnitureFit/i18n/de.ts +113 -0
- package/src/tool/furnitureFit/i18n/id.ts +113 -0
- package/src/tool/furnitureFit/i18n/it.ts +113 -0
- package/src/tool/furnitureFit/i18n/ja.ts +113 -0
- package/src/tool/furnitureFit/i18n/ko.ts +113 -0
- package/src/tool/furnitureFit/i18n/nl.ts +113 -0
- package/src/tool/furnitureFit/i18n/pl.ts +113 -0
- package/src/tool/furnitureFit/i18n/pt.ts +113 -0
- package/src/tool/furnitureFit/i18n/ru.ts +113 -0
- package/src/tool/furnitureFit/i18n/sv.ts +113 -0
- package/src/tool/furnitureFit/i18n/tr.ts +113 -0
- package/src/tool/furnitureFit/i18n/zh.ts +113 -0
- package/src/tool/furnitureFit/index.ts +17 -5
- package/src/tool/mortarCalculator/i18n/de.ts +129 -0
- package/src/tool/mortarCalculator/i18n/id.ts +129 -0
- package/src/tool/mortarCalculator/i18n/it.ts +129 -0
- package/src/tool/mortarCalculator/i18n/ja.ts +129 -0
- package/src/tool/mortarCalculator/i18n/ko.ts +129 -0
- package/src/tool/mortarCalculator/i18n/nl.ts +129 -0
- package/src/tool/mortarCalculator/i18n/pl.ts +129 -0
- package/src/tool/mortarCalculator/i18n/pt.ts +129 -0
- package/src/tool/mortarCalculator/i18n/ru.ts +129 -0
- package/src/tool/mortarCalculator/i18n/sv.ts +129 -0
- package/src/tool/mortarCalculator/i18n/tr.ts +129 -0
- package/src/tool/mortarCalculator/i18n/zh.ts +129 -0
- package/src/tool/mortarCalculator/index.ts +17 -5
- package/src/tool/passepartoutCalculator/i18n/de.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/id.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/it.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/ja.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/ko.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/nl.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/pl.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/pt.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/ru.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/sv.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/tr.ts +108 -0
- package/src/tool/passepartoutCalculator/i18n/zh.ts +108 -0
- package/src/tool/passepartoutCalculator/index.ts +17 -5
- package/src/tool/stairCalculator/i18n/de.ts +144 -0
- package/src/tool/stairCalculator/i18n/id.ts +144 -0
- package/src/tool/stairCalculator/i18n/it.ts +144 -0
- package/src/tool/stairCalculator/i18n/ja.ts +144 -0
- package/src/tool/stairCalculator/i18n/ko.ts +144 -0
- package/src/tool/stairCalculator/i18n/nl.ts +144 -0
- package/src/tool/stairCalculator/i18n/pl.ts +144 -0
- package/src/tool/stairCalculator/i18n/pt.ts +144 -0
- package/src/tool/stairCalculator/i18n/ru.ts +144 -0
- package/src/tool/stairCalculator/i18n/sv.ts +144 -0
- package/src/tool/stairCalculator/i18n/tr.ts +144 -0
- package/src/tool/stairCalculator/i18n/zh.ts +144 -0
- package/src/tool/stairCalculator/index.ts +17 -5
- package/src/tool/thermalExpansionCalculator/i18n/de.ts +132 -0
- package/src/tool/thermalExpansionCalculator/i18n/id.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/it.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/ja.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/ko.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/nl.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/pl.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/pt.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/ru.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/sv.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/tr.ts +130 -0
- package/src/tool/thermalExpansionCalculator/i18n/zh.ts +130 -0
- package/src/tool/thermalExpansionCalculator/index.ts +17 -5
- package/src/tool/voltageDropCalculator/i18n/de.ts +112 -0
- package/src/tool/voltageDropCalculator/i18n/id.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/it.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/ja.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/ko.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/nl.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/pl.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/pt.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/ru.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/sv.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/tr.ts +110 -0
- package/src/tool/voltageDropCalculator/i18n/zh.ts +110 -0
- package/src/tool/voltageDropCalculator/index.ts +17 -5
- package/src/tools.ts +2 -0
- package/src/types.ts +1 -1
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { BalusterCalculatorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'baluster-rechner';
|
|
6
|
+
const title = 'Baluster Rechner: Exakter Abstand für Geländer';
|
|
7
|
+
const description =
|
|
8
|
+
'Berechnen Sie den exakten Abstand zwischen Stäben oder Balustern für Geländer unter Einhaltung der 10-cm-Regel. Automatische Pläne.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Was ist der gesetzliche Maximalabstand zwischen Balustern?',
|
|
13
|
+
answer:
|
|
14
|
+
'In den meisten internationalen Bauvorschriften darf der lichte Abstand zwischen den Elementen eines Geländers den Durchgang einer Kugel mit 10 cm Durchmesser nicht zulassen, um Unfälle mit Kindern zu vermeiden.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Wie wird der Abstand gemessen: zwischen den Mitten oder den Lücken?',
|
|
18
|
+
answer:
|
|
19
|
+
"Unser Rechner liefert beides. Der 'lichte Abstand' ist die tatsächliche Lücke zwischen den Stäben (entscheidend für die Sicherheit), während der 'Mittenabstand' (on-center) angibt, wo jeder Baluster gebohrt oder befestigt werden muss.",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Was passiert, wenn die Verteilung nicht exakt aufgeht?',
|
|
23
|
+
answer:
|
|
24
|
+
'Der Rechner passt die Anzahl der Stäbe automatisch so an, dass die erste und die letzte Lücke identisch sind, was visuelle Symmetrie und die strikte Einhaltung der maximal zulässigen Lücke garantiert.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Ist es besser, Baluster zu schweißen oder zu schrauben?',
|
|
28
|
+
answer:
|
|
29
|
+
'Das hängt vom Material ab. Bei Stahl bietet Schweißen maximale strukturelle Steifigkeit. Bei Holz oder Aluminium werden mechanische Verankerungen oder durchgehende Schrauben verwendet. Wichtig ist, dass das Geländer einer horizontalen Kraft von mindestens 0,8 kN/m standhält.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Gesamtlänge messen',
|
|
36
|
+
text: 'Messen Sie den exakten Abstand zwischen dem ersten und dem letzten Pfosten, an dem das Geländer installiert wird.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Balusterbreite definieren',
|
|
40
|
+
text: 'Messen Sie die Breite eines einzelnen Stabes (z. B. 2x2 cm bei Quadratrohr oder den Durchmesser bei Rundstäben).',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Maximale Lücke festlegen',
|
|
44
|
+
text: 'Geben Sie den gewünschten maximalen Abstand an (empfohlen sind 10 cm zur Einhaltung der Vorschriften).',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Installationsmarkierungen erhalten',
|
|
48
|
+
text: 'Überprüfen Sie die Liste der exakten Positionen für die Bohrungen, um eine symmetrische und sichere Verteilung zu gewährleisten.',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faqData.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
63
|
+
'@context': 'https://schema.org',
|
|
64
|
+
'@type': 'HowTo',
|
|
65
|
+
name: title,
|
|
66
|
+
description,
|
|
67
|
+
step: howToData.map((step, i) => ({
|
|
68
|
+
'@type': 'HowToStep',
|
|
69
|
+
position: i + 1,
|
|
70
|
+
name: step.name,
|
|
71
|
+
text: step.text,
|
|
72
|
+
})),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
76
|
+
'@context': 'https://schema.org',
|
|
77
|
+
'@type': 'SoftwareApplication',
|
|
78
|
+
name: title,
|
|
79
|
+
description,
|
|
80
|
+
applicationCategory: 'UtilityApplication',
|
|
81
|
+
operatingSystem: 'All',
|
|
82
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
83
|
+
inLanguage: 'de',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<BalusterCalculatorUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
faqTitle: 'Häufig gestellte Fragen',
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliographyTitle: 'Technische Referenzen',
|
|
93
|
+
bibliography: [
|
|
94
|
+
{
|
|
95
|
+
name: 'DIN 18065 - Treppenmaße und Geländer (Deutschland)',
|
|
96
|
+
url: 'https://www.beuth.de/de/norm/din-18065/324683526',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'IRC - International Residential Code (USA)',
|
|
100
|
+
url: 'https://codes.iccsafe.org/content/IRC2021',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'IBC - International Building Code',
|
|
104
|
+
url: 'https://codes.iccsafe.org/content/IBC2021',
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
howTo: howToData,
|
|
108
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
|
+
seo: [
|
|
110
|
+
{
|
|
111
|
+
type: 'title',
|
|
112
|
+
text: 'Ultimativer Leitfaden: So berechnen Sie den Balusterabstand für Geländer',
|
|
113
|
+
level: 2,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'paragraph',
|
|
117
|
+
html: 'Die Gestaltung eines sicheren und ästhetisch perfekten Geländers ist eine Kunst, die mathematische Präzision mit Bauvorschriften kombiniert. Ob für eine Terrasse, einen Balkon oder eine Innentreppe, die korrekte Berechnung der Baluster (oder Stäbe) ist der kritischste Schritt des Projekts. Ein Rechenfehler ruiniert nicht nur die visuelle Symmetrie, sondern kann Ihre Struktur illegal und unsicher machen.',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'card',
|
|
121
|
+
icon: 'mdi:alert-circle-outline',
|
|
122
|
+
title: 'Warum ist diese Berechnung so wichtig?',
|
|
123
|
+
html: '<p>Es geht nicht nur darum, eine Lücke zu füllen. Es geht um die Einhaltung der <strong>4-Zoll-Kugel-Regel (10 cm)</strong>, einer internationalen Sicherheitsnorm zur Vermeidung von Unfällen mit Kindern.</p>',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'title',
|
|
127
|
+
text: '1. Sicherheitsvorschriften: Die 10-cm-Regel',
|
|
128
|
+
level: 3,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'paragraph',
|
|
132
|
+
html: 'Bevor Sie das erste Stück Holz oder Metall schneiden, müssen Sie das „Warum“ hinter der Mathematik verstehen. Die Bauvorschriften in vielen Ländern, wie auch der IRC (International Residential Code) in den USA, legen eine klare Norm fest: <em>„Der lichte Abstand zwischen vertikalen Elementen darf den Durchgang einer Kugel mit 10 cm (4 Zoll) Durchmesser nicht zulassen.“</em>',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'paragraph',
|
|
136
|
+
html: 'Dieses Maß ist nicht willkürlich. Es ist der durchschnittliche Kopfdurchmesser eines Kleinkindes (normalerweise unter einem Jahr). Wenn ein Kind mit dem Körper hindurchkommt, aber der Kopf stecken bleibt, ist das Erstickungsrisiko extrem hoch. Wenn es mit dem Kopf hindurchkommt, kann es in die Tiefe stürzen. Daher ist das Ziel unseres <strong>Baluster-Rechners</strong> nicht nur die Ästhetik, sondern das Retten von Leben.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'title',
|
|
140
|
+
text: '2. Das mathematische Problem: Der Zaunpfostenfehler',
|
|
141
|
+
level: 3,
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'paragraph',
|
|
145
|
+
html: 'In der Programmierung und im Bauwesen gibt es ein klassisches Problem namens <em>„Fencepost Error“</em> (Zaunpfostenfehler). Wenn Sie einen 10 Meter langen Zaun mit Pfosten alle 1 Meter bauen wollen, wie viele Pfosten benötigen Sie? Die intuitive Antwort ist 10, aber die richtige ist 11.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Bei Balustern ist es ähnlich, aber komplexer, da die Breite des Balusters selbst Platz beansprucht. Die Formel, die unser Tool verwendet, löst dieses Gleichungssystem für Sie:',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'grid',
|
|
153
|
+
columns: [
|
|
154
|
+
{
|
|
155
|
+
type: 'card',
|
|
156
|
+
icon: 'mdi:calculator',
|
|
157
|
+
title: 'Schritt A: Lücken berechnen',
|
|
158
|
+
html: '<p class="bc-formula">n = (L - g_max) / (w + g_max)</p><p>Zuerst bestimmen wir, wie viele Baluster theoretisch passen würden, wenn wir den maximal zulässigen Raum nutzen würden. Wir runden diese Zahl auf, um sicherzustellen, dass die resultierenden Lücken <em>kleiner</em> als das Maximum sind.</p>',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'card',
|
|
162
|
+
icon: 'mdi:function-variant',
|
|
163
|
+
title: 'Schritt B: Exakten Abstand neuberechnen',
|
|
164
|
+
html: '<p class="bc-formula">g = (L - n × w) / (n + 1)</p><p>Sobald wir die exakte Anzahl der Baluster (n) kennen, berechnen wir, wie viel Platz „übrig bleibt“, wenn wir die Breite des gesamten Materials abziehen, und verteilen diesen gleichmäßig auf die Lücken (n+1).</p>',
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'title',
|
|
170
|
+
text: '3. Schritt-für-Schritt-Anleitung für die perfekte Installation',
|
|
171
|
+
level: 3,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'paragraph',
|
|
175
|
+
html: 'Die Zahlen zu haben, ist nur die halbe Miete. Hier erklären wir, wie Sie diese Zahlen vom Papier (oder Bildschirm) in die Realität Ihres Bauprojekts übertragen.',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'title',
|
|
179
|
+
text: 'Schritt 1: Präzisionsmessung',
|
|
180
|
+
level: 3,
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'paragraph',
|
|
184
|
+
html: 'Messen Sie den <strong>inneren</strong> Abstand zwischen Pfosten und Pfosten. Messen Sie nicht von der Mitte des Pfostens. Sie müssen das exakte lichte Maß kennen, das Sie füllen werden (L). Wenn Ihr Geländer mehrere Abschnitte hat, messen Sie jeden einzeln; Konstruktionen sind selten perfekt rechtwinklig, und ein Fehler von 0,5 cm kann die Symmetrie ruinieren.',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'title',
|
|
188
|
+
text: 'Schritt 2: Die Mitte finden',
|
|
189
|
+
level: 3,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'paragraph',
|
|
193
|
+
html: 'Der Anfängerfehler Nummer eins ist, mit dem Setzen der Baluster von einem Ende zum anderen zu beginnen. Dies führt fast immer zu einer seltsam großen oder kleinen letzten Lücke, was die visuelle Harmonie stört.<ul><li>Markieren Sie die <strong>exakte Mitte</strong> des Geländers (L / 2).</li><li>Entscheiden Sie, ob Sie in der Mitte einen <em>Baluster</em> oder eine <em>Lücke</em> haben möchten.</li><li>Wenn Sie einen Baluster in der Mitte möchten: Markieren Sie die Hälfte der Balusterbreite auf jeder Seite Ihrer Mittelmarkierung.</li><li>Wenn Sie eine Lücke in der Mitte möchten: Markieren Sie die Hälfte des Lückenabstands (g / 2) auf jeder Seite.</li></ul>',
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: 'title',
|
|
197
|
+
text: 'Schritt 3: Einen Abstandshalter (Spacer) anfertigen',
|
|
198
|
+
level: 3,
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
type: 'paragraph',
|
|
202
|
+
html: 'Verwenden Sie nicht für jeden Baluster das Maßband. Der kumulative menschliche Fehler wird dazu führen, dass der letzte Baluster um mehrere Zentimeter abweicht. Professionell ist es, einen Holzblock (oder zwei) mit dem exakten Maß der Lücke (g) zuzuschneiden, das Ihnen unser Rechner ausgegeben hat.',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
type: 'paragraph',
|
|
206
|
+
html: 'Verwenden Sie diesen Block als physische Schablone. Setzen Sie einen Baluster, legen Sie den Block an, setzen Sie den nächsten Baluster fest gegen den Block und fixieren Sie ihn. Dies garantiert millimetergenaue Konsistenz.',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
type: 'title',
|
|
210
|
+
text: '4. Benötigte Materialien und Werkzeuge',
|
|
211
|
+
level: 3,
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
type: 'card',
|
|
215
|
+
icon: 'mdi:tools',
|
|
216
|
+
title: 'Ausrüstung für ein professionelles Finish',
|
|
217
|
+
html: '<ul><li>Hochpräzises Maßband</li><li>Zimmermannsbleistift</li><li>Wasserwaage (für die Vertikalität)</li><li>Kappsäge (für saubere Schnitte)</li><li>Bohrer und Holzschrauben</li><li>Abstandshalter (maßgefertigt)</li></ul>',
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
type: 'title',
|
|
221
|
+
text: '5. Zusätzliche technische Fragen',
|
|
222
|
+
level: 3,
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
type: 'card',
|
|
226
|
+
icon: 'mdi:help-circle-outline',
|
|
227
|
+
title: 'Was passiert, wenn die letzte Lücke nicht passt?',
|
|
228
|
+
html: '<p>Wenn Sie unseren Rechner verwendet haben, sollte dies nicht passieren. In der realen Welt verbiegt sich jedoch Holz, und Pfosten sind nicht immer gerade. Wenn Ihnen am Ende 1-2 mm fehlen oder zu viel sind, ist das unmerklich. Wenn Ihnen 1 cm fehlt, überprüfen Sie Ihre Abstandshalter; wahrscheinlich haben Sie sich bei jedem Schritt Millimeter „eingefressen“.</p>',
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
type: 'card',
|
|
232
|
+
icon: 'mdi:shield-check-outline',
|
|
233
|
+
title: 'Kann ich die Baluster weiter auseinander setzen, wenn ich keine Kinder habe?',
|
|
234
|
+
html: '<p>Rechtlich gesehen: Nein. Die Bauvorschriften gelten für das Haus, nicht für die aktuellen Bewohner. Wenn Sie das Haus eines Tages verkaufen, wird ein Geländer außerhalb der Norm bei der Inspektion ein Problem sein. Zudem können Besucher (Nichten, Enkel) in Gefahr sein.</p>',
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
type: 'card',
|
|
238
|
+
icon: 'mdi:wrench-outline',
|
|
239
|
+
title: 'Holz, Metall oder Glas?',
|
|
240
|
+
html: '<p>Dieser Rechner funktioniert für <strong>jedes sich wiederholende vertikale Element</strong>. Wenn Sie horizontale Stahlseile verwenden, sind die Vorschriften anders (normalerweise dürfen sie nicht zum Klettern einladen, „Leitereffekt“). Bei Glas wird es als durchgehende Platte betrachtet, und es gilt kein Abstand, sondern die Schlagfestigkeit.</p>',
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
type: 'card',
|
|
244
|
+
icon: 'mdi:format-quote-close',
|
|
245
|
+
title: 'Mies van der Rohe',
|
|
246
|
+
html: '<p><em>„Architektur ist der Wille der Epoche, in den Raum übersetzt.“</em></p><p>Wir hoffen, dass dieses Tool Ihnen hilft, sicherere und schönere Räume zu bauen. Denken Sie immer daran, die örtlichen Bauvorschriften Ihrer Gemeinde zu konsultieren, da es spezifische Variationen bei der Mindesthöhe (normalerweise 90–110 cm) oder den Belastungen geben kann.</p>',
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
ui: {
|
|
250
|
+
sectionTitle: 'Abmessungen',
|
|
251
|
+
sectionDesc: 'Geben Sie die Maße Ihres Geländers ein',
|
|
252
|
+
labelRailLength: 'Gesamtlänge (L)',
|
|
253
|
+
labelBalusterWidth: 'Balusterbreite (w)',
|
|
254
|
+
labelMaxGap: 'Maximaler Abstand (g)',
|
|
255
|
+
blueprintTitle: 'Montageplan',
|
|
256
|
+
blueprintRef: 'REF: BAL-001 // SKALA: AUTO',
|
|
257
|
+
labelRequired: 'Benötigte Baluster',
|
|
258
|
+
labelExactGap: 'Exakte Lücke',
|
|
259
|
+
labelOnCenter: 'Mitte zu Mitte',
|
|
260
|
+
labelTotalSpaces: 'Gesamtanzahl Lücken',
|
|
261
|
+
labelCoveredLength: 'Abgedeckte Länge',
|
|
262
|
+
labelDisclaimer: '* Die gezeigten Dimensionen sind Näherungswerte zur Visualisierung.',
|
|
263
|
+
},
|
|
264
|
+
};
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { BalusterCalculatorUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'kalkulator-baluster';
|
|
6
|
+
const title = 'Kalkulator Baluster: Jarak Tepat untuk Pagar';
|
|
7
|
+
const description =
|
|
8
|
+
'Hitung jarak tepat antara jeruji atau baluster untuk pagar sesuai dengan peraturan 10 cm. Denah otomatis.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Berapa jarak maksimum legal antar baluster?',
|
|
13
|
+
answer:
|
|
14
|
+
'Di kebanyakan peraturan internasional, ruang bebas antar elemen pagar tidak boleh membiarkan bola berdiameter 10 cm lewat untuk mencegah kecelakaan pada anak-anak.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Bagaimana cara mengukur jarak: antar pusat atau antar celah?',
|
|
18
|
+
answer:
|
|
19
|
+
"Kalkulator kami menyediakan keduanya. 'Jarak bebas' adalah celah nyata antar jeruji (penting untuk keamanan), sedangkan 'jarak antar pusat' (on-center) adalah yang menandai tempat mengebor atau memasang setiap baluster.",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Apa yang terjadi jika pembagiannya tidak tepat?',
|
|
23
|
+
answer:
|
|
24
|
+
'Kalkulator secara otomatis menyesuaikan jumlah jeruji agar celah pertama dan terakhir identik, menjamin simetri visual dan kepatuhan ketat terhadap celah maksimum yang diizinkan.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Apakah lebih baik mengelas atau menyekrup baluster?',
|
|
28
|
+
answer:
|
|
29
|
+
'Tergantung bahannya. Pada baja, pengelasan menawarkan kekakuan struktural maksimum. Pada kayu atau aluminium, digunakan jangkar mekanis atau sekrup tembus. Yang penting adalah pagar mampu menahan gaya horizontal setidaknya 0,8 kN/m.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Ukur panjang total',
|
|
36
|
+
text: 'Ukur jarak tepat antara tiang pertama dan terakhir tempat pagar akan dipasang.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Tentukan ketebalan baluster',
|
|
40
|
+
text: 'Ukur lebar jeruji individual (misalnya 2x2 cm untuk pipa kotak atau diameter jika bulat).',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Tetapkan celah maksimum',
|
|
44
|
+
text: 'Tentukan pemisahan maksimum yang diinginkan (direkomendasikan 10 cm untuk mematuhi peraturan).',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Dapatkan tanda pemasangan',
|
|
48
|
+
text: 'Periksa daftar posisi tepat untuk melakukan pengeboran dan memastikan pembagian yang simetris dan aman.',
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
53
|
+
'@context': 'https://schema.org',
|
|
54
|
+
'@type': 'FAQPage',
|
|
55
|
+
mainEntity: faqData.map((item) => ({
|
|
56
|
+
'@type': 'Question',
|
|
57
|
+
name: item.question,
|
|
58
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
59
|
+
})),
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
63
|
+
'@context': 'https://schema.org',
|
|
64
|
+
'@type': 'HowTo',
|
|
65
|
+
name: title,
|
|
66
|
+
description,
|
|
67
|
+
step: howToData.map((step, i) => ({
|
|
68
|
+
'@type': 'HowToStep',
|
|
69
|
+
position: i + 1,
|
|
70
|
+
name: step.name,
|
|
71
|
+
text: step.text,
|
|
72
|
+
})),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
76
|
+
'@context': 'https://schema.org',
|
|
77
|
+
'@type': 'SoftwareApplication',
|
|
78
|
+
name: title,
|
|
79
|
+
description,
|
|
80
|
+
applicationCategory: 'UtilityApplication',
|
|
81
|
+
operatingSystem: 'All',
|
|
82
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
83
|
+
inLanguage: 'id',
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const content: ToolLocaleContent<BalusterCalculatorUI> = {
|
|
87
|
+
slug,
|
|
88
|
+
title,
|
|
89
|
+
description,
|
|
90
|
+
faqTitle: 'Pertanyaan Umum',
|
|
91
|
+
faq: faqData,
|
|
92
|
+
bibliographyTitle: 'Referensi Teknis',
|
|
93
|
+
bibliography: [
|
|
94
|
+
{
|
|
95
|
+
name: 'Standar Keamanan Pagar Internasional',
|
|
96
|
+
url: 'https://www.iccsafe.org/',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: 'IRC - International Residential Code (AS)',
|
|
100
|
+
url: 'https://codes.iccsafe.org/content/IRC2021',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
name: 'IBC - International Building Code',
|
|
104
|
+
url: 'https://codes.iccsafe.org/content/IBC2021',
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
howTo: howToData,
|
|
108
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
109
|
+
seo: [
|
|
110
|
+
{
|
|
111
|
+
type: 'title',
|
|
112
|
+
text: 'Panduan Definitif: Cara Menghitung Jarak Baluster untuk Pagar',
|
|
113
|
+
level: 2,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
type: 'paragraph',
|
|
117
|
+
html: 'Merancang pagar yang aman dan estetis sempurna adalah seni yang menggabungkan presisi matematika dengan peraturan bangunan. Baik untuk teras, balkon, atau tangga dalam ruangan, perhitungan baluster (atau jeruji) yang benar adalah langkah paling kritis dalam proyek ini. Kesalahan perhitungan tidak hanya merusak simetri visual, tetapi juga dapat membuat struktur Anda ilegal dan tidak aman.',
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'card',
|
|
121
|
+
icon: 'mdi:alert-circle-outline',
|
|
122
|
+
title: 'Mengapa perhitungan ini sangat penting?',
|
|
123
|
+
html: '<p>Ini bukan hanya tentang "mengisi celah". Ini tentang mematuhi <strong>Aturan Bola 4 Inci (10 cm)</strong>, standar keamanan internasional yang dirancang untuk mencegah kecelakaan pada anak-anak.</p>',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'title',
|
|
127
|
+
text: '1. Peraturan Keamanan: Aturan 10 cm',
|
|
128
|
+
level: 3,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'paragraph',
|
|
132
|
+
html: 'Sebelum memotong potongan kayu atau logam pertama, Anda harus memahami "mengapa" di balik matematikanya. Kode bangunan di banyak negara menetapkan aturan yang jelas: <em>"Ruang bebas antar elemen vertikal tidak boleh membiarkan bola berdiameter 10 cm (4 inci) lewat."</em>',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
type: 'paragraph',
|
|
136
|
+
html: 'Ukuran ini tidak sembarangan. Ini adalah diameter rata-rata kepala anak kecil (umumnya kurang dari 1 tahun). Jika seorang anak bisa memasukkan tubuhnya tetapi kepalanya tersangkut, risiko mati lemas sangat tinggi. Jika kepalanya bisa lewat, dia bisa terjatuh. Oleh karena itu, tujuan dari <strong>Kalkulator Baluster</strong> kami bukan hanya estetika, tetapi untuk menyelamatkan nyawa.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
type: 'title',
|
|
140
|
+
text: '2. Masalah Matematika: Kesalahan Tiang Pagar',
|
|
141
|
+
level: 3,
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'paragraph',
|
|
145
|
+
html: 'Dalam pemrograman dan konstruksi, ada masalah klasik yang disebut <em>"Fencepost Error"</em> (Kesalahan Tiang Pagar). Jika Anda ingin membangun pagar sepanjang 10 meter dengan tiang setiap 1 meter, berapa banyak tiang yang Anda butuhkan? Jawaban intuitifnya adalah 10, tetapi yang benar adalah 11.',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Dengan baluster, hal serupa terjadi, tetapi lebih kompleks karena lebar baluster itu sendiri memakan ruang. Formula yang digunakan alat kami menyelesaikan sistem persamaan ini untuk Anda:',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'grid',
|
|
153
|
+
columns: [
|
|
154
|
+
{
|
|
155
|
+
type: 'card',
|
|
156
|
+
icon: 'mdi:calculator',
|
|
157
|
+
title: 'Langkah A: Hitung Celah',
|
|
158
|
+
html: '<p class="bc-formula">n = (L - g_max) / (w + g_max)</p><p>Pertama, kami menentukan berapa banyak baluster yang secara teoritis muat jika kita menggunakan ruang maksimum yang diizinkan. Kami membulatkan angka ini ke atas untuk memastikan celah yang dihasilkan <em>lebih kecil</em> dari maksimum.</p>',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'card',
|
|
162
|
+
icon: 'mdi:function-variant',
|
|
163
|
+
title: 'Langkah B: Hitung Ulang Jarak Tepat',
|
|
164
|
+
html: '<p class="bc-formula">g = (L - n × w) / (n + 1)</p><p>Setelah kita mengetahui jumlah pasti baluster (n), kita menghitung berapa banyak ruang yang "tersisa" jika kita mengurangkan lebar semua material, dan membaginya secara merata di antara celah-celah (n+1).</p>',
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'title',
|
|
170
|
+
text: '3. Panduan Langkah demi Langkah untuk Pemasangan Sempurna',
|
|
171
|
+
level: 3,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'paragraph',
|
|
175
|
+
html: 'Memiliki angka-angka tersebut hanyalah setengah dari perjuangan. Di sini kami menjelaskan cara memindahkan angka-angka tersebut dari kertas (atau layar) ke realitas pekerjaan Anda.',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'title',
|
|
179
|
+
text: 'Langkah 1: Pengukuran Presisi',
|
|
180
|
+
level: 3,
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
type: 'paragraph',
|
|
184
|
+
html: 'Ukur jarak <strong>internal</strong> antara tiang ke tiang. Jangan mengukur dari tengah tiang. Anda perlu mengetahui ruang cahaya tepat yang akan Anda isi (L). Jika pagar Anda memiliki beberapa bagian, ukur masing-masing secara individual; konstruksi jarang sekali benar-benar simetris dan kesalahan 0,5 cm dapat merusak keharmonisan.',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: 'title',
|
|
188
|
+
text: 'Langkah 2: Menemukan Titik Tengah',
|
|
189
|
+
level: 3,
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
type: 'paragraph',
|
|
193
|
+
html: 'Kesalahan pemula nomor satu adalah mulai memasang baluster dari satu ujung ke ujung lainnya. Ini hampir selalu menghasilkan celah terakhir dengan ukuran yang aneh, merusak harmoni visual.<ul><li>Tandai <strong>titik tengah tepat</strong> dari pagar (L / 2).</li><li>Putuskan apakah Anda ingin ada <em>baluster</em> atau <em>celah</em> di tengah.</li><li>Jika Anda ingin baluster di tengah: tandai setengah lebar baluster di setiap sisi tanda tengah Anda.</li><li>Jika Anda ingin celah di tengah: tandai setengah jarak celah (g / 2) di setiap sisi.</li></ul>',
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: 'title',
|
|
197
|
+
text: 'Langkah 3: Membuat Pembatas (Spacers)',
|
|
198
|
+
level: 3,
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
type: 'paragraph',
|
|
202
|
+
html: 'Jangan gunakan pita pengukur untuk setiap baluster. Kesalahan manusia yang kumulatif akan membuat baluster terakhir menyimpang beberapa sentimeter. Cara profesional adalah memotong blok kayu (atau dua) dengan ukuran celah tepat (g) yang diberikan oleh kalkulator kami.',
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
type: 'paragraph',
|
|
206
|
+
html: 'Gunakan blok ini sebagai templat fisik. Pasang satu baluster, letakkan blok, pasang baluster berikutnya rapat dengan blok, dan kencangkan. Ini menjamin konsistensi milimeter.',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
type: 'title',
|
|
210
|
+
text: '4. Bahan dan Alat yang Dibutuhkan',
|
|
211
|
+
level: 3,
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
type: 'card',
|
|
215
|
+
icon: 'mdi:tools',
|
|
216
|
+
title: 'Peralatan untuk hasil akhir profesional',
|
|
217
|
+
html: '<ul><li>Pita pengukur presisi tinggi</li><li>Pensil tukang kayu</li><li>Waterpass (untuk vertikalitas)</li><li>Miter saw (untuk potongan bersih)</li><li>Bor dan sekrup kayu</li><li>Blok pembatas (dibuat khusus)</li></ul>',
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
type: 'title',
|
|
221
|
+
text: '5. Pertanyaan Teknis Tambahan',
|
|
222
|
+
level: 3,
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
type: 'card',
|
|
226
|
+
icon: 'mdi:help-circle-outline',
|
|
227
|
+
title: 'Apa yang terjadi jika celah terakhir tidak pas?',
|
|
228
|
+
html: '<p>Jika Anda telah menggunakan kalkulator kami, hal ini seharusnya tidak terjadi. Namun, di dunia nyata, kayu melengkung dan tiang tidak selalu lurus. Jika saat sampai di ujung Anda kelebihan atau kekurangan 1-2 mm, itu tidak akan terlihat. Jika Anda kekurangan 1 cm, periksa blok pembatas Anda, kemungkinan Anda telah kehilangan beberapa mm di setiap langkah.</p>',
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
type: 'card',
|
|
232
|
+
icon: 'mdi:shield-check-outline',
|
|
233
|
+
title: 'Bolehkah saya memasang baluster lebih renggang jika tidak ada anak anak?',
|
|
234
|
+
html: '<p>Secara hukum, tidak. Kode bangunan berlaku untuk rumah, bukan penghuni saat ini. Jika suatu hari Anda menjual rumah, pagar yang tidak sesuai peraturan akan menjadi masalah dalam inspeksi. Selain itu, pengunjung (keponakan, cucu) bisa dalam bahaya.</p>',
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
type: 'card',
|
|
238
|
+
icon: 'mdi:wrench-outline',
|
|
239
|
+
title: 'Kayu, Logam, atau Kaca?',
|
|
240
|
+
html: '<p>Kalkulator ini berfungsi untuk <strong>elemen vertikal berulang apa pun</strong>. Jika Anda menggunakan kabel baja horizontal, peraturannya berbeda (biasanya tidak boleh membiarkan orang memanjat, "efek tangga"). Untuk kaca, dianggap sebagai panel kontinu dan tidak berlaku jarak celah, melainkan ketahanan benturan.</p>',
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
type: 'card',
|
|
244
|
+
icon: 'mdi:format-quote-close',
|
|
245
|
+
title: 'Mies van der Rohe',
|
|
246
|
+
html: '<p><em>"Arsitektur adalah kemauan zaman yang diterjemahkan ke dalam ruang."</em></p><p>Kami berharap alat ini membantu Anda membangun ruang yang lebih aman dan indah. Ingatlah selalu untuk berkonsultasi dengan kode bangunan setempat di kota Anda, karena mungkin ada variasi khusus tentang tinggi minimum (biasanya 90-110 cm) atau beban gaya.</p>',
|
|
247
|
+
},
|
|
248
|
+
],
|
|
249
|
+
ui: {
|
|
250
|
+
sectionTitle: 'Dimensi',
|
|
251
|
+
sectionDesc: 'Masukkan ukuran pagar Anda',
|
|
252
|
+
labelRailLength: 'Panjang Total (L)',
|
|
253
|
+
labelBalusterWidth: 'Lebar Baluster (w)',
|
|
254
|
+
labelMaxGap: 'Celah Maksimum (g)',
|
|
255
|
+
blueprintTitle: 'Rencana Pemasangan',
|
|
256
|
+
blueprintRef: 'REF: BAL-001 // SKALA: AUTO',
|
|
257
|
+
labelRequired: 'Baluster Dibutuhkan',
|
|
258
|
+
labelExactGap: 'Celah Tepat',
|
|
259
|
+
labelOnCenter: 'Pusat ke Pusat',
|
|
260
|
+
labelTotalSpaces: 'Total Celah',
|
|
261
|
+
labelCoveredLength: 'Panjang Tertutup',
|
|
262
|
+
labelDisclaimer: '* Dimensi yang ditampilkan adalah perkiraan untuk visualisasi.',
|
|
263
|
+
},
|
|
264
|
+
};
|