@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 = 'kalkulator-tygodnia-ciazy';
5
+ const title = 'Kalkulator Tygodnia Ciąży';
6
+ const description = 'Oblicz dokładnie, w którym tygodniu ciąży jesteś, trymestr oraz przewidywaną datę porodu.';
7
+ const faq = [
8
+ {
9
+ question: 'Jak oblicza się tydzień ciąży?',
10
+ answer: 'Liczy się od pierwszego dnia ostatniej miesiączki. Do tej daty dodaje się 280 dni, aby uzyskać przewidywaną datę porodu. Jeśli Twój cykl jest inny niż 28 dni, obliczenie jest automatycznie dostosowywane.',
11
+ },
12
+ {
13
+ question: 'Jaka jest różnica między użyciem daty ostatniej miesiączki a daty poczęcia?',
14
+ answer: 'Data ostatniej miesiączki (OM) to standardowa metoda stosowana przez lekarzy. Data poczęcia jest dokładniejsza, jeśli ją znasz, ponieważ unika szacowania 14 dni owulacji. Obie metody dają bardzo podobne wyniki w przypadku regularnych cykli.',
15
+ },
16
+ {
17
+ question: 'Dlaczego data porodu u mojego lekarza jest inna?',
18
+ answer: 'Lekarz mógł skorygować datę na podstawie badania USG z pierwszego trymetru, które jest najdokładniejszą metodą. Nieregularne cykle mogą również uzasadniać różnice.',
19
+ },
20
+ {
21
+ question: 'Kiedy zaczyna się drugi trymestr?',
22
+ answer: 'Drugi trymestr zaczyna się w 13. tygodniu i kończy z końcem 26. tygodnia. Jest to okres, w którym większość matek czuje przypływ energii, a brzuch staje się widoczny.',
23
+ },
24
+ {
25
+ question: 'Co to jest PDP i jaką ma dokładność?',
26
+ answer: 'Przewidywana Data Porodu (PDP) jest szacunkiem statystycznym. Tylko 3–5% dzieci rodzi się dokładnie tego dnia. Większość rodzi się między 38. a 42. tygodniem.',
27
+ },
28
+ ];
29
+ const howTo = [
30
+ {
31
+ name: 'Wybierz metodę obliczeń',
32
+ text: 'Wybierz, czy chcesz obliczyć od daty ostatniej miesiączki, czy od daty poczęcia.',
33
+ },
34
+ {
35
+ name: 'Wprowadź datę',
36
+ text: 'Wybierz dzień, miesiąc i rok, korzystając z list rozwijanych.',
37
+ },
38
+ {
39
+ name: 'Dostosuj długość cyklu',
40
+ text: 'Jeśli Twój cykl nie trwa 28 dni, przesuń suwak, aby uzyskać dokładniejszy szacunek.',
41
+ },
42
+ {
43
+ name: 'Sprawdź tydzień i trymestr',
44
+ text: 'Wynik pokazuje dokładny tydzień, trymestr oraz przewidywaną datę porodu.',
45
+ },
46
+ {
47
+ name: 'Poznaj kamienie milowe tygodnia',
48
+ text: 'Odkryj wielkość dziecka, zmiany biologiczne i spersonalizowane porady na każdy tydzień.',
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: 'pl',
81
+ };
82
+
83
+ export const content: PregnancyCalculatorLocaleContent = {
84
+ slug,
85
+ title,
86
+ description,
87
+ ui: {
88
+ btnFUR: 'Ostatnia Miesiączka',
89
+ btnConception: 'Data Poczęcia',
90
+ labelPartnerMode: 'Tryb partnera',
91
+ labelFUR: 'Data ostatniej miesiączki',
92
+ labelConception: 'Data poczęcia',
93
+ labelCycleLength: 'Długość cyklu',
94
+ unitDays: 'dni',
95
+ labelWeeks: 'Tygodnie',
96
+ labelTrimester: 'Trymestr',
97
+ labelEDD: 'Przewidywana Data Porodu',
98
+ eddPlaceholder: 'Wprowadź datę',
99
+ eddNote: 'Tylko 3–5% dzieci rodzi się dokładnie tego dnia',
100
+ btnCalendar: 'Zapisz w Kalendarzu',
101
+ labelFruits: 'Owoce',
102
+ labelGeek: 'Geek',
103
+ labelSweets: 'Słodycze',
104
+ labelBioLabel: 'Rozwój biologiczny',
105
+ labelMomKey: 'Twoje ciało dziś',
106
+ labelPartnerKey: 'Jak ją dziś wspierać',
107
+ labelNormalMolestias: 'Typowe dolegliwości',
108
+ labelAlert: 'Skonsultuj się, jeśli...',
109
+ labelTimeline: 'Oś czasu',
110
+ labelStartHere: 'Zacznij tutaj',
111
+ labelStartBody: 'Wybierz datę ostatniej miesiączki i sprawdź, w którym tygodniu jesteś.',
112
+ labelSem: 'Tyd',
113
+ labelWeekBadge: 'Tydzień',
114
+ weeksFormat: '{w}t {d}d',
115
+ trimesterSuffix: '.',
116
+ eggFutureTitle: 'Wykryto podróżniczkę w czasie',
117
+ eggFutureBody: 'Ta data jeszcze nie nadeszła. Wróć, gdy dogoni Cię rzeczywistość.',
118
+ eggTooOldTitle: 'Data wygasła',
119
+ eggTooOldBody: 'Minęło ponad 40 tygodni od tej daty. Jeśli wszystko poszło dobrze, dziecko jest już na świecie.',
120
+ faqTitle: 'Często zadawane pytania',
121
+ bibliographyTitle: 'Źródła',
122
+ dayLabel: 'Dzień',
123
+ monthLabel: 'Miesiąc',
124
+ yearLabel: 'Rok',
125
+ icsSummary: 'Przewidywana Data Porodu',
126
+ icsDescription: 'Szacowana data porodu obliczona przez jjlmoya',
127
+ icsFilename: 'data-porodu.ics',
128
+ monthsData: JSON.stringify(['Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Paź', 'Lis', 'Gru']),
129
+ timelineLabelsData: JSON.stringify({
130
+ 4: 'Implantacja', 5: 'Tętno', 6: 'Serce bije', 7: 'Oczy i uszy',
131
+ 8: 'Palce', 9: 'Paznokcie', 10: 'Już płód', 11: 'Ruchy',
132
+ 12: 'Triple Screening', 13: '2. Trymestr', 14: 'Szyjka macicy', 15: 'Kopnięcia',
133
+ 16: 'Słyszy głosy', 17: 'Tkanka tłuszczowa', 18: 'Płeć widoczna', 19: 'Maź płodowa',
134
+ 20: 'USG połówkowe', 21: 'Odciski palców', 22: 'Wargi uformowane', 23: 'Powieki',
135
+ 24: 'Oczy się otwierają', 25: 'Kapilary', 26: 'Odruchy', 27: 'Mózg aktywny',
136
+ 28: '3. Trymestr', 29: 'Mocne kości', 30: 'Szpik kostny', 31: 'Surfaktant',
137
+ 32: 'Ćwiczy oddech', 33: 'Odporność', 34: 'Układ nerwowy', 35: 'Wstawianie się',
138
+ 36: 'Płuca dojrzałe', 37: 'Dziecko donoszone', 38: 'Gotowy', 39: 'Czekanie', 40: 'Nadszedł dzień',
139
+ }),
140
+ milestonesData: JSON.stringify({
141
+ 4: {
142
+ analogies: { fruits: 'Ziarenko maku', geek: 'Pojedynczy piksel', sweets: 'Kryształek cukru' },
143
+ size: '~1 mm',
144
+ biolook: 'Blastocysta zagnieżdża się w endometrium. Pojawiają się trzy warstwy zarodkowe, z których powstaną wszystkie organy.',
145
+ mom: 'Twoje ciało jeszcze nie wie o ciąży, ale produkuje już hCG. Możesz odczuć lekkie krwawienie implantacyjne.',
146
+ partner: 'Może być bardziej zmęczona niż zwykle, nie wiedząc dlaczego. To dobry moment, by ugotować jej ulubioną kolację.',
147
+ symptoms: ['Wczesne zmęczenie', 'Napięcie w piersiach', 'Lekkie krwawienie implantacyjne'],
148
+ alerts: ['Obfite czerwone krwawienie', 'Ostry ból miednicy', 'Gorączka powyżej 38 stopni'],
149
+ wonder: 'W tym momencie rozstrzyga się, czy będzie jedno, czy dwoje dzieci.',
150
+ },
151
+ 6: {
152
+ analogies: { fruits: 'Soczewica', geek: 'Migająca dioda LED', sweets: 'Lacasito' },
153
+ size: '~6 mm',
154
+ biolook: 'Serce zaczyna bić nieregularnie, ale jest już widoczne w badaniu USG. Cewa nerwowa się zamyka.',
155
+ mom: 'Teraz mogą zacząć się poranne mdłości.',
156
+ partner: 'Jej węch staje się nadludzki. Unikaj mocnych perfum i nie gotuj ryb w domu.',
157
+ symptoms: ['Mdłości', 'Nadwrażliwość na zapachy', 'Ekstremalna senność'],
158
+ alerts: ['Brak tętna w USG dopochwowym', 'Trwałe ciemne plamienie', 'Wymioty uniemożliwiające przyjmowanie płynów'],
159
+ wonder: 'Ma już tę samą podstawową strukturę mózgu, co osoba dorosła.',
160
+ },
161
+ 8: {
162
+ analogies: { fruits: 'Malina', geek: 'Pendrive nano', sweets: 'Żelek miś' },
163
+ size: '~18 mm',
164
+ biolook: 'Palce rąk i nóg rozdzielają się. Powieki zakrywają oczy. Serce bije 150-170 razy na minutę.',
165
+ mom: 'Twoja macica ma wielkość grejpfruta. Mdłości sięgają szczytu.',
166
+ partner: 'Może potrzebować 10-12 godzin snu. Przejmij obowiązki domowe.',
167
+ symptoms: ['Intensywne mdłości', 'Wzmożone ślinienie', 'Bardzo częste oddawanie moczu'],
168
+ alerts: ['Uporczywe wymioty', 'Ciemne plamienie', 'Silny ból lędźwi'],
169
+ wonder: 'Jeśli dotkniesz jej brzucha, ono już reaguje i się porusza.',
170
+ },
171
+ 10: {
172
+ analogies: { fruits: 'Kumkwat', geek: 'AirPod', sweets: 'Makaronik' },
173
+ size: '~31 mm',
174
+ biolook: 'Technicznie to już płód. Wszystkie organy istnieją w formie szczątkowej. Zaczynają rosnąć paznokcie.',
175
+ mom: 'Twoja talia zaczyna się poszerzać.',
176
+ partner: 'Towarzysz jej podczas pierwszej wizyty w pierwszym trymestrze.',
177
+ symptoms: ['Wzdęcia brzucha', 'Nagłe zmiany nastroju', 'Skóra bardziej wrażliwa na słońce'],
178
+ alerts: ['Wyciek jasnego płynu', 'Silne skurcze macicy', 'Gorączka bez wyraźnej przyczyny'],
179
+ wonder: 'Ma już własną grupę krwi, inną niż krew matki.',
180
+ },
181
+ 12: {
182
+ analogies: { fruits: 'Śliwka', geek: 'Mysz bezprzewodowa', sweets: 'Truskawkowe mochi' },
183
+ size: '~55 mm',
184
+ biolook: 'Główne organy są uformowane. Dziecko zaczyna ćwiczyć ruchy połykania.',
185
+ mom: 'Ryzyko poronienia drastycznie spada.',
186
+ partner: 'Drugi trymestr się zbliża. Jej zmęczenie wkrótce minie.',
187
+ symptoms: ['Zmniejszenie mdłości', 'Promienna skóra lub przebarwienia', 'Bóle głowy'],
188
+ alerts: ['Wyciek płynu', 'Silne skurcze', 'Uporczywa gorączka'],
189
+ wonder: 'Jego odruchy już działają: jeśli dotkniesz wnętrza dłoni, zaciśnie piąstkę.',
190
+ },
191
+ 16: {
192
+ analogies: { fruits: 'Awokado', geek: 'Kontroler PS5', sweets: 'Pączek z czekoladą' },
193
+ size: '~12 cm',
194
+ biolook: 'Uszy są w docelowym położeniu. Szkielet chrzęstny zamienia się w kość.',
195
+ mom: 'Wiele mam czuje pierwsze ruchy. Wraca energia.',
196
+ partner: 'Być może zacznie odczuwać delikatne ruchy.',
197
+ symptoms: ['Lekka zgaga', 'Zatkany nos', 'Bardzo realistyczne sny'],
198
+ alerts: ['Całkowity brak ruchów płodu', 'Wysokie ciśnienie', 'Krwawienie z dróg rodnych'],
199
+ wonder: 'Jeśli to dziewczynka, w jej jajnikach jest już 6 milionów jajeczek.',
200
+ },
201
+ 20: {
202
+ analogies: { fruits: 'Banan', geek: 'Przenośna konsola', sweets: 'Cały sernik' },
203
+ size: '~25 cm',
204
+ biolook: 'Dziecko wyraźnie słyszy Twój głos. Ssie kciuk.',
205
+ mom: '20. tydzień, półmetek. Czas na USG połówkowe.',
206
+ partner: 'Mów do dziecka. Ono już Cię słyszy.',
207
+ symptoms: ['Częsta zgaga', 'Obrzęk stóp pod koniec dnia', 'Świąd skóry brzucha'],
208
+ alerts: ['Brak ruchów płodu', 'Utrzymujące się wysokie ciśnienie', 'Niewyraźne widzenie lub mroczki przed oczami'],
209
+ wonder: 'Jego odciski palców są już kompletne i unikalne w całym wszechświecie.',
210
+ },
211
+ 24: {
212
+ analogies: { fruits: 'Kolba kukurydzy', geek: 'Klawiatura mechaniczna', sweets: 'Gigantyczny pączek' },
213
+ size: '~30 cm',
214
+ biolook: 'Płuca produkują surfaktant. Oczy zaczynają się otwierać.',
215
+ mom: 'Macica sięga pępka. Plecy mogą zacząć boleć.',
216
+ partner: 'Poznaj oznaki porodu przedwczesnego.',
217
+ symptoms: ['Ból w dolnej części pleców', 'Skurcze łydek w nocy', 'Ciemna linia na brzuchu (linea nigra)'],
218
+ alerts: ['Regularne skurcze przed 37. tygodniem', 'Odejście wód płodowych', 'Krwawienie z dróg rodnych'],
219
+ wonder: 'Jeśli urodzi się teraz, dzięki intensywnej opiece ma szansę przeżyć.',
220
+ },
221
+ 28: {
222
+ analogies: { fruits: 'Bakłażan', geek: 'Tablet graficzny', sweets: 'Trzypiętrowy tort' },
223
+ size: '~37 cm',
224
+ biolook: 'Dziecko otwiera i zamyka oczy. Ma cykle snu i czuwania.',
225
+ mom: 'Zaczyna się trzeci trymestr. Czas na test obciążenia glukozą.',
226
+ partner: 'Bezsenność może ją wyczerpać. Wspieraj ją.',
227
+ symptoms: ['Bezsenność i trudności ze znalezieniem pozycji', 'Obrzęki dłoni i stóp', 'Sporadyczne skurcze Braxtona-Hicksa'],
228
+ alerts: ['Wyraźne zmniejszenie ruchów płodu', 'Silny ból głowy, który nie ustępuje', 'Mroczki lub błyski przed oczami'],
229
+ wonder: 'Ma już swój ulubiony smak.',
230
+ },
231
+ 32: {
232
+ analogies: { fruits: 'Średnia dynia', geek: 'Klawiatura 60%', sweets: 'Całe pudełko czekoladek' },
233
+ size: '~42 cm',
234
+ biolook: 'Ćwiczy oddychanie. Płuca są prawie gotowe do życia na zewnątrz.',
235
+ mom: 'Złapanie oddechu staje się trudne. Dziecko uciska przeponę.',
236
+ partner: 'Przygotuj torbę do szpitala.',
237
+ symptoms: ['Zadyszka przy minimalnym wysiłku', 'Hemoroidy', 'Popuszczanie moczu przy śmiechu lub kaszlu'],
238
+ alerts: ['Silny świąd dłoni i stóp', 'Regularne skurcze', 'Ból w nadbrzuszu z mdłościami'],
239
+ wonder: 'Obraca już głowę w stronę światła przenikającego przez brzuch matki.',
240
+ },
241
+ 36: {
242
+ analogies: { fruits: 'Melon kantalupa', geek: 'Laptop 15 cali', sweets: 'Tort urodzinowy' },
243
+ size: '~47 cm',
244
+ biolook: 'Dziecko zazwyczaj ustawia się głową w dół. Płuca są prawie dojrzałe.',
245
+ mom: 'Czujesz ucisk w miednicy, gdy dziecko się wstawia.',
246
+ partner: 'Plan porodu powinien być gotowy.',
247
+ symptoms: ['Silny ucisk w miednicy', 'Powrót zgagi', 'Lęk przedporodowy'],
248
+ alerts: ['Odejście wód', 'Czerwone krwawienie', 'Brak ruchów płodu'],
249
+ wonder: 'Ma już tak długie paznokcie, że mogłoby się podrapać przy urodzeniu.',
250
+ },
251
+ 40: {
252
+ analogies: { fruits: 'Arbuz', geek: 'Kompletny komputer PC', sweets: 'Trzypiętrowy tort weselny' },
253
+ size: '~50 cm',
254
+ biolook: 'Wszystko gotowe. Odruchy są skoordynowane, płuca dojrzałe, mózg aktywny.',
255
+ mom: 'Zmęczenie sięga zenitu. Jesteś niesamowita.',
256
+ partner: 'Dziś może być ten dzień. Trzymaj telefon pod ręką i zachowaj spokój, którego ona potrzebuje.',
257
+ symptoms: ['Bardzo silny ucisk w miednicy', 'Odejście czopa śluzowego', 'Nieregularne skurcze'],
258
+ alerts: ['Regularne skurcze co 5 minut przez godzinę', 'Odejście wód', 'Brak ruchów'],
259
+ wonder: 'Jego mózg stworzył 100 miliardów neuronów w ciągu tych 9 miesięcy.',
260
+ },
261
+ }),
262
+ },
263
+ seo: [
264
+ {
265
+ type: 'summary',
266
+ title: 'O czym warto pamiętać',
267
+ items: [
268
+ 'Oblicz tydzień ciąży na podstawie daty ostatniej miesiączki lub daty poczęcia.',
269
+ 'PDP to tylko szacunek: tylko 3–5% dzieci rodzi się dokładnie tego dnia.',
270
+ 'Każdy trymestr ma swoje własne kamienie milowe i typowe dolegliwości.',
271
+ 'W przypadku sygnałów alarmowych niezwłocznie skonsultuj się z lekarzem lub położną.',
272
+ 'Tryb partnera podpowie Ci, jak wspierać swoją partnerkę tydzień po tygodniu.',
273
+ ],
274
+ },
275
+ {
276
+ type: 'title',
277
+ text: 'Kalkulator Tygodnia Ciąży: Coś więcej niż tylko data porodu',
278
+ level: 2,
279
+ },
280
+ {
281
+ type: 'stats',
282
+ columns: 3,
283
+ items: [
284
+ { value: '40 tygodni', label: 'Średni czas trwania ciąży' },
285
+ { value: '280 dni', label: 'Dni ciąży' },
286
+ { value: '±14 dni', label: 'Margines błędu PDP' },
287
+ ],
288
+ },
289
+ {
290
+ type: 'title',
291
+ text: 'Jak oblicza się tydzień ciąży',
292
+ level: 3,
293
+ },
294
+ {
295
+ type: 'list',
296
+ items: [
297
+ 'Najczęstsza metoda przyjmuje datę ostatniej miesiączki (OM) jako punkt wyjścia.',
298
+ 'Dodaje się 280 dni do daty OM, aby wyznaczyć przewidywaną datę porodu (PDP).',
299
+ 'Jeśli Twój cykl nie trwa 28 dni, PDP jest automatycznie korygowana.',
300
+ 'Metoda poczęcia odejmuje 14 dni od obliczeń, by przybliżyć PDP od momentu zapłodnienia.',
301
+ 'Badanie USG w pierwszym trymestrze pozwala najdokładniej określić wiek ciąży.',
302
+ ],
303
+ },
304
+ {
305
+ type: 'tip',
306
+ html: 'Jeśli Twój lekarz podaje inną datę niż obliczona tutaj, najprawdopodobniej wynika to z nieregularnego cyklu lub korekty USG. Obie daty są poprawne.',
307
+ },
308
+ {
309
+ type: 'title',
310
+ text: 'Trzy trymestry ciąży',
311
+ level: 3,
312
+ },
313
+ {
314
+ type: 'table',
315
+ headers: ['Trymestr', 'Tygodnie', 'Główny cel', 'Ciało matki'],
316
+ rows: [
317
+ ['1.', '1 – 12', 'Formowanie narządów', 'Mdłości, zmęczenie, implantacja'],
318
+ ['2.', '13 – 26', 'Ruchy płodu, USG połówkowe', 'Powrót energii, widoczny brzuch'],
319
+ ['3.', '27 – 40', 'Dojrzewanie płuc, wstawianie się', 'Ucisk w miednicy, przygotowanie do porodu'],
320
+ ],
321
+ },
322
+ {
323
+ type: 'title',
324
+ text: 'Kamienie milowe tydzień po tygodniu',
325
+ level: 3,
326
+ },
327
+ {
328
+ type: 'table',
329
+ headers: ['Tydzień', 'Ok. wielkość', 'Kamień milowy', 'Co czuje matka'],
330
+ rows: [
331
+ ['4', '~1 mm', 'Zagnieżdżenie w endometrium', 'Możliwe lekkie plamienie'],
332
+ ['8', '~18 mm', 'Serce bije 150–170 razy/min', 'Mdłości w szczytowym punkcie'],
333
+ ['12', '~55 mm', 'Główne narządy uformowane', 'Ryzyko poronienia drastycznie spada'],
334
+ ['20', '~25 cm', 'Wyraźnie słyszy głosy', 'USG połówkowe'],
335
+ ['28', '~37 cm', 'Cykle snu i czuwania', 'Początek trzeciego trymetru'],
336
+ ['36', '~47 cm', 'Płuca prawie dojrzałe', 'Wstawianie się do miednicy'],
337
+ ['40', '~50 cm', 'Wszystko gotowe do narodzin', 'PDP: przewidywana data porodu'],
338
+ ],
339
+ },
340
+ {
341
+ type: 'title',
342
+ text: 'Typowe objawy wg trymestru',
343
+ level: 3,
344
+ },
345
+ {
346
+ type: 'comparative',
347
+ columns: 2,
348
+ items: [
349
+ {
350
+ title: 'Pierwszy trymestr (tyg. 1–12)',
351
+ description: 'Faza największych zmian hormonalnych.',
352
+ points: [
353
+ 'Nudności i wymioty, zwłaszcza rano',
354
+ 'Ekstremalne zmęczenie i senność',
355
+ 'Tkliwość piersi',
356
+ 'Częste oddawanie moczu',
357
+ 'Zmiany nastroju',
358
+ ],
359
+ },
360
+ {
361
+ title: 'Drugi trymestr (tyg. 13–26)',
362
+ description: 'Dla większości kobiet czas najlepszego samopoczucia.',
363
+ points: [
364
+ 'Ustąpienie mdłości',
365
+ 'Odzyskanie energii',
366
+ 'Widoczny brzuch od ok. 18–20 tyg.',
367
+ 'Pierwsze ruchy płodu (18–22 tyg.)',
368
+ 'Narastająca zgaga',
369
+ ],
370
+ },
371
+ {
372
+ title: 'Trzeci trymestr (tyg. 27–40)',
373
+ description: 'Przygotowanie do porodu.',
374
+ points: [
375
+ 'Ucisk w miednicy i ból pleców',
376
+ 'Skurcze Braxtona-Hicksa',
377
+ 'Obrzęki stóp i kostek',
378
+ 'Trudności ze snem',
379
+ 'Wstawianie się dziecka (36–38 tyg.)',
380
+ ],
381
+ },
382
+ ],
383
+ },
384
+ {
385
+ type: 'title',
386
+ text: 'Sygnały alarmowe wymagające natychmiastowej konsultacji',
387
+ level: 3,
388
+ },
389
+ {
390
+ type: 'list',
391
+ items: [
392
+ 'Obfite krwawienie z dróg rodnych w dowolnym tygodniu: pilna konsultacja.',
393
+ 'Regularne skurcze przed 37. tygodniem: ryzyko porodu przedwczesnego.',
394
+ 'Odejście wód płodowych: pęknięcie pęcherza płodowego, udaj się na SOR.',
395
+ 'Silny ból głowy z zaburzeniami widzenia: możliwe zatrucie ciążowe (preeklampsja).',
396
+ 'Brak ruchów płodu po 20. tygodniu: sygnał alarmowy.',
397
+ ],
398
+ },
399
+ {
400
+ type: 'title',
401
+ text: 'Niezbędne wizyty lekarskie',
402
+ level: 3,
403
+ },
404
+ {
405
+ type: 'list',
406
+ items: [
407
+ 'Tydzień 8–12: pierwsze USG i badania krwi pierwszego trymetru.',
408
+ 'Tydzień 12: test PAPP-A i badanie przezierności karkowej.',
409
+ 'Tydzień 18–22: USG połówkowe (genetyczne).',
410
+ 'Tydzień 24–28: test obciążenia glukozą (krzywa cukrowa).',
411
+ 'Tydzień 36: GBS (wymaz w kierunku paciorkowca), USG kontrolne.',
412
+ ],
413
+ },
414
+ {
415
+ type: 'glossary',
416
+ items: [
417
+ {
418
+ term: 'OM / FUR',
419
+ definition: 'Data Ostatniej Miesiączki. Punkt odniesienia do wyznaczenia wieku ciąży.',
420
+ },
421
+ {
422
+ term: 'PDP / EDD',
423
+ definition: 'Przewidywana Data Porodu. Obliczana przez dodanie 280 dni do daty OM.',
424
+ },
425
+ {
426
+ term: 'Wody płodowe',
427
+ definition: 'Płyn otaczający dziecko w macicy. Chroni płód, reguluje temperaturę i umożliwia ruchy.',
428
+ },
429
+ {
430
+ term: 'Czop śluzowy',
431
+ definition: 'Gęsta wydzielina zamykająca szyjkę macicy w czasie ciąży. Jego odejście oznacza zbliżający się poród.',
432
+ },
433
+ {
434
+ term: 'Preeklampsja',
435
+ definition: 'Powikłanie ciąży charakteryzujące się wysokim ciśnieniem i uszkodzeniami narządów. Wymaga pilnej opieki.',
436
+ },
437
+ ],
438
+ },
439
+ ],
440
+ faqTitle: 'Często zadawane pytania',
441
+ faq,
442
+ bibliographyTitle: 'Źródła',
443
+ bibliography: [
444
+ {
445
+ name: 'WHO – Care during pregnancy',
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: 'Polskie Towarzystwo Ginekologów i Położników (PTGiP)',
454
+ url: 'https://www.ptginp.pl',
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
+ };