@jjlmoya/utils-babies 1.5.0 → 1.7.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 (115) 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/title_quality.test.ts +55 -0
  23. package/src/tool/baby-feeding-calculator/component.astro +40 -40
  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/component.astro +38 -38
  38. package/src/tool/baby-percentile-calculator/i18n/de.ts +245 -0
  39. package/src/tool/baby-percentile-calculator/i18n/id.ts +245 -0
  40. package/src/tool/baby-percentile-calculator/i18n/it.ts +245 -0
  41. package/src/tool/baby-percentile-calculator/i18n/ja.ts +245 -0
  42. package/src/tool/baby-percentile-calculator/i18n/ko.ts +245 -0
  43. package/src/tool/baby-percentile-calculator/i18n/nl.ts +245 -0
  44. package/src/tool/baby-percentile-calculator/i18n/pl.ts +245 -0
  45. package/src/tool/baby-percentile-calculator/i18n/pt.ts +245 -0
  46. package/src/tool/baby-percentile-calculator/i18n/ru.ts +245 -0
  47. package/src/tool/baby-percentile-calculator/i18n/sv.ts +245 -0
  48. package/src/tool/baby-percentile-calculator/i18n/tr.ts +245 -0
  49. package/src/tool/baby-percentile-calculator/i18n/zh.ts +245 -0
  50. package/src/tool/baby-percentile-calculator/index.ts +12 -0
  51. package/src/tool/baby-size-converter/component.astro +42 -42
  52. package/src/tool/baby-size-converter/i18n/de.ts +203 -0
  53. package/src/tool/baby-size-converter/i18n/fr.ts +1 -1
  54. package/src/tool/baby-size-converter/i18n/id.ts +203 -0
  55. package/src/tool/baby-size-converter/i18n/it.ts +203 -0
  56. package/src/tool/baby-size-converter/i18n/ja.ts +203 -0
  57. package/src/tool/baby-size-converter/i18n/ko.ts +203 -0
  58. package/src/tool/baby-size-converter/i18n/nl.ts +203 -0
  59. package/src/tool/baby-size-converter/i18n/pl.ts +203 -0
  60. package/src/tool/baby-size-converter/i18n/pt.ts +203 -0
  61. package/src/tool/baby-size-converter/i18n/ru.ts +203 -0
  62. package/src/tool/baby-size-converter/i18n/sv.ts +203 -0
  63. package/src/tool/baby-size-converter/i18n/tr.ts +203 -0
  64. package/src/tool/baby-size-converter/i18n/zh.ts +203 -0
  65. package/src/tool/baby-size-converter/index.ts +12 -0
  66. package/src/tool/fertile-days-estimator/component.astro +14 -9
  67. package/src/tool/fertile-days-estimator/i18n/de.ts +262 -0
  68. package/src/tool/fertile-days-estimator/i18n/id.ts +262 -0
  69. package/src/tool/fertile-days-estimator/i18n/it.ts +262 -0
  70. package/src/tool/fertile-days-estimator/i18n/ja.ts +262 -0
  71. package/src/tool/fertile-days-estimator/i18n/ko.ts +262 -0
  72. package/src/tool/fertile-days-estimator/i18n/nl.ts +262 -0
  73. package/src/tool/fertile-days-estimator/i18n/pl.ts +262 -0
  74. package/src/tool/fertile-days-estimator/i18n/pt.ts +262 -0
  75. package/src/tool/fertile-days-estimator/i18n/ru.ts +262 -0
  76. package/src/tool/fertile-days-estimator/i18n/sv.ts +262 -0
  77. package/src/tool/fertile-days-estimator/i18n/tr.ts +262 -0
  78. package/src/tool/fertile-days-estimator/i18n/zh.ts +262 -0
  79. package/src/tool/fertile-days-estimator/index.ts +12 -0
  80. package/src/tool/pregnancy-calculator/component.astro +55 -48
  81. package/src/tool/pregnancy-calculator/i18n/de.ts +467 -0
  82. package/src/tool/pregnancy-calculator/i18n/en.ts +140 -0
  83. package/src/tool/pregnancy-calculator/i18n/es.ts +143 -3
  84. package/src/tool/pregnancy-calculator/i18n/fr.ts +143 -3
  85. package/src/tool/pregnancy-calculator/i18n/id.ts +467 -0
  86. package/src/tool/pregnancy-calculator/i18n/it.ts +467 -0
  87. package/src/tool/pregnancy-calculator/i18n/ja.ts +467 -0
  88. package/src/tool/pregnancy-calculator/i18n/ko.ts +467 -0
  89. package/src/tool/pregnancy-calculator/i18n/nl.ts +467 -0
  90. package/src/tool/pregnancy-calculator/i18n/pl.ts +467 -0
  91. package/src/tool/pregnancy-calculator/i18n/pt.ts +467 -0
  92. package/src/tool/pregnancy-calculator/i18n/ru.ts +467 -0
  93. package/src/tool/pregnancy-calculator/i18n/sv.ts +467 -0
  94. package/src/tool/pregnancy-calculator/i18n/tr.ts +467 -0
  95. package/src/tool/pregnancy-calculator/i18n/zh.ts +467 -0
  96. package/src/tool/pregnancy-calculator/index.ts +37 -1
  97. package/src/tool/pregnancy-calculator/milestones.ts +2 -146
  98. package/src/tool/vaccination-calendar/component.astro +26 -24
  99. package/src/tool/vaccination-calendar/i18n/de.ts +194 -0
  100. package/src/tool/vaccination-calendar/i18n/en.ts +20 -0
  101. package/src/tool/vaccination-calendar/i18n/es.ts +20 -0
  102. package/src/tool/vaccination-calendar/i18n/fr.ts +99 -75
  103. package/src/tool/vaccination-calendar/i18n/id.ts +194 -0
  104. package/src/tool/vaccination-calendar/i18n/it.ts +194 -0
  105. package/src/tool/vaccination-calendar/i18n/ja.ts +194 -0
  106. package/src/tool/vaccination-calendar/i18n/ko.ts +194 -0
  107. package/src/tool/vaccination-calendar/i18n/nl.ts +194 -0
  108. package/src/tool/vaccination-calendar/i18n/pl.ts +194 -0
  109. package/src/tool/vaccination-calendar/i18n/pt.ts +194 -0
  110. package/src/tool/vaccination-calendar/i18n/ru.ts +194 -0
  111. package/src/tool/vaccination-calendar/i18n/sv.ts +194 -0
  112. package/src/tool/vaccination-calendar/i18n/tr.ts +194 -0
  113. package/src/tool/vaccination-calendar/i18n/zh.ts +194 -0
  114. package/src/tool/vaccination-calendar/index.ts +33 -1
  115. package/src/tool/vaccination-calendar/logic.ts +39 -13
@@ -0,0 +1,262 @@
1
+ import type { FertileDaysEstimatorLocaleContent } from '../index';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+
4
+ const slug = 'fertile-days-calculator';
5
+ const title = '가임기 및 배란일 계산기';
6
+ const description = '생리 주기를 바탕으로 가장 임신 가능성이 높은 가임기(가임 윈도우)와 배란 예정일을 계산합니다.';
7
+ const faq = [
8
+ {
9
+ question: '가임기는 어떻게 계산되나요?',
10
+ answer: '가임기는 마지막 생리 시작일을 기준으로 계산됩니다. 일반적으로 배란은 다음 생리 예정일로부터 약 14일 전에 발생합니다. 가임기는 배란 전 5일과 배란 당일을 포함한 기간을 의미합니다.',
11
+ },
12
+ {
13
+ question: '이 계산기의 정확도는 어느 정도인가요?',
14
+ answer: '이 계산기는 표준 28일 주기(또는 사용자가 입력한 주기)를 바탕으로 한 예측값입니다. 개인의 컨디션이나 환경에 따라 변동될 수 있으므로 참고용으로 활용하시길 권장합니다. 더 정확한 결과를 원하신다면 기초체온 측정이나 배란 테스트기 사용을 병행하는 것이 좋습니다.',
15
+ },
16
+ {
17
+ question: '생리 주기가 불규칙한 경우는 어떻게 하나요?',
18
+ answer: '주기 변화가 큰 경우, 달력 방식의 계산은 정확도가 떨어질 수 있습니다. 이런 경우 기초체온 측정 또는 LH 호르몬을 확인하는 배란 테스트기를 사용하는 것이 배란일을 식별하는 데 더 신뢰할 수 있는 방법입니다.',
19
+ },
20
+ {
21
+ question: '배란 후 난자는 얼마나 생존하나요?',
22
+ answer: '난자의 생존 기간은 배란 후 약 12~24시간입니다. 반면 정자는 여성의 체내에서 최대 5일까지 생존할 수 있으므로, 실제 가임기는 배란일 수일 전부터 시작됩니다.',
23
+ },
24
+ {
25
+ question: '피임을 위해 이 계산기를 사용해도 될까요?',
26
+ answer: '이 계산기를 피임 목적으로 사용하는 것은 권장하지 않습니다. 달력 기반 방식은 실패율이 높기 때문입니다. 자신에게 맞는 안전하고 확실한 피임법에 대해서는 전문의와 상담하시기 바랍니다.',
27
+ },
28
+ ];
29
+ const howTo = [
30
+ {
31
+ name: '마지막 생리 시작일 선택',
32
+ text: '달력에서 마지막 생리가 시작된 날짜를 클릭하세요.',
33
+ },
34
+ {
35
+ name: '생리 주기 조절',
36
+ text: '슬라이더를 움직여 평소 본인의 평균적인 생리 주기 일수를 설정하세요.',
37
+ },
38
+ {
39
+ name: '결과 확인',
40
+ text: '예상 배란일, 가임기, 그리고 다음 생리 예정일이 자동으로 표시됩니다.',
41
+ },
42
+ {
43
+ name: '달력 탐색',
44
+ text: '내비게이션 화살표를 사용하여 이전 또는 다음 달의 예측 일정을 확인할 수 있습니다.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faq.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howTo.map((step) => ({
63
+ '@type': 'HowToStep',
64
+ name: step.name,
65
+ text: step.text,
66
+ })),
67
+ };
68
+ const appSchema: WithContext<SoftwareApplication> = {
69
+ '@context': 'https://schema.org',
70
+ '@type': 'SoftwareApplication',
71
+ name: title,
72
+ description,
73
+ applicationCategory: 'UtilitiesApplication',
74
+ operatingSystem: 'Web',
75
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
76
+ inLanguage: 'ko',
77
+ };
78
+
79
+ export const content: FertileDaysEstimatorLocaleContent = {
80
+ slug,
81
+ title,
82
+ description,
83
+ ui: {
84
+ step1Title: '마지막 생리는 언제 시작되었나요?',
85
+ step1Desc: '달력에서 마지막 생리 주기 첫날을 선택해 주세요.',
86
+ pulseHint: '달력의 날짜를 클릭하여 시작하세요',
87
+ step1Indicator: '시작일',
88
+ step2Indicator: '나의 달력',
89
+ sidebarTitle: '나의 주기',
90
+ sidebarDesc: '생리 주기 일수를 조절하여 결과를 최적화하세요.',
91
+ labelCycleLength: '생리 주기 일수',
92
+ unitDays: '일',
93
+ labelOvulation: '다음 배란 예정일',
94
+ labelFertileWindow: '가임기 (임신 가능성 높음)',
95
+ labelNextPeriod: '다음 생리 예정일',
96
+ legendSelection: '선택한 날짜',
97
+ legendPeriod: '생리 기간',
98
+ legendFertile: '가임일',
99
+ legendOvulation: '배란일',
100
+ faqTitle: '자주 묻는 질문',
101
+ bibliographyTitle: '참고 자료',
102
+ },
103
+ seo: [
104
+ {
105
+ type: 'title',
106
+ text: '배란일 및 가임기 계산: 생리 주기와 임신을 위한 완전 가이드',
107
+ level: 2,
108
+ },
109
+ {
110
+ type: 'summary',
111
+ title: '가임기에 관한 5가지 핵심 포인트',
112
+ items: [
113
+ '배란은 보통 다음 생리 시작일 약 14일 전에 발생합니다.',
114
+ '가장 임신 확률이 높은 가임기는 배란 전 5일부터 배란 당일까지입니다.',
115
+ '정자는 여성 체내에서 최대 5일 동안 생존할 수 있습니다.',
116
+ '불규칙한 주기의 경우 달력 방식의 예측 신뢰도가 낮아집니다.',
117
+ '더 정확한 예측을 위해서는 기초체온이나 배란 테스트기 활용이 효과적입니다.',
118
+ ],
119
+ },
120
+ {
121
+ type: 'title',
122
+ text: '가임기 계산 원리',
123
+ level: 3,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: '이 도구는 오기노 방식과 표준 배란 모델을 기반으로 합니다. 28일 주기의 경우 배란은 대략 14일째에 발생하며, 계산기는 이 시점을 중심으로 임신 가능성이 가장 높은 기간을 표시합니다.',
128
+ },
129
+ {
130
+ type: 'stats',
131
+ columns: 3,
132
+ items: [
133
+ { value: '14일 전', label: '다음 생리 시작일 기준' },
134
+ { value: '6일간', label: '가임기 지속 기간' },
135
+ { value: '12-24시간', label: '난자 생존 기간' },
136
+ ],
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: '생리 주기의 단계별 특징',
141
+ level: 3,
142
+ },
143
+ {
144
+ type: 'comparative',
145
+ columns: 2,
146
+ items: [
147
+ {
148
+ title: '여포기 (Follicular Phase)',
149
+ description: '생리 시작부터 배란 전까지의 단계입니다.',
150
+ points: [
151
+ 'FSH 호르몬의 영향으로 난포가 성숙합니다.',
152
+ '규칙적인 주기에서 보통 10~14일간 지속됩니다.',
153
+ '에스트로겐 수치가 점진적으로 상승합니다.',
154
+ ],
155
+ },
156
+ {
157
+ title: '황체기 (Luteal Phase)',
158
+ description: '배란 이후부터 다음 생리 전까지의 단계입니다.',
159
+ points: [
160
+ '황체에서 프로게스테론이 분비되어 자궁 내막을 두껍게 만듭니다.',
161
+ '정상적인 생리 주기에서 약 14일로 매우 일정합니다.',
162
+ '수정이 이루어지지 않으면 황체가 퇴화하며 생리가 시작됩니다.',
163
+ ],
164
+ },
165
+ ],
166
+ },
167
+ {
168
+ type: 'tip',
169
+ html: '계산기는 표준 모델을 따르지만, 실제 주기는 매달 다를 수 있습니다. 정확도를 높이려면 기초체온 기록이나 배란 테스트기를 함께 사용하는 것을 추천합니다.',
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: '배란을 알리는 신체적 신호',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'list',
178
+ items: [
179
+ '자궁경부 점액 변화: 가임기에는 달걀 흰자처럼 투명하고 잘 늘어나는 점액이 나옵니다.',
180
+ '기초체온의 변화: 배란 직후 체온이 미세하게(0.2~0.4℃) 상승하며 고온기에 진입합니다.',
181
+ '배란통: 배란이 일어나는 쪽 하복부에 가벼운 통증이나 불편함을 느낄 수 있습니다.',
182
+ '성욕 증대: 호르몬 변화로 인해 배란기 근처에 성욕이 일시적으로 높아질 수 있습니다.',
183
+ '복부 팽만감: 배란기에 아랫배가 묵직하거나 팽팽한 느낌을 받을 수 있습니다.',
184
+ ],
185
+ },
186
+ {
187
+ type: 'title',
188
+ text: '생활 습관과 가임력',
189
+ level: 3,
190
+ },
191
+ {
192
+ type: 'list',
193
+ items: [
194
+ '만성적인 스트레스는 배란 장애를 일으키거나 주기를 불규칙하게 만듭니다.',
195
+ '체중의 영향: 저체중이나 과체중 모두 호르몬 불균형을 유발해 배란에 영향을 줍니다.',
196
+ '적당한 운동은 주기를 일정하게 돕지만, 과도한 고강도 운동은 배란을 억제할 수 있습니다.',
197
+ '흡연은 난소 기능을 저하시키고 폐경 시기를 앞당기는 요인이 됩니다.',
198
+ '엽산, 철분, 항산화제가 풍부한 식단은 건강한 가임력 유지에 도움을 줍니다.',
199
+ ],
200
+ },
201
+ {
202
+ type: 'title',
203
+ text: '주기 모니터링 방법 비교',
204
+ level: 3,
205
+ },
206
+ {
207
+ type: 'table',
208
+ headers: ['방법', '신뢰도', '비용'],
209
+ rows: [
210
+ ['달력 계산법', '중', '무료'],
211
+ ['기초체온법', '상 (지속적 기록 필요)', '하'],
212
+ ['배란 테스트기 (LH)', '상', '중'],
213
+ ['디지털 가임기 모니터', '최상', '상'],
214
+ ['난포 추적 초음파', '가장 정확', '임상 확인'],
215
+ ],
216
+ },
217
+ {
218
+ type: 'glossary',
219
+ items: [
220
+ {
221
+ term: '배란 (Ovulation)',
222
+ definition: '황체형성호르몬(LH)이 급증하며 성숙한 난자가 난포 밖으로 배출되는 현상입니다. 한 주기에 한 번 발생합니다.',
223
+ },
224
+ {
225
+ term: '가임 윈도우 (Fertile Window)',
226
+ definition: '가장 임신 확률이 높은 기간으로, 배란 전 5일과 배란 당일까지를 포함합니다.',
227
+ },
228
+ {
229
+ term: '자궁경부 점액',
230
+ definition: '자궁 입구에서 분비되는 액체로, 배란기에는 정자가 잘 통과할 수 있도록 투명하고 끈적이는 상태로 변합니다.',
231
+ },
232
+ {
233
+ term: '기초체온',
234
+ definition: '충분한 휴식을 취한 후 깨어나자마자 측정하는 최소 체온입니다. 배란 후 프로게스테론의 영향으로 약간 상승합니다.',
235
+ },
236
+ ],
237
+ },
238
+ ],
239
+ faqTitle: "자주 묻는 질문",
240
+ faq,
241
+ bibliographyTitle: "참고 자료",
242
+ bibliography: [
243
+ {
244
+ name: 'WHO (세계보건기구) - 가족 계획',
245
+ url: 'https://www.who.int/health-topics/family-planning-contraception',
246
+ },
247
+ {
248
+ name: 'ACOG (미국산부인과학회) - 가임력 인식',
249
+ url: 'https://www.acog.org/womens-health/faqs/fertility-awareness-based-methods-of-family-planning',
250
+ },
251
+ {
252
+ name: '대한산부인과학회',
253
+ url: 'https://www.ksog.org',
254
+ },
255
+ {
256
+ name: 'Wilcox AJ et al. (NEJM, 1995) - 배란과 성관계 시점의 연관성',
257
+ url: 'https://www.nejm.org/doi/10.1056/NEJM199512073332301',
258
+ },
259
+ ],
260
+ howTo,
261
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
262
+ };
@@ -0,0 +1,262 @@
1
+ import type { FertileDaysEstimatorLocaleContent } from '../index';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+
4
+ const slug = 'vruchtbare-dagen-calculator';
5
+ const title = 'Vruchtbare Dagen Calculator';
6
+ const description = 'Bereken je vruchtbare dagen en ovulatiedatum op basis van je menstruatiecyclus.';
7
+ const faq = [
8
+ {
9
+ question: 'Hoe wordt de vruchtbare periode berekend?',
10
+ answer: 'De vruchtbare periode wordt berekend vanaf de eerste dag van je laatste menstruatie. De ovulatie vindt ongeveer 14 dagen voor het begin van de volgende cyclus plaats. De vruchtbare dagen omvatten de 5 dagen vóór de ovulatie en de dag van de ovulatie zelf.',
11
+ },
12
+ {
13
+ question: 'Hoe nauwkeurig is deze calculator?',
14
+ answer: 'De calculator is een schatting op basis van het standaardmodel van een cyclus van 28 dagen (of het aantal dagen dat je zelf opgeeft). Het is een indicatie en houdt mogelijk geen rekening met individuele variaties. Voor meer nauwkeurigheid kun je dit combineren met het bijhouden van je basale temperatuur of ovulatietesten.',
15
+ },
16
+ {
17
+ question: 'Wat als mijn cyclus onregelmatig is?',
18
+ answer: 'Als je cyclus van maand tot maand sterk varieert, kan de berekening minder nauwkeurig zijn. In dat geval zijn het bijhouden van de basale temperatuur of LH-testen betrouwbaardere methoden om de ovulatie te identificeren.',
19
+ },
20
+ {
21
+ question: 'Hoe lang overleeft de eicel na de ovulatie?',
22
+ answer: 'De eicel heeft een levensduur van 12 tot 24 uur. Spermacellen kunnen echter tot 5 dagen overleven in het vrouwelijke voortplantingsstelsel, waardoor de werkelijke vruchtbare periode meerdere dagen vóór de ovulatie begint.',
23
+ },
24
+ {
25
+ question: 'Kan deze calculator gebruikt worden als anticonceptie?',
26
+ answer: 'Het wordt niet aanbevolen om deze calculator te gebruiken als anticonceptiemethode. Op de kalender gebaseerde methoden hebben een aanzienlijk foutpercentage. Raadpleeg je arts of gynaecoloog voor veilige en voor jou geschikte anticonceptiemethoden.',
27
+ },
28
+ ];
29
+ const howTo = [
30
+ {
31
+ name: 'Selecteer de eerste dag van je laatste menstruatie',
32
+ text: 'Klik op de dag in de kalender die overeenkomt met het begin van je laatste menstruatie.',
33
+ },
34
+ {
35
+ name: 'Pas de duur van je cyclus aan',
36
+ text: 'Verschuif de regelaar om aan te geven hoeveel dagen je menstruatiecyclus gewoonlijk duurt.',
37
+ },
38
+ {
39
+ name: 'Bekijk de resultaten',
40
+ text: 'De calculator toont automatisch de geschatte ovulatiedatum, de vruchtbare periode en het begin van de volgende menstruatie.',
41
+ },
42
+ {
43
+ name: 'Navigeer door de kalender',
44
+ text: 'Gebruik de pijltoetsen om de gemarkeerde dagen in eerdere of volgende maanden te bekijken.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faq.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howTo.map((step) => ({
63
+ '@type': 'HowToStep',
64
+ name: step.name,
65
+ text: step.text,
66
+ })),
67
+ };
68
+ const appSchema: WithContext<SoftwareApplication> = {
69
+ '@context': 'https://schema.org',
70
+ '@type': 'SoftwareApplication',
71
+ name: title,
72
+ description,
73
+ applicationCategory: 'UtilitiesApplication',
74
+ operatingSystem: 'Web',
75
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
76
+ inLanguage: 'nl',
77
+ };
78
+
79
+ export const content: FertileDaysEstimatorLocaleContent = {
80
+ slug,
81
+ title,
82
+ description,
83
+ ui: {
84
+ step1Title: 'Wanneer begon je laatste menstruatie?',
85
+ step1Desc: 'Selecteer de eerste dag van je laatste menstruatiecyclus in de kalender.',
86
+ pulseHint: 'Klik op een dag in de kalender om verder te gaan',
87
+ step1Indicator: 'Startdatum',
88
+ step2Indicator: 'Jouw Kalender',
89
+ sidebarTitle: 'Jouw Cyclus',
90
+ sidebarDesc: 'Personaliseer de resultaten door de duur van je cyclus aan te passen.',
91
+ labelCycleLength: 'Cyclusduur',
92
+ unitDays: 'dagen',
93
+ labelOvulation: 'Volgende Ovulatie',
94
+ labelFertileWindow: 'Vruchtbare Periode',
95
+ labelNextPeriod: 'Volgende Menstruatie',
96
+ legendSelection: 'Jouw selectie',
97
+ legendPeriod: 'Menstruatie',
98
+ legendFertile: 'Vruchtbaar',
99
+ legendOvulation: 'Ovulatie',
100
+ faqTitle: 'Veelgestelde vragen',
101
+ bibliographyTitle: 'Referenties',
102
+ },
103
+ seo: [
104
+ {
105
+ type: 'title',
106
+ text: 'Vruchtbare Dagen Calculator: Complete Gids over Cyclus en Ovulatie',
107
+ level: 2,
108
+ },
109
+ {
110
+ type: 'summary',
111
+ title: '5 kernpunten over de vruchtbare periode',
112
+ items: [
113
+ 'De ovulatie vindt ongeveer 14 dagen vóór het begin van de volgende menstruatie plaats.',
114
+ 'De vruchtbare periode omvat de 5 dagen vóór de ovulatie plus de dag van de ovulatie zelf.',
115
+ 'Spermacellen kunnen tot 5 dagen overleven in het vrouwelijke voortplantingsstelsel.',
116
+ 'Onregelmatige cycli verminderen de betrouwbaarheid van de kalenderberekening.',
117
+ 'Het combineren van deze tool met basale temperatuur of LH-testen verhoogt de nauwkeurigheid.',
118
+ ],
119
+ },
120
+ {
121
+ type: 'title',
122
+ text: 'Hoe de berekening van de vruchtbare periode werkt',
123
+ level: 3,
124
+ },
125
+ {
126
+ type: 'paragraph',
127
+ html: 'De methode is gebaseerd op de regel van Ogino-Knaus en het standaard ovulatiemodel. Bij een cyclus van 28 dagen vindt de ovulatie meestal plaats rond dag 14. De calculator identificeert dit moment en markeert de dagen van de hoogste vruchtbaarheid daaromheen.',
128
+ },
129
+ {
130
+ type: 'stats',
131
+ columns: 3,
132
+ items: [
133
+ { value: '14 dagen', label: 'Vóór de volgende menstruatie' },
134
+ { value: '5 dagen', label: 'Duur vruchtbare periode' },
135
+ { value: '12-24 u', label: 'Levensduur eicel' },
136
+ ],
137
+ },
138
+ {
139
+ type: 'title',
140
+ text: 'Fasen van de menstruatiecyclus',
141
+ level: 3,
142
+ },
143
+ {
144
+ type: 'comparative',
145
+ columns: 2,
146
+ items: [
147
+ {
148
+ title: 'Folliculaire fase',
149
+ description: 'Begint met de menstruatie en duurt tot aan de ovulatie.',
150
+ points: [
151
+ 'Ovariële follikels rijpen onder invloed van FSH.',
152
+ 'Duurt tussen 10 en 14 dagen in regelmatige cycli.',
153
+ 'Oestrogeenspiegels stijgen geleidelijk.',
154
+ ],
155
+ },
156
+ {
157
+ title: 'Luteale fase',
158
+ description: 'Begint na de ovulatie en eindigt met de menstruatie.',
159
+ points: [
160
+ 'Het corpus luteum produceert progesteron om het baarmoederslijmvlies voor te bereiden.',
161
+ 'Duurt ongeveer 14 dagen in normale cycli.',
162
+ 'Als er geen bevruchting plaatsvindt, degenereert het corpus luteum.',
163
+ ],
164
+ },
165
+ ],
166
+ },
167
+ {
168
+ type: 'tip',
169
+ html: 'Hoewel de calculator een standaardmodel gebruikt, kunnen menstruatiecycli van maand tot maand variëren. Voor meer nauwkeurigheid combineer je deze tool met het bijhouden van de basale temperatuur of ovulatietesten.',
170
+ },
171
+ {
172
+ type: 'title',
173
+ text: 'Biologische tekenen van ovulatie',
174
+ level: 3,
175
+ },
176
+ {
177
+ type: 'list',
178
+ items: [
179
+ 'Veranderingen in het baarmoederhalsslijm: op vruchtbare dagen wordt het transparant en elastisch, vergelijkbaar met eiwit.',
180
+ 'Lichte stijging van de basale lichaamstemperatuur (0,2–0,4 °C) net na de ovulatie.',
181
+ 'Lichte pijn of ongemak aan de zijde van de actieve eierstok (Mittelschmerz) tijdens de ovulatie.',
182
+ 'Lichte toename van het libido rond de ovulatie, gestuurd door hormonale veranderingen.',
183
+ 'Een opgeblazen gevoel of een licht zwaar gevoel in de onderbuik tijdens de vruchtbare dagen.',
184
+ ],
185
+ },
186
+ {
187
+ type: 'title',
188
+ text: 'Levensstijl en vruchtbaarheid',
189
+ level: 3,
190
+ },
191
+ {
192
+ type: 'list',
193
+ items: [
194
+ 'Chronische stress kan de ovulatie verstoren en de menstruatiecyclus verlengen of verkorten.',
195
+ 'Lichaamsgewicht heeft een directe invloed: zowel ondergewicht als overgewicht beïnvloeden de ovulatie.',
196
+ 'Matige lichaamsbeweging bevordert de regelmaat van de cyclus; extreme inspanning kan deze onderdrukken.',
197
+ 'Roken vermindert de ovariële reserve en vervroegt de menopauze met meerdere jaren.',
198
+ 'Een dieet rijk aan foliumzuur, ijzer en antioxidanten ondersteunt de reproductieve gezondheid.',
199
+ ],
200
+ },
201
+ {
202
+ type: 'title',
203
+ text: 'Methoden voor cyclusbewaking',
204
+ level: 3,
205
+ },
206
+ {
207
+ type: 'table',
208
+ headers: ['Methode', 'Betrouwbaarheid', 'Kosten'],
209
+ rows: [
210
+ ['Kalendercalculator', 'Gemiddeld', 'Gratis'],
211
+ ['Basale lichaamstemperatuur', 'Hoog met oefening', 'Laag'],
212
+ ['LH-urinetest', 'Hoog', 'Gemiddeld'],
213
+ ['Digitale vruchtbaarheidsmonitor', 'Zeer hoog', 'Hoog'],
214
+ ['Folliculaire echografie', 'Maximaal', 'Kliniek'],
215
+ ],
216
+ },
217
+ {
218
+ type: 'glossary',
219
+ items: [
220
+ {
221
+ term: 'Ovulatie',
222
+ definition: 'Het vrijkomen van een rijpe eicel uit de ovariële follikel, getriggerd door een piek in het luteïniserend hormoon (LH). Vindt één keer per cyclus plaats.',
223
+ },
224
+ {
225
+ term: 'Vruchtbare periode',
226
+ definition: 'Periode met de hoogste kans op conceptie, bestaande uit de 5 dagen vóór de ovulatie plus de dag van de ovulatie zelf.',
227
+ },
228
+ {
229
+ term: 'Baarmoederhalsslijm',
230
+ definition: 'Afscheiding van de baarmoederhals waarvan de textuur gedurende de cyclus varieert. Op vruchtbare dagen wordt het transparant en elastisch, wat de doorgang van spermacellen vergemakkelijkt.',
231
+ },
232
+ {
233
+ term: 'Basale lichaamstemperatuur',
234
+ definition: 'Lichaamstemperatuur in absolute rust, gemeten direct na het ontwaken vóór enige activiteit. Stijgt licht (0,2–0,4 °C) na de ovulatie onder invloed van progesteron.',
235
+ },
236
+ ],
237
+ },
238
+ ],
239
+ faqTitle: "Veelgestelde vragen",
240
+ faq,
241
+ bibliographyTitle: "Referenties",
242
+ bibliography: [
243
+ {
244
+ name: 'WHO - Gezinsplanning',
245
+ url: 'https://www.who.int/health-topics/family-planning-contraception',
246
+ },
247
+ {
248
+ name: 'American College of Obstetricians and Gynecologists - Fertility Awareness',
249
+ url: 'https://www.acog.org/womens-health/faqs/fertility-awareness-based-methods-of-family-planning',
250
+ },
251
+ {
252
+ name: 'NVOG - Menstruatiecyclus',
253
+ url: 'https://www.nvog.nl',
254
+ },
255
+ {
256
+ name: 'Wilcox AJ et al. - Timing of Sexual Intercourse in Relation to Ovulation (NEJM, 1995)',
257
+ url: 'https://www.nejm.org/doi/10.1056/NEJM199512073332301',
258
+ },
259
+ ],
260
+ howTo,
261
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
262
+ };