@jjlmoya/utils-nature 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 +110 -0
- package/src/category/i18n/id.ts +110 -0
- package/src/category/i18n/it.ts +110 -0
- package/src/category/i18n/ja.ts +110 -0
- package/src/category/i18n/ko.ts +110 -0
- package/src/category/i18n/nl.ts +110 -0
- package/src/category/i18n/pl.ts +110 -0
- package/src/category/i18n/pt.ts +110 -0
- package/src/category/i18n/ru.ts +110 -0
- package/src/category/i18n/sv.ts +110 -0
- package/src/category/i18n/tr.ts +110 -0
- package/src/category/i18n/zh.ts +110 -0
- package/src/category/index.ts +13 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/tool_validation.test.ts +1 -2
- package/src/tool/cricketThermometer/i18n/de.ts +181 -0
- package/src/tool/cricketThermometer/i18n/id.ts +181 -0
- package/src/tool/cricketThermometer/i18n/it.ts +181 -0
- package/src/tool/cricketThermometer/i18n/ja.ts +181 -0
- package/src/tool/cricketThermometer/i18n/ko.ts +181 -0
- package/src/tool/cricketThermometer/i18n/nl.ts +181 -0
- package/src/tool/cricketThermometer/i18n/pl.ts +181 -0
- package/src/tool/cricketThermometer/i18n/pt.ts +181 -0
- package/src/tool/cricketThermometer/i18n/ru.ts +181 -0
- package/src/tool/cricketThermometer/i18n/sv.ts +181 -0
- package/src/tool/cricketThermometer/i18n/tr.ts +181 -0
- package/src/tool/cricketThermometer/i18n/zh.ts +181 -0
- package/src/tool/cricketThermometer/index.ts +15 -7
- package/src/tool/digitalCarbon/i18n/de.ts +235 -0
- package/src/tool/digitalCarbon/i18n/id.ts +235 -0
- package/src/tool/digitalCarbon/i18n/it.ts +235 -0
- package/src/tool/digitalCarbon/i18n/ja.ts +235 -0
- package/src/tool/digitalCarbon/i18n/ko.ts +235 -0
- package/src/tool/digitalCarbon/i18n/nl.ts +235 -0
- package/src/tool/digitalCarbon/i18n/pl.ts +235 -0
- package/src/tool/digitalCarbon/i18n/pt.ts +235 -0
- package/src/tool/digitalCarbon/i18n/ru.ts +235 -0
- package/src/tool/digitalCarbon/i18n/sv.ts +235 -0
- package/src/tool/digitalCarbon/i18n/tr.ts +235 -0
- package/src/tool/digitalCarbon/i18n/zh.ts +235 -0
- package/src/tool/digitalCarbon/index.ts +15 -7
- package/src/tool/rainHarvester/i18n/de.ts +185 -0
- package/src/tool/rainHarvester/i18n/id.ts +185 -0
- package/src/tool/rainHarvester/i18n/it.ts +185 -0
- package/src/tool/rainHarvester/i18n/ja.ts +185 -0
- package/src/tool/rainHarvester/i18n/ko.ts +185 -0
- package/src/tool/rainHarvester/i18n/nl.ts +185 -0
- package/src/tool/rainHarvester/i18n/pl.ts +185 -0
- package/src/tool/rainHarvester/i18n/pt.ts +185 -0
- package/src/tool/rainHarvester/i18n/ru.ts +185 -0
- package/src/tool/rainHarvester/i18n/sv.ts +185 -0
- package/src/tool/rainHarvester/i18n/tr.ts +185 -0
- package/src/tool/rainHarvester/i18n/zh.ts +185 -0
- package/src/tool/rainHarvester/index.ts +15 -7
- package/src/tool/seedCalculator/i18n/de.ts +213 -0
- package/src/tool/seedCalculator/i18n/id.ts +213 -0
- package/src/tool/seedCalculator/i18n/it.ts +213 -0
- package/src/tool/seedCalculator/i18n/ja.ts +213 -0
- package/src/tool/seedCalculator/i18n/ko.ts +213 -0
- package/src/tool/seedCalculator/i18n/nl.ts +213 -0
- package/src/tool/seedCalculator/i18n/pl.ts +213 -0
- package/src/tool/seedCalculator/i18n/pt.ts +213 -0
- package/src/tool/seedCalculator/i18n/ru.ts +213 -0
- package/src/tool/seedCalculator/i18n/sv.ts +213 -0
- package/src/tool/seedCalculator/i18n/tr.ts +213 -0
- package/src/tool/seedCalculator/i18n/zh.ts +213 -0
- package/src/tool/seedCalculator/index.ts +15 -7
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { RainHarvesterLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'regenwater-opvang-calculator';
|
|
5
|
+
const title = 'Regenwater opvang calculator';
|
|
6
|
+
const description = 'Bereken hoeveel regenwater u van uw dak kunt opvangen en bepaal de grootte van uw opslagtank.';
|
|
7
|
+
|
|
8
|
+
const faqData = [
|
|
9
|
+
{
|
|
10
|
+
question: 'Hoeveel water kan ik daadwerkelijk van mijn dak opvangen?',
|
|
11
|
+
answer: 'De algemene regel is dat u voor elke vierkante meter dak en elke millimeter regen ongeveer 1 liter water kunt opvangen. Er zijn echter verliezen door verdamping en filtratie, aangepast met de "afvloeiingscoëfficiënt".',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: 'Wat is de afvloeiingscoëfficiënt?',
|
|
15
|
+
answer: 'Het is een percentage dat aangeeft hoeveel water er verloren gaat, afhankelijk van het dakmateriaal. Een metalen of pannendak is zeer efficiënt (0,85-0,95), terwijl een grind- of gronddak veel minder efficiënt is (0,1-0,3).',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Hoe bepaal ik de grootte van de opslagtank?',
|
|
19
|
+
answer: 'U moet het maximaal verwachte regenvolume in een maand berekenen en dit afzetten tegen uw geschatte maandelijkse verbruik. Een te kleine tank zal overstromen bij stormen, en een te grote tank zal onnodig duur zijn.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Is het veilig om opgevangen regenwater te drinken?',
|
|
23
|
+
answer: 'Niet direct. Water voert stof, vogelpoep en deeltjes uit de lucht mee. Voor menselijke consumptie moet het door sedimentfilters, actieve kool en desinfectie met UV-licht of chloor gaan.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const howToData = [
|
|
28
|
+
{
|
|
29
|
+
name: 'Meet het horizontale oppervlak',
|
|
30
|
+
text: 'Meet de lengte en breedte van uw dakbasis (niet het schuine oppervlak, maar het gebied dat schaduw werpt op de grond).',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'Controleer de lokale neerslag',
|
|
34
|
+
text: 'Zoek bij de nationale meteorologische dienst naar de gemiddelde jaarlijkse of maandelijkse neerslag in uw regio in millimeters (mm).',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'Pas materiaalefficiëntie toe',
|
|
38
|
+
text: 'Selecteer uw dakmateriaal in onze calculator om het water af te trekken dat verloren gaat door absorptie of hitte.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'Bereken het benodigde volume',
|
|
42
|
+
text: 'Gebruik het jaarlijkse resultaat in liters om een tank te kiezen die ten minste 20-30% van de totale oogst kan opslaan voor droge periodes.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
47
|
+
'@context': 'https://schema.org',
|
|
48
|
+
'@type': 'FAQPage',
|
|
49
|
+
mainEntity: faqData.map((item) => ({
|
|
50
|
+
'@type': 'Question',
|
|
51
|
+
name: item.question,
|
|
52
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
53
|
+
})),
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
57
|
+
'@context': 'https://schema.org',
|
|
58
|
+
'@type': 'HowTo',
|
|
59
|
+
name: title,
|
|
60
|
+
description,
|
|
61
|
+
step: howToData.map((step, i) => ({
|
|
62
|
+
'@type': 'HowToStep',
|
|
63
|
+
position: i + 1,
|
|
64
|
+
name: step.name,
|
|
65
|
+
text: step.text,
|
|
66
|
+
})),
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
70
|
+
'@context': 'https://schema.org',
|
|
71
|
+
'@type': 'SoftwareApplication',
|
|
72
|
+
name: title,
|
|
73
|
+
description,
|
|
74
|
+
applicationCategory: 'UtilityApplication',
|
|
75
|
+
operatingSystem: 'All',
|
|
76
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
77
|
+
inLanguage: 'nl',
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export const content: RainHarvesterLocaleContent = {
|
|
81
|
+
slug,
|
|
82
|
+
title,
|
|
83
|
+
description,
|
|
84
|
+
ui: {
|
|
85
|
+
headInputs: 'Dakinstellingen',
|
|
86
|
+
headResults: 'Opvangpotentieel',
|
|
87
|
+
labelArea: 'Dakoppervlak',
|
|
88
|
+
labelRainfall: 'Jaarlijkse neerslag',
|
|
89
|
+
labelMaterial: 'Dakmateriaal',
|
|
90
|
+
unitM2: 'm²',
|
|
91
|
+
unitMm: 'mm',
|
|
92
|
+
unitLiters: 'Liter',
|
|
93
|
+
helpRainfall: 'Weet u het niet? Zoek op Google naar "gemiddelde jaarlijkse neerslag [uw stad]".',
|
|
94
|
+
efficiencyTitle: 'Efficiëntiefactor',
|
|
95
|
+
efficiencyNote: 'Er wordt een verlies van 10% toegepast voor filters en verdamping.',
|
|
96
|
+
resultTitle: 'Jaarlijks opvangpotentieel',
|
|
97
|
+
equivalenciesTitle: 'Praktische equivalenten',
|
|
98
|
+
labelFlushes: 'Doortrekken toilet',
|
|
99
|
+
labelShowers: 'Douchebeurten (10 min)',
|
|
100
|
+
labelGarden: 'Tuin besproeien',
|
|
101
|
+
gardenArea: '(50m²)',
|
|
102
|
+
materialMetal: 'Metaal / Geglazuurde pannen',
|
|
103
|
+
materialClay: 'Dakkiezel / Klei',
|
|
104
|
+
materialConcrete: 'Beton / Asfalt',
|
|
105
|
+
materialGravel: 'Grind / Groendak',
|
|
106
|
+
},
|
|
107
|
+
seo: [
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Regenwater opvangen: autonomie en duurzaamheid',
|
|
111
|
+
level: 2,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'De meeste huiseigenaren zijn zich niet bewust van het potentieel van hun eigen dak. Een standaard dak kan elk jaar duizenden liters gratis water opvangen. Deze tool kwantificeert dat potentieel, waardoor u precies kunt berekenen hoeveel water u kunt "oogsten" en de ideale tankgrootte voor opslag kunt bepalen.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Berekeningslogica',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'De basisformule voor regenwateropvang is eenvoudig maar krachtig:',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'paragraph',
|
|
128
|
+
html: '<code style="display:block;padding:1rem;background:var(--bg-alt);border-radius:0.5rem;margin:1rem 0;font-family:monospace;">Volume = Oppervlak × Neerslag × Afvloeiingscoëfficiënt × Filterefficiëntie</code>',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'list',
|
|
132
|
+
items: [
|
|
133
|
+
'<strong>Oppervlak:</strong> Uw dakvoetafdruk (geprojecteerde lengte × breedte).',
|
|
134
|
+
'<strong>Neerslag:</strong> Vallende regen in millimeters.',
|
|
135
|
+
'<strong>Coëfficiënt:</strong> Hoeveel water uw dak verliest (bijv. absorptie).',
|
|
136
|
+
'<strong>Efficiëntie:</strong> Verliezen in filters vóór de tank (~10%).',
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'title',
|
|
141
|
+
text: 'Waarom regenwater opvangen?',
|
|
142
|
+
level: 3,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'list',
|
|
146
|
+
items: [
|
|
147
|
+
'<strong>Besparing:</strong> Verlaag uw waterrekening aanzienlijk.',
|
|
148
|
+
'<strong>Tuinieren:</strong> Planten houden van water zonder chloor of kalk.',
|
|
149
|
+
'<strong>Veerkracht:</strong> Houd een noodreserve aan voor het geval de watertoevoer wordt onderbroken.',
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'title',
|
|
154
|
+
text: 'Tankgrootte bepalen',
|
|
155
|
+
level: 2,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'paragraph',
|
|
159
|
+
html: 'De meest gemaakte fout is het kopen van een tank die alleen is gebaseerd op het budget. Als hij te klein is, verspilt u duizenden liters door overloop. Als hij te groot is, geeft u onnodig geld uit. Een algemene regel is om capaciteit te hebben om <strong>3 maanden</strong> aan gemiddelde neerslag in uw regio op te slaan, zodat u drogere periodes kunt overbruggen.',
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
faqTitle: 'Veelgestelde vragen',
|
|
163
|
+
faq: faqData,
|
|
164
|
+
howTo: howToData,
|
|
165
|
+
bibliographyTitle: 'Wetenschappelijke bronnen',
|
|
166
|
+
bibliography: [
|
|
167
|
+
{
|
|
168
|
+
name: 'FAO - Rainwater Harvesting and Storage',
|
|
169
|
+
url: 'https://www.fao.org/3/a1348s/a1348s.pdf',
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
name: 'Texas A&M AgriLife Extension - Rainwater Harvesting',
|
|
173
|
+
url: 'https://rainwaterharvesting.tamu.edu/',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: 'Brad Lancaster - Rainwater Harvesting for Drylands',
|
|
177
|
+
url: 'https://www.harvestingrainwater.com/',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: 'European Environment Agency - Water Resources',
|
|
181
|
+
url: 'https://www.eea.europa.eu/en/topics/in-depth/water',
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
185
|
+
};
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { RainHarvesterLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'kalkulator-wody-deszczowej';
|
|
5
|
+
const title = 'Kalkulator Pozyskiwania Wody Deszczowej';
|
|
6
|
+
const description = 'Oblicz, ile wody deszczowej możesz zebrać ze swojego dachu i dobierz odpowiedni zbiornik retencyjny.';
|
|
7
|
+
|
|
8
|
+
const faqData = [
|
|
9
|
+
{
|
|
10
|
+
question: 'Ile wody mogę faktycznie zebrać ze swojego dachu?',
|
|
11
|
+
answer: 'Ogólna zasada mówi, że z każdego metra kwadratowego dachu i na każdy milimetr deszczu można zebrać około 1 litra wody. Istnieją jednak straty wynikające z parowania i filtracji, korygowane przez „współczynnik spływu”.',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: 'Co to jest współczynnik spływu?',
|
|
15
|
+
answer: 'Jest to wartość procentowa wskazująca, ile wody tracimy w zależności od materiału, z którego wykonany jest dach. Dach metalowy lub ceramiczny jest bardzo wydajny (0,85-0,95), podczas gdy dach żwirowy lub zielony jest znacznie mniej wydajny (0,1-0,3).',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Jak dobrać wielkość zbiornika?',
|
|
19
|
+
answer: 'Należy obliczyć maksymalną spodziewaną objętość opadów w miesiącu i zestawić ją z szacowanym miesięcznym zużyciem. Zbyt mały zbiornik będzie przelewał się podczas ulew, a zbyt duży będzie niepotrzebnie kosztowny.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'Czy zebrana woda deszczowa jest zdatna do picia?',
|
|
23
|
+
answer: 'Nie bezpośrednio. Woda przenosi kurz, odchody ptaków i pyły z powietrza. Aby nadawała się do spożycia przez ludzi, musi przejść przez filtry osadowe, węgiel aktywny oraz dezynfekcję światłem UV lub chlorem.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const howToData = [
|
|
28
|
+
{
|
|
29
|
+
name: 'Zmierz powierzchnię w rzucie',
|
|
30
|
+
text: 'Zmierz długość i szerokość podstawy dachu (nie powierzchnię skośną, lecz obszar, który rzuca cień na ziemię).',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'Sprawdź lokalne opady',
|
|
34
|
+
text: 'Znajdź w serwisie meteorologicznym średnie roczne lub miesięczne opady w Twojej okolicy podane w milimetrach (mm).',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'Uwzględnij wydajność materiału',
|
|
38
|
+
text: 'Wybierz materiał dachu w naszym kalkulatorze, aby odliczyć wodę, która zostanie utracona przez wchłanianie lub parowanie.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'Oblicz wymaganą objętość',
|
|
42
|
+
text: 'Użyj wyniku rocznego w litrach, aby dobrać zbiornik, który pomieści co najmniej 20-30% całkowitego rocznego uzysku na okresy suszy.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
47
|
+
'@context': 'https://schema.org',
|
|
48
|
+
'@type': 'FAQPage',
|
|
49
|
+
mainEntity: faqData.map((item) => ({
|
|
50
|
+
'@type': 'Question',
|
|
51
|
+
name: item.question,
|
|
52
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
53
|
+
})),
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
57
|
+
'@context': 'https://schema.org',
|
|
58
|
+
'@type': 'HowTo',
|
|
59
|
+
name: title,
|
|
60
|
+
description,
|
|
61
|
+
step: howToData.map((step, i) => ({
|
|
62
|
+
'@type': 'HowToStep',
|
|
63
|
+
position: i + 1,
|
|
64
|
+
name: step.name,
|
|
65
|
+
text: step.text,
|
|
66
|
+
})),
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
70
|
+
'@context': 'https://schema.org',
|
|
71
|
+
'@type': 'SoftwareApplication',
|
|
72
|
+
name: title,
|
|
73
|
+
description,
|
|
74
|
+
applicationCategory: 'UtilityApplication',
|
|
75
|
+
operatingSystem: 'All',
|
|
76
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
77
|
+
inLanguage: 'pl',
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export const content: RainHarvesterLocaleContent = {
|
|
81
|
+
slug,
|
|
82
|
+
title,
|
|
83
|
+
description,
|
|
84
|
+
ui: {
|
|
85
|
+
headInputs: 'Ustawienia Dachu',
|
|
86
|
+
headResults: 'Potencjał Uzysku',
|
|
87
|
+
labelArea: 'Powierzchnia Dachu',
|
|
88
|
+
labelRainfall: 'Roczne Opady',
|
|
89
|
+
labelMaterial: 'Materiał Dachu',
|
|
90
|
+
unitM2: 'm²',
|
|
91
|
+
unitMm: 'mm',
|
|
92
|
+
unitLiters: 'Litry',
|
|
93
|
+
helpRainfall: 'Nie wiesz? Wyszukaj w Google „średnie roczne opady [Twoje miasto]”.',
|
|
94
|
+
efficiencyTitle: 'Współczynnik Wydajności',
|
|
95
|
+
efficiencyNote: 'Uwzględniono 10% strat na filtry i parowanie.',
|
|
96
|
+
resultTitle: 'Roczny Potencjał Uzysku',
|
|
97
|
+
equivalenciesTitle: 'Praktyczne Przeliczniki',
|
|
98
|
+
labelFlushes: 'Spłukania Toalety',
|
|
99
|
+
labelShowers: 'Prysznice (10 min)',
|
|
100
|
+
labelGarden: 'Podlewanie Ogrodu',
|
|
101
|
+
gardenArea: '(50m²)',
|
|
102
|
+
materialMetal: 'Metal / Dachówka Szkliwiona',
|
|
103
|
+
materialClay: 'Dachówka Ceramiczna / Gliniana',
|
|
104
|
+
materialConcrete: 'Beton / Asfalt',
|
|
105
|
+
materialGravel: 'Żwir / Zielony Dach',
|
|
106
|
+
},
|
|
107
|
+
seo: [
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Pozyskiwanie Wody Deszczowej: Autonomia i Ekologia',
|
|
111
|
+
level: 2,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'Większość właścicieli domów nie zdaje sobie sprawy z potencjału własnego dachu. Standardowy dach może zebrać tysiące litrów darmowej wody każdego roku. To narzędzie pozwala oszacować ten potencjał, obliczyć dokładnie, ile wody możesz „zebrać” i dobrać idealny zbiornik do jej przechowywania.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Logika Obliczeń',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Podstawowy wzór na zbieranie wody deszczowej jest prosty, ale skuteczny:',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'paragraph',
|
|
128
|
+
html: '<code style="display:block;padding:1rem;background:var(--bg-alt);border-radius:0.5rem;margin:1rem 0;font-family:monospace;">Objętość = Powierzchnia × Opady × Współczynnik Spływu × Wydajność Filtrów</code>',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'list',
|
|
132
|
+
items: [
|
|
133
|
+
'<strong>Powierzchnia:</strong> Rzut poziomy dachu (długość × szerokość).',
|
|
134
|
+
'<strong>Opady:</strong> Deszcz podany w milimetrach.',
|
|
135
|
+
'<strong>Współczynnik:</strong> Ile wody traci Twój dach (np. przez nasiąkanie).',
|
|
136
|
+
'<strong>Wydajność:</strong> Straty na filtrach przed zbiornikiem (~10%).',
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'title',
|
|
141
|
+
text: 'Dlaczego Warto Zbierać Deszczówkę?',
|
|
142
|
+
level: 3,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'list',
|
|
146
|
+
items: [
|
|
147
|
+
'<strong>Oszczędność:</strong> Znaczne obniżenie rachunków za wodę.',
|
|
148
|
+
'<strong>Ogrodnictwo:</strong> Rośliny uwielbiają wodę bez chloru i wapnia.',
|
|
149
|
+
'<strong>Niezależność:</strong> Zapas wody na wypadek awarii sieci.',
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'title',
|
|
154
|
+
text: 'Dobór Wielkości Zbiornika',
|
|
155
|
+
level: 2,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'paragraph',
|
|
159
|
+
html: 'Najczęstszym błędem jest zakup zbiornika wyłącznie w oparciu o budżet. Jeśli będzie za mały, zmarnujesz tysiące litrów przez przelew. Jeśli za duży, wydasz pieniądze niepotrzebnie. Przyjmuje się, że optymalna pojemność powinna pozwalać na zmagazynowanie średnich opadów z <strong>3 miesięcy</strong>, co pozwala przetrwać okresy bezdeszczowe.',
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
faqTitle: 'Często zadawane pytania',
|
|
163
|
+
faq: faqData,
|
|
164
|
+
howTo: howToData,
|
|
165
|
+
bibliographyTitle: 'Źródła Naukowe',
|
|
166
|
+
bibliography: [
|
|
167
|
+
{
|
|
168
|
+
name: 'FAO - Rainwater Harvesting and Storage',
|
|
169
|
+
url: 'https://www.fao.org/3/a1348s/a1348s.pdf',
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
name: 'Texas A&M AgriLife Extension - Rainwater Harvesting',
|
|
173
|
+
url: 'https://rainwaterharvesting.tamu.edu/',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: 'Brad Lancaster - Rainwater Harvesting for Drylands',
|
|
177
|
+
url: 'https://www.harvestingrainwater.com/',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: 'European Environment Agency - Water Resources',
|
|
181
|
+
url: 'https://www.eea.europa.eu/en/topics/in-depth/water',
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
185
|
+
};
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { RainHarvesterLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'calculadora-agua-da-chuva';
|
|
5
|
+
const title = 'Calculadora de Recolha de Água da Chuva';
|
|
6
|
+
const description = 'Calcule quanta água da chuva pode recolher do seu telhado e dimensione o seu tanque de armazenamento.';
|
|
7
|
+
|
|
8
|
+
const faqData = [
|
|
9
|
+
{
|
|
10
|
+
question: 'Quanta água posso realmente recolher do meu telhado?',
|
|
11
|
+
answer: 'A regra geral é que, para cada metro quadrado de telhado e cada milímetro de chuva, pode recolher aproximadamente 1 litro de água. No entanto, existem perdas por evaporação e filtração ajustadas com o "coeficiente de escoamento".',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
question: 'O que é o coeficiente de escoamento?',
|
|
15
|
+
answer: 'É uma percentagem que indica quanta água é perdida dependendo do material do telhado. Um telhado de metal ou cerâmica é muito eficiente (0,85-0,95), enquanto um telhado de cascalho ou terra é muito menos eficiente (0,1-0,3).',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Como dimensiono o tanque de armazenamento?',
|
|
19
|
+
answer: 'Deve calcular o volume máximo de chuva esperado num mês e cruzá-lo com o seu consumo mensal estimado. Um tanque demasiado pequeno transbordará em tempestades, e um demasiado grande será desnecessariamente caro.',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question: 'É seguro beber água da chuva recolhida?',
|
|
23
|
+
answer: 'Não diretamente. A água transporta poeira, excrementos de aves e partículas transportadas pelo ar. Para consumo humano, deve passar por filtros de sedimentos, carvão ativado e desinfeção por luz UV ou cloro.',
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
|
|
27
|
+
const howToData = [
|
|
28
|
+
{
|
|
29
|
+
name: 'Meça a superfície horizontal',
|
|
30
|
+
text: 'Meça o comprimento e a largura da base do seu telhado (não a superfície inclinada, mas a área que projeta sombras no chão).',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'Verifique a pluviosidade local',
|
|
34
|
+
text: 'Pesquise no serviço meteorológico nacional a precipitação média anual ou mensal na sua área em milímetros (mm).',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: 'Aplique a eficiência do material',
|
|
38
|
+
text: 'Selecione o material do seu telhado na nossa calculadora para descontar a água que se perderá por absorção ou calor.',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'Calcule o volume necessário',
|
|
42
|
+
text: 'Use o resultado dos litros anuais para escolher um tanque que possa armazenar pelo menos 20-30% da colheita total para períodos secos.',
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
47
|
+
'@context': 'https://schema.org',
|
|
48
|
+
'@type': 'FAQPage',
|
|
49
|
+
mainEntity: faqData.map((item) => ({
|
|
50
|
+
'@type': 'Question',
|
|
51
|
+
name: item.question,
|
|
52
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
53
|
+
})),
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
57
|
+
'@context': 'https://schema.org',
|
|
58
|
+
'@type': 'HowTo',
|
|
59
|
+
name: title,
|
|
60
|
+
description,
|
|
61
|
+
step: howToData.map((step, i) => ({
|
|
62
|
+
'@type': 'HowToStep',
|
|
63
|
+
position: i + 1,
|
|
64
|
+
name: step.name,
|
|
65
|
+
text: step.text,
|
|
66
|
+
})),
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
70
|
+
'@context': 'https://schema.org',
|
|
71
|
+
'@type': 'SoftwareApplication',
|
|
72
|
+
name: title,
|
|
73
|
+
description,
|
|
74
|
+
applicationCategory: 'UtilityApplication',
|
|
75
|
+
operatingSystem: 'All',
|
|
76
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
77
|
+
inLanguage: 'pt',
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export const content: RainHarvesterLocaleContent = {
|
|
81
|
+
slug,
|
|
82
|
+
title,
|
|
83
|
+
description,
|
|
84
|
+
ui: {
|
|
85
|
+
headInputs: 'Configurações do Telhado',
|
|
86
|
+
headResults: 'Potencial de Recolha',
|
|
87
|
+
labelArea: 'Área do Telhado',
|
|
88
|
+
labelRainfall: 'Pluviosidade Anual',
|
|
89
|
+
labelMaterial: 'Material do Telhado',
|
|
90
|
+
unitM2: 'm²',
|
|
91
|
+
unitMm: 'mm',
|
|
92
|
+
unitLiters: 'Litros',
|
|
93
|
+
helpRainfall: 'Não sabe? Pesquise "precipitação média anual [sua cidade]" no Google.',
|
|
94
|
+
efficiencyTitle: 'Fator de Eficiência',
|
|
95
|
+
efficiencyNote: 'É aplicada uma perda de 10% para filtros e evaporação.',
|
|
96
|
+
resultTitle: 'Potencial de Recolha Anual',
|
|
97
|
+
equivalenciesTitle: 'Equivalentes Práticos',
|
|
98
|
+
labelFlushes: 'Descargas de Autoclismo',
|
|
99
|
+
labelShowers: 'Duches (10 min)',
|
|
100
|
+
labelGarden: 'Rega de Jardim',
|
|
101
|
+
gardenArea: '(50m²)',
|
|
102
|
+
materialMetal: 'Metal / Telha Vidrada',
|
|
103
|
+
materialClay: 'Telha Árabe / Barro',
|
|
104
|
+
materialConcrete: 'Betão / Asfalto',
|
|
105
|
+
materialGravel: 'Cascalho / Telhado Verde',
|
|
106
|
+
},
|
|
107
|
+
seo: [
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Recolha de Água da Chuva: Autonomia e Sustentabilidade',
|
|
111
|
+
level: 2,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'A maioria dos proprietários ignora o potencial dos seus próprios telhados. Um telhado comum pode captar milhares de litros de água gratuita todos os anos. Esta ferramenta quantifica esse potencial, permitindo-lhe calcular exatamente quanta água pode "colher" e determinar o tamanho ideal do tanque para armazenamento.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Lógica de Cálculo',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'A fórmula base para a recolha de água da chuva é simples, mas poderosa:',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'paragraph',
|
|
128
|
+
html: '<code style="display:block;padding:1rem;background:var(--bg-alt);border-radius:0.5rem;margin:1rem 0;font-family:monospace;">Volume = Área × Pluviosidade × Coeficiente de Escoamento × Eficiência do Filtro</code>',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'list',
|
|
132
|
+
items: [
|
|
133
|
+
'<strong>Área:</strong> A base do seu telhado (comprimento × largura projetada).',
|
|
134
|
+
'<strong>Pluviosidade:</strong> Chuva caída em milímetros.',
|
|
135
|
+
'<strong>Coeficiente:</strong> Quanta água o seu telhado perde (ex: absorção).',
|
|
136
|
+
'<strong>Eficiência:</strong> Perdas nos filtros pré-tanque (~10%).',
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'title',
|
|
141
|
+
text: 'Porquê Recolher Água da Chuva?',
|
|
142
|
+
level: 3,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'list',
|
|
146
|
+
items: [
|
|
147
|
+
'<strong>Poupança:</strong> Reduza significativamente a sua fatura de água.',
|
|
148
|
+
'<strong>Jardinagem:</strong> As plantas adoram água sem cloro ou calcário.',
|
|
149
|
+
'<strong>Resiliência:</strong> Mantenha uma reserva de emergência para o caso de cortes.',
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'title',
|
|
154
|
+
text: 'Dimensionamento do Tanque',
|
|
155
|
+
level: 2,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'paragraph',
|
|
159
|
+
html: 'O erro mais comum é comprar um tanque baseando-se apenas no orçamento. Se for demasiado pequeno, desperdiçará milhares de litros devido ao transbordo. Se for demasiado grande, gastará dinheiro desnecessariamente. Uma regra geral é ter capacidade para armazenar <strong>3 meses</strong> da pluviosidade média da sua zona, o que lhe permite atravessar as estações secas.',
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
faqTitle: 'Perguntas Frequentes',
|
|
163
|
+
faq: faqData,
|
|
164
|
+
howTo: howToData,
|
|
165
|
+
bibliographyTitle: 'Referências Científicas',
|
|
166
|
+
bibliography: [
|
|
167
|
+
{
|
|
168
|
+
name: 'FAO - Rainwater Harvesting and Storage',
|
|
169
|
+
url: 'https://www.fao.org/3/a1348s/a1348s.pdf',
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
name: 'Texas A&M AgriLife Extension - Rainwater Harvesting',
|
|
173
|
+
url: 'https://rainwaterharvesting.tamu.edu/',
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: 'Brad Lancaster - Rainwater Harvesting for Drylands',
|
|
177
|
+
url: 'https://www.harvestingrainwater.com/',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: 'European Environment Agency - Water Resources',
|
|
181
|
+
url: 'https://www.eea.europa.eu/en/topics/in-depth/water',
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
185
|
+
};
|