@jjlmoya/utils-babies 1.6.0 → 1.8.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 (103) hide show
  1. package/package.json +67 -66
  2. package/src/category/i18n/de.ts +48 -0
  3. package/src/category/i18n/en.ts +10 -10
  4. package/src/category/i18n/fr.ts +10 -10
  5. package/src/category/i18n/id.ts +48 -0
  6. package/src/category/i18n/it.ts +48 -0
  7. package/src/category/i18n/ja.ts +48 -0
  8. package/src/category/i18n/ko.ts +48 -0
  9. package/src/category/i18n/nl.ts +48 -0
  10. package/src/category/i18n/pl.ts +48 -0
  11. package/src/category/i18n/pt.ts +48 -0
  12. package/src/category/i18n/ru.ts +48 -0
  13. package/src/category/i18n/sv.ts +48 -0
  14. package/src/category/i18n/tr.ts +48 -0
  15. package/src/category/i18n/zh.ts +48 -0
  16. package/src/category/index.ts +13 -1
  17. package/src/tests/faq_count.test.ts +1 -1
  18. package/src/tests/i18n_coverage.test.ts +36 -0
  19. package/src/tests/locale_completeness.test.ts +1 -1
  20. package/src/tests/schemas_fulfillment.test.ts +23 -0
  21. package/src/tests/seo_length.test.ts +1 -2
  22. package/src/tests/slug_uniqueness.test.ts +81 -0
  23. package/src/tests/title_quality.test.ts +55 -0
  24. package/src/tool/baby-feeding-calculator/i18n/de.ts +162 -0
  25. package/src/tool/baby-feeding-calculator/i18n/id.ts +162 -0
  26. package/src/tool/baby-feeding-calculator/i18n/it.ts +162 -0
  27. package/src/tool/baby-feeding-calculator/i18n/ja.ts +162 -0
  28. package/src/tool/baby-feeding-calculator/i18n/ko.ts +162 -0
  29. package/src/tool/baby-feeding-calculator/i18n/nl.ts +162 -0
  30. package/src/tool/baby-feeding-calculator/i18n/pl.ts +162 -0
  31. package/src/tool/baby-feeding-calculator/i18n/pt.ts +162 -0
  32. package/src/tool/baby-feeding-calculator/i18n/ru.ts +162 -0
  33. package/src/tool/baby-feeding-calculator/i18n/sv.ts +162 -0
  34. package/src/tool/baby-feeding-calculator/i18n/tr.ts +162 -0
  35. package/src/tool/baby-feeding-calculator/i18n/zh.ts +162 -0
  36. package/src/tool/baby-feeding-calculator/index.ts +12 -0
  37. package/src/tool/baby-percentile-calculator/i18n/de.ts +245 -0
  38. package/src/tool/baby-percentile-calculator/i18n/id.ts +245 -0
  39. package/src/tool/baby-percentile-calculator/i18n/it.ts +245 -0
  40. package/src/tool/baby-percentile-calculator/i18n/ja.ts +245 -0
  41. package/src/tool/baby-percentile-calculator/i18n/ko.ts +245 -0
  42. package/src/tool/baby-percentile-calculator/i18n/nl.ts +245 -0
  43. package/src/tool/baby-percentile-calculator/i18n/pl.ts +245 -0
  44. package/src/tool/baby-percentile-calculator/i18n/pt.ts +245 -0
  45. package/src/tool/baby-percentile-calculator/i18n/ru.ts +245 -0
  46. package/src/tool/baby-percentile-calculator/i18n/sv.ts +245 -0
  47. package/src/tool/baby-percentile-calculator/i18n/tr.ts +245 -0
  48. package/src/tool/baby-percentile-calculator/i18n/zh.ts +245 -0
  49. package/src/tool/baby-percentile-calculator/index.ts +12 -0
  50. package/src/tool/baby-size-converter/i18n/de.ts +203 -0
  51. package/src/tool/baby-size-converter/i18n/fr.ts +1 -1
  52. package/src/tool/baby-size-converter/i18n/id.ts +203 -0
  53. package/src/tool/baby-size-converter/i18n/it.ts +203 -0
  54. package/src/tool/baby-size-converter/i18n/ja.ts +203 -0
  55. package/src/tool/baby-size-converter/i18n/ko.ts +203 -0
  56. package/src/tool/baby-size-converter/i18n/nl.ts +203 -0
  57. package/src/tool/baby-size-converter/i18n/pl.ts +203 -0
  58. package/src/tool/baby-size-converter/i18n/pt.ts +203 -0
  59. package/src/tool/baby-size-converter/i18n/ru.ts +203 -0
  60. package/src/tool/baby-size-converter/i18n/sv.ts +203 -0
  61. package/src/tool/baby-size-converter/i18n/tr.ts +203 -0
  62. package/src/tool/baby-size-converter/i18n/zh.ts +203 -0
  63. package/src/tool/baby-size-converter/index.ts +12 -0
  64. package/src/tool/fertile-days-estimator/i18n/de.ts +262 -0
  65. package/src/tool/fertile-days-estimator/i18n/id.ts +262 -0
  66. package/src/tool/fertile-days-estimator/i18n/it.ts +262 -0
  67. package/src/tool/fertile-days-estimator/i18n/ja.ts +262 -0
  68. package/src/tool/fertile-days-estimator/i18n/ko.ts +262 -0
  69. package/src/tool/fertile-days-estimator/i18n/nl.ts +262 -0
  70. package/src/tool/fertile-days-estimator/i18n/pl.ts +262 -0
  71. package/src/tool/fertile-days-estimator/i18n/pt.ts +262 -0
  72. package/src/tool/fertile-days-estimator/i18n/ru.ts +262 -0
  73. package/src/tool/fertile-days-estimator/i18n/sv.ts +262 -0
  74. package/src/tool/fertile-days-estimator/i18n/tr.ts +262 -0
  75. package/src/tool/fertile-days-estimator/i18n/zh.ts +262 -0
  76. package/src/tool/fertile-days-estimator/index.ts +12 -0
  77. package/src/tool/pregnancy-calculator/i18n/de.ts +467 -0
  78. package/src/tool/pregnancy-calculator/i18n/id.ts +467 -0
  79. package/src/tool/pregnancy-calculator/i18n/it.ts +467 -0
  80. package/src/tool/pregnancy-calculator/i18n/ja.ts +467 -0
  81. package/src/tool/pregnancy-calculator/i18n/ko.ts +467 -0
  82. package/src/tool/pregnancy-calculator/i18n/nl.ts +467 -0
  83. package/src/tool/pregnancy-calculator/i18n/pl.ts +467 -0
  84. package/src/tool/pregnancy-calculator/i18n/pt.ts +467 -0
  85. package/src/tool/pregnancy-calculator/i18n/ru.ts +467 -0
  86. package/src/tool/pregnancy-calculator/i18n/sv.ts +467 -0
  87. package/src/tool/pregnancy-calculator/i18n/tr.ts +467 -0
  88. package/src/tool/pregnancy-calculator/i18n/zh.ts +467 -0
  89. package/src/tool/pregnancy-calculator/index.ts +13 -1
  90. package/src/tool/vaccination-calendar/i18n/de.ts +194 -0
  91. package/src/tool/vaccination-calendar/i18n/fr.ts +99 -95
  92. package/src/tool/vaccination-calendar/i18n/id.ts +194 -0
  93. package/src/tool/vaccination-calendar/i18n/it.ts +194 -0
  94. package/src/tool/vaccination-calendar/i18n/ja.ts +194 -0
  95. package/src/tool/vaccination-calendar/i18n/ko.ts +194 -0
  96. package/src/tool/vaccination-calendar/i18n/nl.ts +194 -0
  97. package/src/tool/vaccination-calendar/i18n/pl.ts +194 -0
  98. package/src/tool/vaccination-calendar/i18n/pt.ts +194 -0
  99. package/src/tool/vaccination-calendar/i18n/ru.ts +194 -0
  100. package/src/tool/vaccination-calendar/i18n/sv.ts +194 -0
  101. package/src/tool/vaccination-calendar/i18n/tr.ts +194 -0
  102. package/src/tool/vaccination-calendar/i18n/zh.ts +194 -0
  103. package/src/tool/vaccination-calendar/index.ts +13 -1
@@ -0,0 +1,467 @@
1
+ import type { PregnancyCalculatorLocaleContent } from '../index';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+
4
+ const slug = 'zwangerschap-week-calculator';
5
+ const title = 'Zwangerschap Week Calculator';
6
+ const description = 'Bereken precies in welke week van je zwangerschap je bent, het trimester en je uitgerekende datum.';
7
+ const faq = [
8
+ {
9
+ question: 'Hoe wordt de zwangerschapsweek berekend?',
10
+ answer: 'Het wordt geteld vanaf de eerste dag van je laatste menstruatie. Bij die datum worden 280 dagen opgeteld om de uitgerekende datum te bepalen. Als je cyclus anders is dan 28 dagen, wordt de berekening automatisch aangepast.',
11
+ },
12
+ {
13
+ question: 'Wat is het verschil tussen de laatste menstruatie en de datum van bevruchting?',
14
+ answer: 'De laatste menstruatie is de standaardmethode die door artsen wordt gebruikt. De datum van bevruchting is nauwkeuriger als je die weet, omdat het de schatting van de 14 dagen ovulatie vermijdt. Beide methoden geven zeer vergelijkbare resultaten bij regelmatige cycli.',
15
+ },
16
+ {
17
+ question: 'Waarom wijkt de uitgerekende datum van mijn arts af?',
18
+ answer: 'Je arts kan de datum hebben gecorrigeerd op basis van de echo in het eerste trimester, wat de meest nauwkeurige methode is. Onregelmatige cycli kunnen ook verschillen verklaren.',
19
+ },
20
+ {
21
+ question: 'Wanneer begint het tweede trimester?',
22
+ answer: 'Het tweede trimester begint in week 13 en eindigt aan het einde van week 26. Dit is de periode waarin de meeste moeders zich energieker voelen en de buik zichtbaar wordt.',
23
+ },
24
+ {
25
+ question: 'Wat is de uitgerekende datum (EDD) en hoe nauwkeurig is deze?',
26
+ answer: 'De uitgerekende datum is een statistische schatting. Slechts 3–5% van de baby\'s wordt exact op die dag geboren. De meeste worden geboren tussen week 38 en week 42.',
27
+ },
28
+ ];
29
+ const howTo = [
30
+ {
31
+ name: 'Selecteer de berekeningsmethode',
32
+ text: 'Kies of je wilt berekenen vanaf de datum van je laatste menstruatie of vanaf de datum van bevruchting.',
33
+ },
34
+ {
35
+ name: 'Voer de datum in',
36
+ text: 'Selecteer de dag, maand en het jaar met behulp van de vervolgkeuzemenu\'s.',
37
+ },
38
+ {
39
+ name: 'Pas de cyclusduur aan',
40
+ text: 'Als je cyclus geen 28 dagen is, verplaats dan de schuifregelaar voor een nauwkeurigere schatting.',
41
+ },
42
+ {
43
+ name: 'Bekijk de week en het trimester',
44
+ text: 'Het resultaat toont de exacte week, het trimester en de uitgerekende datum.',
45
+ },
46
+ {
47
+ name: 'Ontdek de wekelijkse mijlpalen',
48
+ text: 'Ontdek de grootte van de baby, biologische veranderingen en persoonlijk advies voor elke week.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faq.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+ const howToSchema: WithContext<HowTo> = {
62
+ '@context': 'https://schema.org',
63
+ '@type': 'HowTo',
64
+ name: title,
65
+ description,
66
+ step: howTo.map((step) => ({
67
+ '@type': 'HowToStep',
68
+ name: step.name,
69
+ text: step.text,
70
+ })),
71
+ };
72
+ const appSchema: WithContext<SoftwareApplication> = {
73
+ '@context': 'https://schema.org',
74
+ '@type': 'SoftwareApplication',
75
+ name: title,
76
+ description,
77
+ applicationCategory: 'UtilitiesApplication',
78
+ operatingSystem: 'Web',
79
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
80
+ inLanguage: 'nl',
81
+ };
82
+
83
+ export const content: PregnancyCalculatorLocaleContent = {
84
+ slug,
85
+ title,
86
+ description,
87
+ ui: {
88
+ btnFUR: 'Laatste Menstruatie',
89
+ btnConception: 'Datum van Bevruchting',
90
+ labelPartnerMode: 'Partnermodus',
91
+ labelFUR: 'Datum laatste menstruatie',
92
+ labelConception: 'Datum van bevruchting',
93
+ labelCycleLength: 'Cyclusduur',
94
+ unitDays: 'dagen',
95
+ labelWeeks: 'Weken',
96
+ labelTrimester: 'Trimester',
97
+ labelEDD: 'Uitgerekende Datum',
98
+ eddPlaceholder: 'Voer je datum in',
99
+ eddNote: 'Slechts 3–5% van de baby\'s wordt exact op die dag geboren',
100
+ btnCalendar: 'Opslaan in Kalender',
101
+ labelFruits: 'Vruchten',
102
+ labelGeek: 'Geek',
103
+ labelSweets: 'Snoepjes',
104
+ labelBioLabel: 'Biologische vorming',
105
+ labelMomKey: 'Jouw lichaam vandaag',
106
+ labelPartnerKey: 'Hoe haar vandaag te steunen',
107
+ labelNormalMolestias: 'Normale ongemakken',
108
+ labelAlert: 'Raadpleeg bij...',
109
+ labelTimeline: 'Tijdlijn',
110
+ labelStartHere: 'Begin hier',
111
+ labelStartBody: 'Selecteer de datum van je laatste menstruatie en ontdek in welke week je bent.',
112
+ labelSem: 'Wk',
113
+ labelWeekBadge: 'Week',
114
+ weeksFormat: '{w}w {d}d',
115
+ trimesterSuffix: 'e',
116
+ eggFutureTitle: 'Tijdreiziger gedetecteerd',
117
+ eggFutureBody: 'Die datum is nog niet aangebroken. Kom terug wanneer de realiteit je inhaalt.',
118
+ eggTooOldTitle: 'Datum verlopen',
119
+ eggTooOldBody: 'Er zijn meer dan 40 weken verstreken sinds die datum. Als alles goed is gegaan, is de baby er al.',
120
+ faqTitle: 'Veelgestelde vragen',
121
+ bibliographyTitle: 'Referenties',
122
+ dayLabel: 'Dag',
123
+ monthLabel: 'Maand',
124
+ yearLabel: 'Jaar',
125
+ icsSummary: 'Uitgerekende Datum',
126
+ icsDescription: 'Geschatte bevallingsdatum berekend door jjlmoya',
127
+ icsFilename: 'uitgerekende-datum.ics',
128
+ monthsData: JSON.stringify(['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec']),
129
+ timelineLabelsData: JSON.stringify({
130
+ 4: 'Innesteling', 5: 'Hartslag', 6: 'Hart klopt', 7: 'Ogen & oren',
131
+ 8: 'Vingers', 9: 'Nagels', 10: 'Nu een foetus', 11: 'Bewegingen',
132
+ 12: 'Triple Screening', 13: '2e Trimester', 14: 'Baarmoederhals', 15: 'Schopjes',
133
+ 16: 'Hoort stemmen', 17: 'Lichaamsvet', 18: 'Geslacht zichtbaar', 19: 'Vernix',
134
+ 20: '20-weken echo', 21: 'Vingerafdrukken', 22: 'Lippen gevormd', 23: 'Oogleden',
135
+ 24: 'Ogen openen', 25: 'Capillairen', 26: 'Reflexen', 27: 'Hersenen actief',
136
+ 28: '3e Trimester', 29: 'Sterke botten', 30: 'Beenmerg', 31: 'Surfactant',
137
+ 32: 'Oefenen met ademen', 33: 'Immuniteit', 34: 'Zenuwstelsel', 35: 'Indalen',
138
+ 36: 'Longen rijp', 37: 'Voldragen', 38: 'Klaar voor', 39: 'Wachten', 40: 'De dag is daar',
139
+ }),
140
+ milestonesData: JSON.stringify({
141
+ 4: {
142
+ analogies: { fruits: 'Papaverzaadje', geek: 'Eenzame pixel', sweets: 'Suikerkorreltje' },
143
+ size: '~1 mm',
144
+ biolook: 'De blastocyst nestelt zich in het baarmoederslijmvlies. De drie kiemlagen verschijnen waaruit al je organen zullen worden gevormd.',
145
+ mom: 'Je lichaam weet nog niet dat het zwanger is, maar produceert al hCG. Misschien voel je een lichte innestelingsbloeding.',
146
+ partner: 'Misschien is ze onverklaarbaar moe. Dit is een goed moment om haar favoriete maaltijd te koken.',
147
+ symptoms: ['Vroege vermoeidheid', 'Gevoelige borsten', 'Lichte innestelingsbloeding'],
148
+ alerts: ['Zware rode bloeding', 'Acute bekkenpijn', 'Koorts boven 38 graden'],
149
+ wonder: 'Op dit moment wordt beslist of er één of twee baby\'s komen.',
150
+ },
151
+ 6: {
152
+ analogies: { fruits: 'Linze', geek: 'Knipperende LED', sweets: 'Lacasito' },
153
+ size: '~6 mm',
154
+ biolook: 'Het hart begint onregelmatig maar zichtbaar op de echo te kloppen. De neuraalbuis sluit zich.',
155
+ mom: 'Ochtendmisselijkheid kan nu beginnen.',
156
+ partner: 'Haar reukvermogen wordt bovenmenselijk. Vermijd sterke parfums en kook geen vis in huis.',
157
+ symptoms: ['Misselijkheid', 'Overgevoeligheid voor geuren', 'Extreme slaperigheid'],
158
+ alerts: ['Geen hartslag op vaginale echo', 'Aanhoudende donkere afscheiding', 'Braken zonder iets binnen te houden'],
159
+ wonder: 'Het heeft al dezelfde basis hersenstructuur als die van een volwassene.',
160
+ },
161
+ 8: {
162
+ analogies: { fruits: 'Framboos', geek: 'Nano USB-stick', sweets: 'Gummibeertje' },
163
+ size: '~18 mm',
164
+ biolook: 'Vingers en tenen scheiden zich. De oogleden bedekken de ogen. Het hart klopt 150-170 keer per minuut.',
165
+ mom: 'Je baarmoeder heeft de grootte van een grapefruit. De misselijkheid is op zijn hoogtepunt.',
166
+ partner: 'Ze kan 10-12 uur slaap nodig hebben. Neem de huishoudelijke taken over.',
167
+ symptoms: ['Hevige misselijkheid', 'Toename van speekselvloed', 'Zeer vaak plassen'],
168
+ alerts: ['Onbeheersbaar braken', 'Donkere afscheiding', 'Hevige pijn in de onderrug'],
169
+ wonder: 'Als je haar buik aanraakt, reageert hij al en beweegt hij.',
170
+ },
171
+ 10: {
172
+ analogies: { fruits: 'Kumquat', geek: 'AirPod', sweets: 'Macaron' },
173
+ size: '~31 mm',
174
+ biolook: 'Technisch gezien is het nu een foetus. Alle organen bestaan in rudimentaire vorm. De nagels beginnen te groeien.',
175
+ mom: 'Je taille begint breder te worden.',
176
+ partner: 'Begeleid haar naar de eerste controle in het eerste trimester.',
177
+ symptoms: ['Opgezette buik', 'Abrupt wisselende stemmingen', 'Huid gevoeliger voor de zon'],
178
+ alerts: ['Verlies van helder vocht', 'Hevige baarmoederkrampen', 'Koorts zonder duidelijke oorzaak'],
179
+ wonder: 'Het heeft al zijn eigen bloedgroep, die kan verschillen van die van de moeder.',
180
+ },
181
+ 12: {
182
+ analogies: { fruits: 'Pruim', geek: 'Draadloze muis', sweets: 'Aardbeienmochi' },
183
+ size: '~55 mm',
184
+ biolook: 'De belangrijkste organen zijn gevormd. De baby begint slikbewegingen te oefenen.',
185
+ mom: 'Het risico op een miskraam daalt drastisch.',
186
+ partner: 'Het tweede trimester nadert. Haar vermoeidheid zal snel verbeteren.',
187
+ symptoms: ['Vermindering van misselijkheid', 'Stralendere huid of pigmentvlekken', 'Hoofdpijn'],
188
+ alerts: ['Vochtverlies', 'Hevige krampen', 'Aanhoudende koorts'],
189
+ wonder: 'De reflexen werken al: als je de handpalm aanraakt, balt hij zijn vuistje.',
190
+ },
191
+ 16: {
192
+ analogies: { fruits: 'Avocado', geek: 'PS5-controller', sweets: 'Chocoladebol' },
193
+ size: '~12 cm',
194
+ biolook: 'De oren zitten op hun definitieve plaats. Het kraakbeenskelet verandert in bot.',
195
+ mom: 'Veel moeders voelen de eerste bewegingen. De energie keert terug.',
196
+ partner: 'Misschien begint ze kleine bewegingen te voelen.',
197
+ symptoms: ['Licht brandend maagzuur', 'Verstopte neus', 'Zeer levendige dromen'],
198
+ alerts: ['Totaal uitblijven van foetale bewegingen', 'Hoge bloeddruk', 'Vaginale bloeding'],
199
+ wonder: 'Als het een meisje is, heeft ze al 6 miljoen eitjes in haar eierstokken.',
200
+ },
201
+ 20: {
202
+ analogies: { fruits: 'Banaan', geek: 'Handheld console', sweets: 'Hele cheesecake' },
203
+ size: '~25 cm',
204
+ biolook: 'De baby hoort je stem nu duidelijk. Hij zuigt op zijn duim.',
205
+ mom: 'Week 20, de helft. Het is tijd voor de 20-weken echo.',
206
+ partner: 'Praat tegen de baby. Hij hoort je al.',
207
+ symptoms: ['Vaak brandend maagzuur', 'Gezwollen voeten aan het einde van de dag', 'Jeukende huid op de buik'],
208
+ alerts: ['Gebrek aan foetale bewegingen', 'Aanhoudend hoge bloeddruk', 'Wazig zien of lichtflitsen'],
209
+ wonder: 'Zijn vingerafdrukken zijn al compleet en uniek in het universum.',
210
+ },
211
+ 24: {
212
+ analogies: { fruits: 'Maiskolf', geek: 'Mechanisch toetsenbord', sweets: 'Gigantische donut' },
213
+ size: '~30 cm',
214
+ biolook: 'De longen produceren surfactant. De ogen beginnen open te gaan.',
215
+ mom: 'Je baarmoeder reikt tot je navel. Je rug kan beginnen op te spelen.',
216
+ partner: 'Leer de tekenen van vroegtijdige bevalling.',
217
+ symptoms: ['Pijn in de onderrug', 'Kuitkrampen \'s nachts', 'Linea nigra op de buik'],
218
+ alerts: ['Regelmatige weeën voor week 37', 'Verlies van vruchtwater', 'Vaginale bloeding'],
219
+ wonder: 'Als hij nu geboren zou worden, heeft hij met intensieve zorg overlevingskansen.',
220
+ },
221
+ 28: {
222
+ analogies: { fruits: 'Aubergine', geek: 'Grafisch tablet', sweets: 'Taart van drie verdiepingen' },
223
+ size: '~37 cm',
224
+ biolook: 'De baby opent en sluit de ogen. Hij heeft slaap- en waakcycli.',
225
+ mom: 'Het derde trimester begint. De glucosetest is nu.',
226
+ partner: 'Slapeloosheid kan haar uitputten. Sta haar bij.',
227
+ symptoms: ['Slapeloosheid en moeite met het vinden van een houding', 'Gezwollen handen en voeten', 'Sporadische Braxton Hicks weeën'],
228
+ alerts: ['Duidelijke afname van foetale bewegingen', 'Hevige hoofdpijn die niet overgaat', 'Zien van lichtjes of vlekjes'],
229
+ wonder: 'Hij heeft al een favoriete smaak.',
230
+ },
231
+ 32: {
232
+ analogies: { fruits: 'Middelgrote pompoen', geek: '60% toetsenbord', sweets: 'Hele doos bonbons' },
233
+ size: '~42 cm',
234
+ biolook: 'Oefent met ademen. Zijn longen zijn bijna klaar voor de buitenwereld.',
235
+ mom: 'Diep ademhalen is moeilijk. De baby drukt op het middenrif.',
236
+ partner: 'Bereid de vluchttas voor.',
237
+ symptoms: ['Kortademigheid bij de minste inspanning', 'Aambeien', 'Urineverlies bij lachen of hoesten'],
238
+ alerts: ['Hevige jeuk op handpalmen en voetzolen', 'Regelmatige weeën', 'Pijn in de maagstreek met misselijkheid'],
239
+ wonder: 'Hij draait zijn hoofd al naar het licht dat door de buik van de moeder schijnt.',
240
+ },
241
+ 36: {
242
+ analogies: { fruits: 'Cantaloupe meloen', geek: '15-inch laptop', sweets: 'Verjaardagstaart' },
243
+ size: '~47 cm',
244
+ biolook: 'De baby ligt meestal met het hoofd naar beneden. Zijn longen zijn bijna rijp.',
245
+ mom: 'Je voelt druk in je bekken als de baby indaalt.',
246
+ partner: 'Het geboorteplan moet klaar zijn.',
247
+ symptoms: ['Hevige bekkenpressure', 'Terugkeer van brandend maagzuur', 'Anticipatorische angst'],
248
+ alerts: ['Gebroken vliezen', 'Rode vaginale bloeding', 'Uitblijven van foetale bewegingen'],
249
+ wonder: 'Hij heeft al zulke lange nagels dat hij zichzelf bij de geboorte zou kunnen krabben.',
250
+ },
251
+ 40: {
252
+ analogies: { fruits: 'Watermeloen', geek: 'Complete desktop PC', sweets: 'Bruidstaart van 3 verdiepingen' },
253
+ size: '~50 cm',
254
+ biolook: 'Alles is klaar. De reflexen zijn gecoördineerd, de longen rijp, de hersenen actief.',
255
+ mom: 'De vermoeidheid is op het maximum. Je bent geweldig.',
256
+ partner: 'Vandaag kan de dag zijn. Houd de telefoon opgeladen en bewaar de rust die ze van je nodig heeft.',
257
+ symptoms: ['Zeer hevige bekkenpressure', 'Verlies van de slijmprop', 'Onregelmatige weeën'],
258
+ alerts: ['Regelmatige weeën om de 5 minuten gedurende 1 uur', 'Gebroken vliezen', 'Uitblijven van bewegingen'],
259
+ wonder: 'Zijn hersenen hebben tijdens deze 9 maanden 100 miljard neuronen aangemaakt.',
260
+ },
261
+ }),
262
+ },
263
+ seo: [
264
+ {
265
+ type: 'summary',
266
+ title: 'Wat je moet onthouden',
267
+ items: [
268
+ 'Bereken je zwangerschapsweek vanaf de laatste menstruatie of de datum van bevruchting.',
269
+ 'De uitgerekende datum is een schatting: slechts 3–5% van de baby\'s wordt exact op die dag geboren.',
270
+ 'Elk trimester heeft zijn eigen biologische mijlpalen en typische ongemakken.',
271
+ 'Raadpleeg bij elk alarmsignaal onmiddellijk je arts of verloskundige.',
272
+ 'De partnermodus laat je zien hoe je je partner week na week kunt steunen.',
273
+ ],
274
+ },
275
+ {
276
+ type: 'title',
277
+ text: 'Zwangerschap Week Calculator: Veel meer dan een bevallingsdatum',
278
+ level: 2,
279
+ },
280
+ {
281
+ type: 'stats',
282
+ columns: 3,
283
+ items: [
284
+ { value: '40 weken', label: 'Gemiddelde zwangerschapsduur' },
285
+ { value: '280 dagen', label: 'Dagen van de zwangerschap' },
286
+ { value: '±14 dagen', label: 'Foutmarge van de uitgerekende datum' },
287
+ ],
288
+ },
289
+ {
290
+ type: 'title',
291
+ text: 'Hoe de zwangerschapsweek wordt berekend',
292
+ level: 3,
293
+ },
294
+ {
295
+ type: 'list',
296
+ items: [
297
+ 'De meest gebruikelijke methode gebruikt de datum van de laatste menstruatie (FUR) als startpunt.',
298
+ 'Er worden 280 dagen opgeteld bij de FUR om de uitgerekende datum (EDD) te bepalen.',
299
+ 'Als je cyclus anders is dan 28 dagen, wordt de EDD automatisch aangepast.',
300
+ 'De bevruchtingsmethode rekent vanaf de daadwerkelijke bevruchting.',
301
+ 'De echo in het eerste trimester kan de zwangerschapsduur nauwkeuriger corrigeren.',
302
+ ],
303
+ },
304
+ {
305
+ type: 'tip',
306
+ html: 'Als je arts een andere datum aangeeft, komt dat meestal door een onregelmatige cyclus of de echocorrectie in het eerste trimester. Beide data zijn geldig.',
307
+ },
308
+ {
309
+ type: 'title',
310
+ text: 'De drie trimesters van de zwangerschap',
311
+ level: 3,
312
+ },
313
+ {
314
+ type: 'table',
315
+ headers: ['Trimester', 'Weken', 'Belangrijkste mijlpaal', 'Lichaam van de moeder'],
316
+ rows: [
317
+ ['1e', '1 – 12', 'Vorming van organen', 'Misselijkheid, vermoeidheid, innesteling'],
318
+ ['2e', '13 – 26', 'Foetale bewegingen, 20-weken echo', 'Energie hersteld, buik zichtbaar'],
319
+ ['3e', '27 – 40', 'Longrijping, indaling', 'Bekkenpressure, voorbereiding op de bevalling'],
320
+ ],
321
+ },
322
+ {
323
+ type: 'title',
324
+ text: 'Biologische mijlpalen week na week',
325
+ level: 3,
326
+ },
327
+ {
328
+ type: 'table',
329
+ headers: ['Week', 'Ca. grootte', 'Biologische mijlpaal', 'Wat de moeder voelt'],
330
+ rows: [
331
+ ['4', '~1 mm', 'Innesteling in het baarmoederslijmvlies', 'Mogelijke lichte bloeding'],
332
+ ['8', '~18 mm', 'Hart klopt 150–170 keer/min', 'Misselijkheid op zijn hoogtepunt'],
333
+ ['12', '~55 mm', 'Belangrijkste organen gevormd', 'Risico op miskraam daalt drastisch'],
334
+ ['20', '~25 cm', 'Hoort stemmen duidelijk', '20-weken echo'],
335
+ ['28', '~37 cm', 'Slaap- en waakcycli', 'Begin van het derde trimester'],
336
+ ['36', '~47 cm', 'Longen bijna rijp', 'Indaling in het bekken'],
337
+ ['40', '~50 cm', 'Alles klaar om geboren te worden', 'EDD: uitgerekende datum'],
338
+ ],
339
+ },
340
+ {
341
+ type: 'title',
342
+ text: 'Veelvoorkomende symptomen per trimester',
343
+ level: 3,
344
+ },
345
+ {
346
+ type: 'comparative',
347
+ columns: 2,
348
+ items: [
349
+ {
350
+ title: 'Eerste trimester (wk. 1–12)',
351
+ description: 'De fase van de grootste hormonale verandering.',
352
+ points: [
353
+ 'Misselijkheid en braken, vooral \'s ochtends',
354
+ 'Extreme vermoeidheid en slaperigheid',
355
+ 'Gevoelige borsten',
356
+ 'Vaak plassen',
357
+ 'Stemmingswisselingen',
358
+ ],
359
+ },
360
+ {
361
+ title: 'Tweede trimester (wk. 13–26)',
362
+ description: 'Het trimester van het grootste welzijn voor de meesten.',
363
+ points: [
364
+ 'Verdwijnen van de misselijkheid',
365
+ 'Energie hersteld',
366
+ 'Buik zichtbaar vanaf week 18–20',
367
+ 'Eerste foetale bewegingen (wk. 18–22)',
368
+ 'Toenemend brandend maagzuur',
369
+ ],
370
+ },
371
+ {
372
+ title: 'Derde trimester (wk. 27–40)',
373
+ description: 'Voorbereiding op de bevalling.',
374
+ points: [
375
+ 'Bekkenpressure en rugpijn',
376
+ 'Braxton Hicks weeën',
377
+ 'Zwellen van voeten en enkels',
378
+ 'Moeite met slapen',
379
+ 'Indalen van de baby (wk. 36–38)',
380
+ ],
381
+ },
382
+ ],
383
+ },
384
+ {
385
+ type: 'title',
386
+ text: 'Alarmsignalen die onmiddellijke raadpleging vereisen',
387
+ level: 3,
388
+ },
389
+ {
390
+ type: 'list',
391
+ items: [
392
+ 'Hevige vaginale bloeding in elke week: onmiddellijk raadplegen.',
393
+ 'Regelmatige weeën voor week 37: risico op vroegtijdige bevalling.',
394
+ 'Verlies van vruchtwater: gebroken vliezen, naar de spoedeisende hulp.',
395
+ 'Hevige hoofdpijn met wazig zien: mogelijke pre-eclampsie.',
396
+ 'Afwezigheid van foetale bewegingen na week 20: alarmsignaal.',
397
+ ],
398
+ },
399
+ {
400
+ type: 'title',
401
+ text: 'Essentiële medische afspraken',
402
+ level: 3,
403
+ },
404
+ {
405
+ type: 'list',
406
+ items: [
407
+ 'Week 8–12: eerste echo en bloedonderzoek eerste trimester.',
408
+ 'Week 12: combinatietest eerste trimester (nekplooimeting + bloedonderzoek).',
409
+ 'Week 18–22: 20-weken echo.',
410
+ 'Week 24–28: glucosetolerantietest (O\'Sullivan).',
411
+ 'Week 36: controle-echo, kweek op groep B streptokokken.',
412
+ ],
413
+ },
414
+ {
415
+ type: 'glossary',
416
+ items: [
417
+ {
418
+ term: 'FUR / LMP',
419
+ definition: 'Datum van de Laatste Menstruatie (Last Menstrual Period). Referentiepunt voor het berekenen van de zwangerschapsduur.',
420
+ },
421
+ {
422
+ term: 'EDD / DPP',
423
+ definition: 'Uitgerekende Datum (Estimated Due Date). Wordt berekend door 280 dagen op te tellen bij de FUR.',
424
+ },
425
+ {
426
+ term: 'Vruchtwater',
427
+ definition: 'Vloeistof die de baby omringt in de baarmoeder. Beschermt de foetus, reguleert de temperatuur en maakt beweging mogelijk.',
428
+ },
429
+ {
430
+ term: 'Slijmprop',
431
+ definition: 'Dikke afscheiding die de baarmoederhals afsluit tijdens de zwangerschap. Het verlies ervan geeft aan dat de bevalling nadert.',
432
+ },
433
+ {
434
+ term: 'Pre-eclampsie',
435
+ definition: 'Zwangerschapscomplicatie gekenmerkt door hoge bloeddruk en orgaanschade. Vereist dringende medische controle.',
436
+ },
437
+ ],
438
+ },
439
+ ],
440
+ faqTitle: 'Veelgestelde vragen',
441
+ faq,
442
+ bibliographyTitle: 'Referenties',
443
+ bibliography: [
444
+ {
445
+ name: 'WHO – Zorg tijdens de zwangerschap',
446
+ url: 'https://www.who.int/news-room/fact-sheets/detail/maternal-mortality',
447
+ },
448
+ {
449
+ name: 'ACOG – Gestational Age and Due Date Calculation',
450
+ url: 'https://www.acog.org/clinical/clinical-guidance/committee-opinion/articles/2017/05/methods-for-estimating-the-due-date',
451
+ },
452
+ {
453
+ name: 'NVOG – Nederlandse Vereniging voor Obstetrie en Gynaecologie',
454
+ url: 'https://www.nvog.nl',
455
+ },
456
+ {
457
+ name: 'Naegele\'s rule – Dugoff L. et al., Obstetrics & Gynecology',
458
+ url: 'https://journals.lww.com/greenjournal/fulltext/2017/05000/methods_for_estimating_the_due_date.43.aspx',
459
+ },
460
+ {
461
+ name: 'UpToDate – Prenatal care: Initial assessment',
462
+ url: 'https://www.uptodate.com/contents/prenatal-care-initial-assessment',
463
+ },
464
+ ],
465
+ howTo,
466
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
467
+ };