@jjlmoya/utils-diy 1.20.0 → 1.22.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.
Files changed (31) hide show
  1. package/package.json +2 -2
  2. package/src/category/index.ts +14 -14
  3. package/src/entries.ts +4 -1
  4. package/src/tests/locale_completeness.test.ts +2 -2
  5. package/src/tests/tool_validation.test.ts +2 -2
  6. package/src/tool/drywallCalculator/bibliography.astro +7 -0
  7. package/src/tool/drywallCalculator/bibliography.ts +16 -0
  8. package/src/tool/drywallCalculator/component.astro +324 -0
  9. package/src/tool/drywallCalculator/drywall-calculator.css +426 -0
  10. package/src/tool/drywallCalculator/entry.ts +24 -0
  11. package/src/tool/drywallCalculator/i18n/de.ts +169 -0
  12. package/src/tool/drywallCalculator/i18n/en.ts +169 -0
  13. package/src/tool/drywallCalculator/i18n/es.ts +169 -0
  14. package/src/tool/drywallCalculator/i18n/fr.ts +169 -0
  15. package/src/tool/drywallCalculator/i18n/id.ts +169 -0
  16. package/src/tool/drywallCalculator/i18n/it.ts +169 -0
  17. package/src/tool/drywallCalculator/i18n/ja.ts +169 -0
  18. package/src/tool/drywallCalculator/i18n/ko.ts +169 -0
  19. package/src/tool/drywallCalculator/i18n/nl.ts +169 -0
  20. package/src/tool/drywallCalculator/i18n/pl.ts +169 -0
  21. package/src/tool/drywallCalculator/i18n/pt.ts +169 -0
  22. package/src/tool/drywallCalculator/i18n/ru.ts +169 -0
  23. package/src/tool/drywallCalculator/i18n/sv.ts +169 -0
  24. package/src/tool/drywallCalculator/i18n/tr.ts +169 -0
  25. package/src/tool/drywallCalculator/i18n/zh.ts +169 -0
  26. package/src/tool/drywallCalculator/index.ts +10 -0
  27. package/src/tool/drywallCalculator/logic.test.ts +39 -0
  28. package/src/tool/drywallCalculator/logic.ts +33 -0
  29. package/src/tool/drywallCalculator/seo.astro +14 -0
  30. package/src/tool/drywallCalculator/ui.ts +52 -0
  31. package/src/tools.ts +2 -1
@@ -0,0 +1,169 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { DrywallCalculatorUI } from '../ui';
4
+ import { drywallCalculatorBibliography } from '../bibliography';
5
+
6
+ const slug = 'gipsplaat-rekenmachine';
7
+ const title = 'Gipsplaat Berekenen: Wandprofielen, Platen en Voegmiddel';
8
+ const description = 'Professionele materiaalcoolculator voor gipsplaat scheidingswanden en voorzetwanden. Bereken nauwkeurig gipsplaten, C-staanders, U-liggers, schroeven, voegband en pasta.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Hoe bereken ik hoeveel gipsplaten ik nodig heb voor een scheidingswand?',
13
+ answer: 'Vermenigvuldig de wandlengte met de plafondhoogte om de wandoppervlakte te berekenen. Vermenigvuldig bij dubbelzijdige wanden met 2; bij dubbele beplating aan beide zijden met 4. Deel de totale oppervlakte door de nuttige oppervlakte van een plaat (2,4 m2 voor een plaat van 120x200 cm) en tel er 10% snijverlies bij op.',
14
+ },
15
+ {
16
+ question: 'Wanneer kies ik voor een staanderafstand van 40 cm of 60 cm?',
17
+ answer: 'Een standaard staanderafstand van 60 cm is geschikt voor normale droge binnenwanden tot 3,0 m hoogte. Stap over op 40 cm h.o.h. bij zwaar tegelwerk, vochtige ruimtes (badkamer, keuken), akoestische wanden of wandhoogtes boven 3,0 meter.',
18
+ },
19
+ {
20
+ question: 'Welk type gipsplaat moet ik kiezen per toepassing?',
21
+ answer: 'Gebruik Standaard Wit (Type A) voor woon- en slaapkamers; Hydro Groen (Type H1) voor badkamers en keukens; Knik/Kwaliteit Roze (Type F) voor brandwerende zones; en Akoestisch Blauw voor geluidsisolatie.',
22
+ },
23
+ {
24
+ question: 'Hoeveel gipsschroeven zijn er per gipsplaat nodig?',
25
+ answer: 'Reken op circa 30 gipsschroeven (3,5x25 mm) per plaat van 120x200 cm bij enkelzijdige beplating. Plaats schroeven om de 25 cm langs de randen en om de 30 cm op de tussenstaanders.',
26
+ },
27
+ {
28
+ question: 'Waarom is akoestisch band onder U-profielen verplicht?',
29
+ answer: 'Zelfklevend PE-schuimband ontkoppelt de stalen profielen mechanisch van vloer en plafond, waardoor contactgeluid en trillingen niet doorgegeven worden.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ { name: 'Wandafmetingen Invoeren', text: 'Vul de totale wandlengte en plafondhoogte in m of ft in.' },
35
+ { name: 'Frame en Beplating Configureren', text: 'Kies de staanderafstand (40 cm of 60 cm), enkele of dubbele beplating en 1 of 2 zijden.' },
36
+ { name: 'Materiaallijst en CAD-tekening Controleren', text: 'Bekijk de gedetailleerde stuklijst van profielen, schroeven, voegband en spachtelmasse.' },
37
+ ];
38
+
39
+ const faqSchema: WithContext<FAQPage> = {
40
+ '@context': 'https://schema.org',
41
+ '@type': 'FAQPage',
42
+ mainEntity: faqData.map((item) => ({
43
+ '@type': 'Question',
44
+ name: item.question,
45
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
46
+ })),
47
+ };
48
+
49
+ const howToSchema: WithContext<HowToThing> = {
50
+ '@context': 'https://schema.org',
51
+ '@type': 'HowTo',
52
+ name: title,
53
+ description,
54
+ step: howToData.map((step, i) => ({
55
+ '@type': 'HowToStep',
56
+ position: i + 1,
57
+ name: step.name,
58
+ text: step.text,
59
+ })),
60
+ };
61
+
62
+ const appSchema: WithContext<SoftwareApplication> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'SoftwareApplication',
65
+ name: title,
66
+ description,
67
+ applicationCategory: 'UtilityApplication',
68
+ operatingSystem: 'All',
69
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
70
+ inLanguage: 'nl',
71
+ };
72
+
73
+ export const content: ToolLocaleContent<DrywallCalculatorUI> = {
74
+ slug,
75
+ title,
76
+ description,
77
+ faqTitle: 'Veelgestelde Vragen',
78
+ faq: faqData,
79
+ bibliography: drywallCalculatorBibliography,
80
+ howTo: howToData,
81
+ schemas: [faqSchema, howToSchema, appSchema],
82
+ seo: [
83
+ {
84
+ type: 'title',
85
+ text: 'Technische Dimensenering van Metal Stud Scheidingswanden',
86
+ level: 2,
87
+ },
88
+ {
89
+ type: 'paragraph',
90
+ html: 'Het bouwen van lichte scheidingswanden met gipsplaten vereist het nauwkeurig berekenen van het stalen frame (C-staanders en U-liggers) en het verspringend aanbrengen van de plaatvoegen volgens de norm EN 520.',
91
+ },
92
+ {
93
+ type: 'title',
94
+ text: 'Regels voor Staanderafstand: 40 cm vs 60 cm h.o.h.',
95
+ level: 3,
96
+ },
97
+ {
98
+ type: 'paragraph',
99
+ html: 'De h.o.h.-afstand bepaalt de stijfheid van de wand. De <strong>standaard 60 cm afstand</strong> sluit aan op platen van 120 cm breed. De <strong>40 cm afstand</strong> is vereist voor zwaar tegelwerk en wanden hoger dan 3,00 meter.',
100
+ },
101
+ {
102
+ type: 'card',
103
+ icon: 'mdi:shield-check-outline',
104
+ title: 'Verspringende Voegen en Schroefpatroon',
105
+ html: '<p>Voorkom kruisnaden. Laat de plaatnaden minimaal 40 cm verspringen. Bevestig de platen met gipsschroeven 3,5x25 mm om de <strong>25 cm aan de randen</strong> en <strong>30 cm in het midden</strong>.</p>',
106
+ },
107
+ {
108
+ type: 'title',
109
+ text: 'Snijverlies en Voegpasta Verbruik',
110
+ level: 3,
111
+ },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'Reken altijd <strong>10% snijverlies</strong> voor profielen en platen. Het afvoegen kost ca. 0,8 kg voegpasta per vierkante meter wandopslag.',
115
+ },
116
+ ],
117
+ ui: {
118
+ unitSystemLabel: 'Maatsysteem',
119
+ unitMetric: 'Metrisch (m, cm, kg)',
120
+ unitImperial: 'Imperiaal (ft, in, lb)',
121
+
122
+ paramLengthLabel: 'Wandlengte',
123
+ paramHeightLabel: 'Plafondhoogte',
124
+ paramSpacingLabel: 'Staanderafstand (h.o.h.)',
125
+ paramSpacing40Metric: '40 cm (Zware Belasting)',
126
+ paramSpacing60Metric: '60 cm (Standaard)',
127
+ paramSpacing40Imperial: '16 in (Zware Belasting)',
128
+ paramSpacing60Imperial: '24 in (Standaard)',
129
+ paramLayersLabel: 'Aantal Plaatlagen',
130
+ paramSingleLayer: 'Enkele Beplating',
131
+ paramDoubleLayer: 'Dubbele Beplating',
132
+ paramSidesLabel: 'Zijdes Bekleed',
133
+ paramDoubleSided: '2 Zijden (Scheidingswand)',
134
+ paramSingleSided: '1 Zijde (Voorzetwand)',
135
+ paramBoardTypeLabel: 'Type Gipsplaat',
136
+ boardTypeStandard: 'Standaard (Type A)',
137
+ boardTypeMoisture: 'Hydro / Vochtbestendig (Type H1)',
138
+ boardTypeFire: 'Brandwerend (Type F)',
139
+ boardTypeAcoustic: 'Akoestisch (Type A)',
140
+ paramWasteLabel: 'Snijverlies Marges',
141
+
142
+ summaryWallArea: 'Netto Wandoppervlakte',
143
+ summaryBoardArea: 'Totale Pllaatoppervlakte',
144
+
145
+ resBoardsLabel: 'Gipsplaten',
146
+ resBoardsUnit: 'stuks',
147
+ resStudsLabel: 'C-Staanders (Verticaal)',
148
+ resStudsUnit: 'stuks',
149
+ resTracksLabel: 'U-Liggers (Horizontaal)',
150
+ resTracksUnit: 'lengtes',
151
+ resDrywallScrewsLabel: 'Gipsschroeven',
152
+ resDrywallScrewsUnit: 'stuks',
153
+ resFramingScrewsLabel: 'Profielschroeven',
154
+ resFramingScrewsUnit: 'stuks',
155
+ resJointTapeLabel: 'Voegband / Gaasband',
156
+ resJointTapeUnit: 'lengte',
157
+ resJointCompoundLabel: 'Voegpasta / Voegvuller',
158
+ resJointCompoundUnit: 'gewicht',
159
+ resAcousticBandLabel: 'Akoestisch Schuimband',
160
+ resAcousticBandUnit: 'lengte',
161
+
162
+ diagramWallTitle: 'CAD Wandvooraanzicht',
163
+ diagramStudLegend: 'C-Staanders',
164
+ diagramTrackLegend: 'U-Liggers',
165
+ diagramBoardLegend: 'Plaatverspringing',
166
+ diagramModeStructure: 'Metal Stud Frame',
167
+ diagramModeBoard: 'Gipsbeplating',
168
+ },
169
+ };
@@ -0,0 +1,169 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { DrywallCalculatorUI } from '../ui';
4
+ import { drywallCalculatorBibliography } from '../bibliography';
5
+
6
+ const slug = 'kalkulator-plyt-gipsowych';
7
+ const title = 'Kalkulator Plyt Gipsowych i Profilu Metalowego';
8
+ const description = 'Profesjonalny kalkulator zapotrzebowania na materialy do scianek dzialowych z plyt gipsowo-kartonowych (Nida/Rigips). Oblicz plyty, profile CW, UW, wkrety, tasme i mase szpachlowa.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Jak obliczyc ile plyt gipsowych potrzeba na scianke dzialowa?',
13
+ answer: 'Pomnoz dlugosc sciany przez wysokosc pomieszczenia. W przypadku scian dwustronnych pomnoz powierzchnie przez 2, a dla podwojnego oplytowania dwustronnie przez 4. Podziel powierzchnie przez metraz jednej plyty (2.88 m2 dla plyty 120x240 cm) i dodaj 10% zapasu na dociecia.',
14
+ },
15
+ {
16
+ question: 'Kiedy stosowac rozstaw profili CW co 40 cm a kiedy co 60 cm?',
17
+ answer: 'Standardowy rozstaw profili CW co 60 cm nadaje sie do zwyklych scian dzialowych do 3,0 m wysokosci. Rozstaw co 40 cm jest obowiazkowy pod ciezkie plytki ceramiczne, w pomieszczeniach wilgotnych (lazienka, kuchnia), przy scianach akustycznych oraz wysokosciach powyzej 3 metrow.',
18
+ },
19
+ {
20
+ question: 'Jaka plyte gipsowa wybrac do danego pomieszczenia?',
21
+ answer: 'Uzywaj Plyty Standardowej Bialej (Typ A) do pokoi i korytarzy; Plyty Wodoodpornej Zielonej (Typ H1) do lazienek i kuchni; Plyty Ochronnej Oglowej Rózowej (Typ F) do kominkow i kotlowni; oraz Plyty Akustycznej Niebieskiej do wyguszenia.',
22
+ },
23
+ {
24
+ question: 'Ile wkretow potrzeba na jedna plyte gipsowa?',
25
+ answer: 'Przyjmij ok. 30 wkretow do gipsu (3.5x25 mm) na jedna plyte 120x240 cm przy pojedynczym oplytowaniu. Wkrety rozmieszczaj co 25 cm na krawedziach i co 30 cm na profilach wewnetrznych.',
26
+ },
27
+ {
28
+ question: 'Dlaczego tasma akustyczna pod profile UW jest obowiazkowa?',
29
+ answer: 'Samoprzylepna tasma piankowa z polietylenu izoluje mechanicznie profile obwodowe UW od podlogi i stropu, zapobiegajac przenoszeniu drgan i dzwiekow uderzeniowych.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ { name: 'Wprowadz wymiary sciany', text: 'Podaj dlugosc i wysokosc sciany w metrach lub stopach.' },
35
+ { name: 'Skonfiguruj stelasz i oplytowanie', text: 'Wybierz rozstaw profili (40 cm lub 60 cm), liczbe warstw i stron oplytowania.' },
36
+ { name: 'Sprawdz zestawienie i schemat CAD', text: 'Przejrzyj liste materialow (profile, wkrety, tasmy, masa) oraz rysunek elewacyjny stelasza.' },
37
+ ];
38
+
39
+ const faqSchema: WithContext<FAQPage> = {
40
+ '@context': 'https://schema.org',
41
+ '@type': 'FAQPage',
42
+ mainEntity: faqData.map((item) => ({
43
+ '@type': 'Question',
44
+ name: item.question,
45
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
46
+ })),
47
+ };
48
+
49
+ const howToSchema: WithContext<HowToThing> = {
50
+ '@context': 'https://schema.org',
51
+ '@type': 'HowTo',
52
+ name: title,
53
+ description,
54
+ step: howToData.map((step, i) => ({
55
+ '@type': 'HowToStep',
56
+ position: i + 1,
57
+ name: step.name,
58
+ text: step.text,
59
+ })),
60
+ };
61
+
62
+ const appSchema: WithContext<SoftwareApplication> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'SoftwareApplication',
65
+ name: title,
66
+ description,
67
+ applicationCategory: 'UtilityApplication',
68
+ operatingSystem: 'All',
69
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
70
+ inLanguage: 'pl',
71
+ };
72
+
73
+ export const content: ToolLocaleContent<DrywallCalculatorUI> = {
74
+ slug,
75
+ title,
76
+ description,
77
+ faqTitle: 'Czesciej Zadawane Pytania',
78
+ faq: faqData,
79
+ bibliography: drywallCalculatorBibliography,
80
+ howTo: howToData,
81
+ schemas: [faqSchema, howToSchema, appSchema],
82
+ seo: [
83
+ {
84
+ type: 'title',
85
+ text: 'Zasady Wymiarowania Konstrukcji Scian Dzialowych G-K',
86
+ level: 2,
87
+ },
88
+ {
89
+ type: 'paragraph',
90
+ html: 'Budowa lekkich scian dzialowych w systemie suchej zabudowy wymaga dokladnego przeliczenia stelasza z profili stalowych (CW i UW) oraz mijankowego ukladu spoin zgodnie z norma PN-EN 520.',
91
+ },
92
+ {
93
+ type: 'title',
94
+ text: 'Rozstaw Profili CW: 40 cm vs 60 cm',
95
+ level: 3,
96
+ },
97
+ {
98
+ type: 'paragraph',
99
+ html: '<strong>Rozstaw 60 cm</strong> to standard pasujacy do plyt o szerokosci 120 cm. <strong>Rozstaw 40 cm</strong> jest wymagany pod glazure i przy wysokosciach scian powyzej 3,0 m.',
100
+ },
101
+ {
102
+ type: 'card',
103
+ icon: 'mdi:shield-check-outline',
104
+ title: 'Przesuniecie Spoin i Zasady Wkrecania',
105
+ html: '<p>Unikaj spoin krzyzowych. Przesuwaj krawedzie plyt o minimum 40 cm. Mocuj plyty wkretami 3.5x25 mm co <strong>25 cm na obwodzie</strong> i co <strong>30 cm w srodku</strong>.</p>',
106
+ },
107
+ {
108
+ type: 'title',
109
+ text: 'Wspolczynnik Odpadow i Zuzycie Masy Szpachlowej',
110
+ level: 3,
111
+ },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'Dolicz <strong>10% zapasu na straty</strong> na dociecia przy drzwiach i oknach. Szpachlowanie spoin zuzywa ok. 0.8 kg masy na metr kwadratowy oplytowania.',
115
+ },
116
+ ],
117
+ ui: {
118
+ unitSystemLabel: 'System Miar',
119
+ unitMetric: 'Metryczny (m, cm, kg)',
120
+ unitImperial: 'Imperialny (ft, in, lb)',
121
+
122
+ paramLengthLabel: 'Dlugosc Sciany',
123
+ paramHeightLabel: 'Wysokosc Sciany',
124
+ paramSpacingLabel: 'Rozstaw Profili CW',
125
+ paramSpacing40Metric: '40 cm (Duze Obciazenie)',
126
+ paramSpacing60Metric: '60 cm (Standard)',
127
+ paramSpacing40Imperial: '16 in (Duze Obciazenie)',
128
+ paramSpacing60Imperial: '24 in (Standard)',
129
+ paramLayersLabel: 'Warstwy Plyt',
130
+ paramSingleLayer: 'Pojedyncze Oplytowanie',
131
+ paramDoubleLayer: 'Podwojne Oplytowanie',
132
+ paramSidesLabel: 'Strony Oplytowania',
133
+ paramDoubleSided: '2 Strony (Scianka Dzialowa)',
134
+ paramSingleSided: '1 Strona (Przedscianka)',
135
+ paramBoardTypeLabel: 'Typ Plyty G-K',
136
+ boardTypeStandard: 'Standardowa (Typ A)',
137
+ boardTypeMoisture: 'Wodoodporna (Typ H1)',
138
+ boardTypeFire: 'Ogniochronna (Typ F)',
139
+ boardTypeAcoustic: 'Akustyczna (Typ A)',
140
+ paramWasteLabel: 'Zapas na Straty',
141
+
142
+ summaryWallArea: 'Powierzchnia Sciany Netto',
143
+ summaryBoardArea: 'Calkowita Powierzchnia Plyt',
144
+
145
+ resBoardsLabel: 'Plyty Gipsowe G-K',
146
+ resBoardsUnit: 'sztuki',
147
+ resStudsLabel: 'Profile CW (Pionowe)',
148
+ resStudsUnit: 'sztuki',
149
+ resTracksLabel: 'Profile UW (Poziome)',
150
+ resTracksUnit: 'sztuki',
151
+ resDrywallScrewsLabel: 'Wkrety do Plyt G-K',
152
+ resDrywallScrewsUnit: 'sztuki',
153
+ resFramingScrewsLabel: 'Wkrety do Profilu (Pchelki)',
154
+ resFramingScrewsUnit: 'sztuki',
155
+ resJointTapeLabel: 'Tasma do Spoin',
156
+ resJointTapeUnit: 'dlugosc',
157
+ resJointCompoundLabel: 'Masa Szpachlowa',
158
+ resJointCompoundUnit: 'waga',
159
+ resAcousticBandLabel: 'Tasma Guszaca Akustyczna',
160
+ resAcousticBandUnit: 'dlugosc',
161
+
162
+ diagramWallTitle: 'Rysunek Elewacyjny CAD',
163
+ diagramStudLegend: 'Profile CW',
164
+ diagramTrackLegend: 'Profile UW',
165
+ diagramBoardLegend: 'Mijankowy Uklad Spoin',
166
+ diagramModeStructure: 'Stelasz Metalowy',
167
+ diagramModeBoard: 'Uklad Plyt',
168
+ },
169
+ };
@@ -0,0 +1,169 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { DrywallCalculatorUI } from '../ui';
4
+ import { drywallCalculatorBibliography } from '../bibliography';
5
+
6
+ const slug = 'calculadora-gesso-acartonado';
7
+ const title = 'Calculadora de Gesso Acartonado (Drywall) e Estrutura';
8
+ const description = 'Calculadora profissional de quantitativo de materiais para paredes divisórias e forros de gesso acartonado (Drywall). Calcule placas, montantes C, guias U, parafusos, fita e massa.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Como calcular quantas placas de drywall preciso para uma parede divisória?',
13
+ answer: 'Multiplique a extensão da parede pela altura do pé-direito para obter a área total. Para paredes com revestimento em ambos os lados, multiplique por 2. Divida pela área útil de uma placa (2.88 m2 para placa 120x240 cm) e adicione 10% de margem de perda para cortes.',
14
+ },
15
+ {
16
+ question: 'Quando usar espaçamento de montantes a 40 cm ou 60 cm?',
17
+ answer: 'O espaçamento padrão de 60 cm entre eixos de montantes C é recomendado para paredes secas internas até 3,0 m de altura. Utilize 40 cm em paredes com revestimento cerâmico pesado, áreas úmidas (banheiros e cozinhas) ou alturas superiores a 3 metros.',
18
+ },
19
+ {
20
+ question: 'Qual placa de gesso acartonado escolher para cada ambiente?',
21
+ answer: 'Utilize Placa Standard Branca (ST) para quartos e salas; Placa Resistente à Umidade Verde (RU) para banheiros e cozinhas; Placa Resistente ao Fogo Rosa (RF) para áreas com exigência de estanqueidade ao fogo; e Placa Acústica Azul para isolamento sonoro.',
22
+ },
23
+ {
24
+ question: 'Quantos parafusos são necessários por placa de drywall?',
25
+ answer: 'Calcule cerca de 30 parafusos para drywall (3.5x25 mm) por placa de 120x240 cm em camada simples, mantendo espaçamento de 25 cm no perímetro e 30 cm nos montantes centrais.',
26
+ },
27
+ {
28
+ question: 'Por que a fita de isolamento acústico é obrigatória sob as guias?',
29
+ answer: 'A fita banda acústica em espuma de polietileno desolidariza as guias U da laje de piso e teto, interrompendo a transmissão de vibrações e ruídos de impacto.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ { name: 'Inserir Dimensões da Parede', text: 'Informe o comprimento e a altura do pé-direito em metros ou pés.' },
35
+ { name: 'Configurar Estrutura e Camadas', text: 'Escolha o espaçamento dos montantes (40 cm ou 60 cm) e o número de camadas de placas.' },
36
+ { name: 'Verificar Quantitativo e Elevação CAD', text: 'Confira a lista completa de materiais (montantes, guias, parafusos, fita, massa) e o desenho técnico.' },
37
+ ];
38
+
39
+ const faqSchema: WithContext<FAQPage> = {
40
+ '@context': 'https://schema.org',
41
+ '@type': 'FAQPage',
42
+ mainEntity: faqData.map((item) => ({
43
+ '@type': 'Question',
44
+ name: item.question,
45
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
46
+ })),
47
+ };
48
+
49
+ const howToSchema: WithContext<HowToThing> = {
50
+ '@context': 'https://schema.org',
51
+ '@type': 'HowTo',
52
+ name: title,
53
+ description,
54
+ step: howToData.map((step, i) => ({
55
+ '@type': 'HowToStep',
56
+ position: i + 1,
57
+ name: step.name,
58
+ text: step.text,
59
+ })),
60
+ };
61
+
62
+ const appSchema: WithContext<SoftwareApplication> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'SoftwareApplication',
65
+ name: title,
66
+ description,
67
+ applicationCategory: 'UtilityApplication',
68
+ operatingSystem: 'All',
69
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
70
+ inLanguage: 'pt',
71
+ };
72
+
73
+ export const content: ToolLocaleContent<DrywallCalculatorUI> = {
74
+ slug,
75
+ title,
76
+ description,
77
+ faqTitle: 'Perguntas Frequentes',
78
+ faq: faqData,
79
+ bibliography: drywallCalculatorBibliography,
80
+ howTo: howToData,
81
+ schemas: [faqSchema, howToSchema, appSchema],
82
+ seo: [
83
+ {
84
+ type: 'title',
85
+ text: 'Dimensionamento Técnico de Estruturas de Drywall',
86
+ level: 2,
87
+ },
88
+ {
89
+ type: 'paragraph',
90
+ html: 'A construção de vedações verticais leves em drywall exige o dimensionamento correto dos perfis metálicos em aço galvanizado (montantes C e guias U) e o amarramento das juntas segundo a norma EN 520.',
91
+ },
92
+ {
93
+ type: 'title',
94
+ text: 'Regras de Espaçamento dos Montantes: 40 cm vs 60 cm',
95
+ level: 3,
96
+ },
97
+ {
98
+ type: 'paragraph',
99
+ html: 'O <strong>espaçamento padrão de 60 cm</strong> atende placas de 120 cm de largura. O <strong>espaçamento de 40 cm</strong> é obrigatório sob revestimentos cerâmicos e alturas superiores a 3,00 metros.',
100
+ },
101
+ {
102
+ type: 'card',
103
+ icon: 'mdi:shield-check-outline',
104
+ title: 'Amarramento de Juntas e Padrão de Fixação',
105
+ html: '<p>Evite juntas cruzadas. Mantenha desencontro mínimo de 40 cm entre bordas. Fixe com parafusos 3.5x25 mm espaçados em <strong>25 cm nas bordas</strong> e <strong>30 cm nos montantes internos</strong>.</p>',
106
+ },
107
+ {
108
+ type: 'title',
109
+ text: 'Margem de Perda e Consumo de Massa de Rejunte',
110
+ level: 3,
111
+ },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'Considere <strong>10% de margem de perda</strong> para cortes em esquadrias. O tratamento de juntas consome cerca de 0,8 kg de massa por metro quadrado de superfície.',
115
+ },
116
+ ],
117
+ ui: {
118
+ unitSystemLabel: 'Sistema de Medição',
119
+ unitMetric: 'Métrico (m, cm, kg)',
120
+ unitImperial: 'Imperial (ft, in, lb)',
121
+
122
+ paramLengthLabel: 'Comprimento da Parede',
123
+ paramHeightLabel: 'Altura do Pé-Direito',
124
+ paramSpacingLabel: 'Espaçamento dos Montantes',
125
+ paramSpacing40Metric: '40 cm (Carga Alta)',
126
+ paramSpacing60Metric: '60 cm (Padrão)',
127
+ paramSpacing40Imperial: '16 in (Carga Alta)',
128
+ paramSpacing60Imperial: '24 in (Padrão)',
129
+ paramLayersLabel: 'Camadas de Placas',
130
+ paramSingleLayer: 'Camada Simples',
131
+ paramDoubleLayer: 'Camada Dupla',
132
+ paramSidesLabel: 'Faces Revestidas',
133
+ paramDoubleSided: '2 Faces (Divisória)',
134
+ paramSingleSided: '1 Face (Revestimento)',
135
+ paramBoardTypeLabel: 'Tipo de Placa Drywall',
136
+ boardTypeStandard: 'Standard ST (Tipo A)',
137
+ boardTypeMoisture: 'Resistente à Umidade RU (Tipo H1)',
138
+ boardTypeFire: 'Resistente ao Fogo RF (Tipo F)',
139
+ boardTypeAcoustic: 'Acústica (Tipo A)',
140
+ paramWasteLabel: 'Margem de Perda',
141
+
142
+ summaryWallArea: 'Área Líquida da Parede',
143
+ summaryBoardArea: 'Área Total de Placas',
144
+
145
+ resBoardsLabel: 'Placas de Drywall',
146
+ resBoardsUnit: 'unidades',
147
+ resStudsLabel: 'Montantes Verticais C',
148
+ resStudsUnit: 'peças',
149
+ resTracksLabel: 'Guias Horizontais U',
150
+ resTracksUnit: 'barras',
151
+ resDrywallScrewsLabel: 'Parafusos para Drywall',
152
+ resDrywallScrewsUnit: 'unidades',
153
+ resFramingScrewsLabel: 'Parafusos Metal-Metal',
154
+ resFramingScrewsUnit: 'unidades',
155
+ resJointTapeLabel: 'Fita de Juntas',
156
+ resJointTapeUnit: 'comprimento',
157
+ resJointCompoundLabel: 'Massa para Rejunte',
158
+ resJointCompoundUnit: 'peso',
159
+ resAcousticBandLabel: 'Fita Banda Acústica',
160
+ resAcousticBandUnit: 'comprimento',
161
+
162
+ diagramWallTitle: 'Elevação Técnica CAD',
163
+ diagramStudLegend: 'Montantes C',
164
+ diagramTrackLegend: 'Guias U',
165
+ diagramBoardLegend: 'Desencontro de Placas',
166
+ diagramModeStructure: 'Estrutura Metálica',
167
+ diagramModeBoard: 'Placas Fixadas',
168
+ },
169
+ };
@@ -0,0 +1,169 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { DrywallCalculatorUI } from '../ui';
4
+ import { drywallCalculatorBibliography } from '../bibliography';
5
+
6
+ const slug = 'kalkulyator-gipsokartona';
7
+ const title = 'Калькулятор Гипсокартона и Металлического Профиля';
8
+ const description = 'Профессиональный калькулятор материалов для перегородок и облицовок из гипсокартона (ГКЛ). Точный расчет листов ГКЛ, стоечных профилей ПС (C), направляющих ПН (U), саморезов, ленты и шпаклевки.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Как рассчитать количество листов гипсокартона для перегородки?',
13
+ answer: 'Умножьте длину перегородки на высоту потолка, чтобы получить площадь стены. Для двухсторонней перегородки умножьте площадь на 2, а при двухслойной обшивке с двух сторон - на 4. Разделите общую площадь на полезную площадь одного листа (2.88 м2 для листа 120х240 см) и добавьте 10% на обрезки.',
14
+ },
15
+ {
16
+ question: 'Когда применять шаг стоек 40 см или 60 см?',
17
+ answer: 'Стандартный шаг стоек 60 см подходит для обычных внутренних сухих перегородок высотой до 3.0 м. Переходите на шаг 40 см при укладке тяжелой керамической плитки, во влажных помещениях (ванная, кухня), для звукоизолирующих стен или при высоте потолка более 3.0 метров.',
18
+ },
19
+ {
20
+ question: 'Какой тип гипсокартонного листа выбрать для помещения?',
21
+ answer: 'Используйте Обычный ГКЛ Серый (Тип А) для жилых комнат; Влагостойкий ГКЛВ Зеленый (Тип H1) для санузлов и кухонь; Огнестойкий ГКЛО Розовый (Тип F) для дымоходов и котельных; и Акустический ГКЛ Синий высокой плотности для звукоизоляции.',
22
+ },
23
+ {
24
+ question: 'Сколько саморезов требуется на один лист гипсокартона?',
25
+ answer: 'Рассчитывайте около 30 саморезов ГМ (3.5х25 мм) на один лист 120х240 см при однослойной обшивке. Шаг крепления составляет 25 см по периметру и 30 см по центральным стойкам.',
26
+ },
27
+ {
28
+ question: 'Зачем нужна уплотнительная демпферная лента под направляющие профили?',
29
+ answer: 'Самоклеящаяся пенополиэтиленовая лента виброизолирует направляющие профили ПН от пола и перекрытий, предотвращая передачу структурного шума.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ { name: 'Ввести размеры стены', text: 'Укажите длину перегородки и высоту потолка в метрах или футах.' },
35
+ { name: 'Настроить шаг стоек и слои обшивки', text: 'Выберите шаг стоек (40 см или 60 см), количество слоев и сторон обшивки.' },
36
+ { name: 'Проверить спецификацию и чертеж CAD', text: 'Ознакомьтесь с расчетом профилей, саморезов, шпаклевки и графической схемой каркаса.' },
37
+ ];
38
+
39
+ const faqSchema: WithContext<FAQPage> = {
40
+ '@context': 'https://schema.org',
41
+ '@type': 'FAQPage',
42
+ mainEntity: faqData.map((item) => ({
43
+ '@type': 'Question',
44
+ name: item.question,
45
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
46
+ })),
47
+ };
48
+
49
+ const howToSchema: WithContext<HowToThing> = {
50
+ '@context': 'https://schema.org',
51
+ '@type': 'HowTo',
52
+ name: title,
53
+ description,
54
+ step: howToData.map((step, i) => ({
55
+ '@type': 'HowToStep',
56
+ position: i + 1,
57
+ name: step.name,
58
+ text: step.text,
59
+ })),
60
+ };
61
+
62
+ const appSchema: WithContext<SoftwareApplication> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'SoftwareApplication',
65
+ name: title,
66
+ description,
67
+ applicationCategory: 'UtilityApplication',
68
+ operatingSystem: 'All',
69
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
70
+ inLanguage: 'ru',
71
+ };
72
+
73
+ export const content: ToolLocaleContent<DrywallCalculatorUI> = {
74
+ slug,
75
+ title,
76
+ description,
77
+ faqTitle: 'Часто Задаваемые Вопросы',
78
+ faq: faqData,
79
+ bibliography: drywallCalculatorBibliography,
80
+ howTo: howToData,
81
+ schemas: [faqSchema, howToSchema, appSchema],
82
+ seo: [
83
+ {
84
+ type: 'title',
85
+ text: 'Принципы Расчета Металлокаркасных Гипсокартонных Перегородок',
86
+ level: 2,
87
+ },
88
+ {
89
+ type: 'paragraph',
90
+ html: 'Монтаж легких гипсокартонных перегородок требует точного расчета оцинкованных профилей (стоечных ПС и направляющих ПН) и разбежки стыков листов по ГОСТ и СП 163.1325800.',
91
+ },
92
+ {
93
+ type: 'title',
94
+ text: 'Правила Шага Профилей: 40 см против 60 см',
95
+ level: 3,
96
+ },
97
+ {
98
+ type: 'paragraph',
99
+ html: '<strong>Стандартный шаг 60 см</strong> соответствует ширине листов 120 см. <strong>Шаг 40 см</strong> обязателен при облицовке тяжелой плиткой и высотах стен более 3.0 метров.',
100
+ },
101
+ {
102
+ type: 'card',
103
+ icon: 'mdi:shield-check-outline',
104
+ title: 'Разбежка Стыков и Схема Крепления',
105
+ html: '<p>Избегайте крестообразных стыков. Смещайте торцевые швы минимум на 40 см. Закрепляйте листы саморезами 3.5х25 мм с шагом <strong>25 см по краям</strong> и <strong>30 см по центру</strong>.</p>',
106
+ },
107
+ {
108
+ type: 'title',
109
+ text: 'Запас на Захоронение и Расход Шпаклевки',
110
+ level: 3,
111
+ },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'Всегда учитывайте <strong>10% запас на обрезку</strong> вокруг проемов. Заделка швов требует около 0.8 кг шпаклевочной смеси на квадратный метр.',
115
+ },
116
+ ],
117
+ ui: {
118
+ unitSystemLabel: 'Система Измерения',
119
+ unitMetric: 'Метрическая (м, см, кг)',
120
+ unitImperial: 'Имперская (ft, in, lb)',
121
+
122
+ paramLengthLabel: 'Длина Перегородки',
123
+ paramHeightLabel: 'Высота Потолка',
124
+ paramSpacingLabel: 'Шаг Стоечных Профилей',
125
+ paramSpacing40Metric: '40 см (Высокая Нагрузка)',
126
+ paramSpacing60Metric: '60 см (Стандарт)',
127
+ paramSpacing40Imperial: '16 in (Высокая Нагрузка)',
128
+ paramSpacing60Imperial: '24 in (Стандарт)',
129
+ paramLayersLabel: 'Слои Обшивки',
130
+ paramSingleLayer: 'Однослойная Обшивка',
131
+ paramDoubleLayer: 'Двухслойная Обшивка',
132
+ paramSidesLabel: 'Стороны Обшивки',
133
+ paramDoubleSided: '2 Стороны (Перегородка)',
134
+ paramSingleSided: '1 Сторона (Облицовка)',
135
+ paramBoardTypeLabel: 'Тип Гипсокартона',
136
+ boardTypeStandard: 'Стандартный ГКЛ (Тип А)',
137
+ boardTypeMoisture: 'Влагостойкий ГКЛВ (Тип H1)',
138
+ boardTypeFire: 'Огнестойкий ГКЛО (Тип F)',
139
+ boardTypeAcoustic: 'Акустический (Тип А)',
140
+ paramWasteLabel: 'Запас на Обрезки',
141
+
142
+ summaryWallArea: 'Чистая Площадь Стены',
143
+ summaryBoardArea: 'Общая Площадь Листов',
144
+
145
+ resBoardsLabel: 'Листы Гипсокартона',
146
+ resBoardsUnit: 'штук',
147
+ resStudsLabel: 'Стоечные Профили ПС (C)',
148
+ resStudsUnit: 'штук',
149
+ resTracksLabel: 'Направляющие Профили ПН (U)',
150
+ resTracksUnit: 'штук',
151
+ resDrywallScrewsLabel: 'Саморезы по ГКЛ',
152
+ resDrywallScrewsUnit: 'штук',
153
+ resFramingScrewsLabel: 'Саморезы по Металлу (LN)',
154
+ resFramingScrewsUnit: 'штук',
155
+ resJointTapeLabel: 'Армирующая Лента',
156
+ resJointTapeUnit: 'длина',
157
+ resJointCompoundLabel: 'Шпаклевка для Швов',
158
+ resJointCompoundUnit: 'вес',
159
+ resAcousticBandLabel: 'Уплотнительная Демпферная Лента',
160
+ resAcousticBandUnit: 'длина',
161
+
162
+ diagramWallTitle: 'Чертеж Элевации CAD',
163
+ diagramStudLegend: 'Стоечные Профили ПС',
164
+ diagramTrackLegend: 'Направляющие ПН',
165
+ diagramBoardLegend: 'Разбежка Стыков Листов',
166
+ diagramModeStructure: 'Металлокаркас',
167
+ diagramModeBoard: 'Схема Обшивки',
168
+ },
169
+ };