@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 = 'kalkulyator-beremennosti-po-nedelyam';
5
+ const title = 'Калькулятор недель беременности';
6
+ const description = 'Точно рассчитайте, на какой неделе беременности вы находитесь, триместр и предполагаемую дату родов.';
7
+ const faq = [
8
+ {
9
+ question: 'Как рассчитывается неделя беременности?',
10
+ answer: 'Отсчет ведется от первого дня вашей последней менструации. К этой дате прибавляется 280 дней для получения предполагаемой даты родов. Если ваш цикл отличается от 28 дней, расчет автоматически корректируется.',
11
+ },
12
+ {
13
+ question: 'В чем разница между использованием даты последней менструации и даты зачатия?',
14
+ answer: 'Дата последней менструации — это стандартный метод, используемый врачами. Дата зачатия более точна, если вы ее знаете, так как она исключает оценку 14 дней овуляции. Оба метода дают очень похожие результаты при регулярных циклах.',
15
+ },
16
+ {
17
+ question: 'Почему дата родов у моего врача отличается?',
18
+ answer: 'Ваш врач мог скорректировать дату на основе УЗИ первого триместра, которое является наиболее точным методом. Нерегулярные циклы также могут объяснять различия.',
19
+ },
20
+ {
21
+ question: 'Когда начинается второй триместр?',
22
+ answer: 'Второй триместр начинается на 13-й неделе и заканчивается в конце 26-й недели. Это период, когда большинство матерей чувствуют прилив энергии и когда живот становится заметным.',
23
+ },
24
+ {
25
+ question: 'Что такое ПДР и насколько она точна?',
26
+ answer: 'Предполагаемая Дата Родов (ПДР) — это статистическая оценка. Только 3–5% детей рождаются точно в этот день. Большинство рождается между 38-й и 42-й неделями.',
27
+ },
28
+ ];
29
+ const howTo = [
30
+ {
31
+ name: 'Выберите метод расчета',
32
+ text: 'Выберите, хотите ли вы рассчитывать от даты последней менструации или от даты зачатия.',
33
+ },
34
+ {
35
+ name: 'Введите дату',
36
+ text: 'Выберите день, месяц и год в раскрывающихся меню.',
37
+ },
38
+ {
39
+ name: 'Настройте продолжительность цикла',
40
+ text: 'Если ваш цикл не составляет 28 дней, переместите ползунок для получения более точной оценки.',
41
+ },
42
+ {
43
+ name: 'Проверьте неделю и триместр',
44
+ text: 'Результат покажет точную неделю, триместр и предполагаемую дату родов.',
45
+ },
46
+ {
47
+ name: 'Изучите еженедельные вехи',
48
+ text: 'Узнайте о размере ребенка, биологических изменениях и получите персональные советы на каждую неделю.',
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: 'ru',
81
+ };
82
+
83
+ export const content: PregnancyCalculatorLocaleContent = {
84
+ slug,
85
+ title,
86
+ description,
87
+ ui: {
88
+ btnFUR: 'Посл. менструация',
89
+ btnConception: 'Дата зачатия',
90
+ labelPartnerMode: 'Режим партнера',
91
+ labelFUR: 'Дата последней менструации',
92
+ labelConception: 'Дата зачатия',
93
+ labelCycleLength: 'Длительность цикла',
94
+ unitDays: 'дней',
95
+ labelWeeks: 'Недели',
96
+ labelTrimester: 'Триместр',
97
+ labelEDD: 'Предполагаемая дата родов',
98
+ eddPlaceholder: 'Введите дату',
99
+ eddNote: 'Только 3–5% детей рождаются точно в этот день',
100
+ btnCalendar: 'Сохранить в календарь',
101
+ labelFruits: 'Фрукты',
102
+ labelGeek: 'Гик',
103
+ labelSweets: 'Сладости',
104
+ labelBioLabel: 'Биологическое развитие',
105
+ labelMomKey: 'Ваше тело сегодня',
106
+ labelPartnerKey: 'Как поддержать ее сегодня',
107
+ labelNormalMolestias: 'Обычные недомогания',
108
+ labelAlert: 'Проконсультируйтесь, если...',
109
+ labelTimeline: 'Линия времени',
110
+ labelStartHere: 'Начните здесь',
111
+ labelStartBody: 'Выберите дату последней менструации и узнайте, на какой вы неделе.',
112
+ labelSem: 'Нед',
113
+ labelWeekBadge: 'Неделя',
114
+ weeksFormat: '{w}н {d}д',
115
+ trimesterSuffix: '-й',
116
+ eggFutureTitle: 'Обнаружена путешественница во времени',
117
+ eggFutureBody: 'Эта дата еще не наступила. Возвращайтесь, когда реальность догонит вас.',
118
+ eggTooOldTitle: 'Срок истек',
119
+ eggTooOldBody: 'Прошло более 40 недель с этой даты. Если все прошло хорошо, ребенок уже родился.',
120
+ faqTitle: 'Часто задаваемые вопросы',
121
+ bibliographyTitle: 'Источники',
122
+ dayLabel: 'День',
123
+ monthLabel: 'Месяц',
124
+ yearLabel: 'Год',
125
+ icsSummary: 'Предполагаемая дата родов',
126
+ icsDescription: 'Оценочная дата родов, рассчитанная jjlmoya',
127
+ icsFilename: 'data-rodov.ics',
128
+ monthsData: JSON.stringify(['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек']),
129
+ timelineLabelsData: JSON.stringify({
130
+ 4: 'Имплантация', 5: 'Пульсация', 6: 'Сердце бьется', 7: 'Глаза и уши',
131
+ 8: 'Пальцы', 9: 'Ногти', 10: 'Уже плод', 11: 'Движения',
132
+ 12: 'Скрининг', 13: '2-й триместр', 14: 'Шейка матки', 15: 'Толчки',
133
+ 16: 'Слышит голоса', 17: 'Жировая ткань', 18: 'Пол виден', 19: 'Смазка',
134
+ 20: 'Морфол. УЗИ', 21: 'Отпечатки', 22: 'Губы сформированы', 23: 'Веки',
135
+ 24: 'Глаза открываются', 25: 'Капилляры', 26: 'Рефлексы', 27: 'Мозг активен',
136
+ 28: '3-й триместр', 29: 'Крепкие кости', 30: 'Костный мозг', 31: 'Сурфактант',
137
+ 32: 'Дыхание', 33: 'Иммунитет', 34: 'Нервная система', 35: 'Опускание',
138
+ 36: 'Легкие зрелые', 37: 'Доношенный', 38: 'Готов', 39: 'Ожидание', 40: 'День настал',
139
+ }),
140
+ milestonesData: JSON.stringify({
141
+ 4: {
142
+ analogies: { fruits: 'Маковое зернышко', geek: 'Одинокий пиксель', sweets: 'Крупинка сахара' },
143
+ size: '~1 мм',
144
+ biolook: 'Бластоциста имплантируется в эндометрий. Появляются три зародышевых слоя, из которых сформируются все органы.',
145
+ mom: 'Ваше тело еще не знает о беременности, но уже вырабатывает ХГЧ. Возможно небольшое имплантационное кровотечение.',
146
+ partner: 'Она может быть более уставшей, чем обычно, не понимая почему. Хорошее время приготовить ее любимый ужин.',
147
+ symptoms: ['Ранняя усталость', 'Напряжение в груди', 'Легкое имплантационное кровотечение'],
148
+ alerts: ['Обильное красное кровотечение', 'Острая тазовая боль', 'Температура выше 38 градусов'],
149
+ wonder: 'В этот момент решается, будет один ребенок или двойня.',
150
+ },
151
+ 6: {
152
+ analogies: { fruits: 'Чечевица', geek: 'Мигающий светодиод', sweets: 'Конфетка Lacasito' },
153
+ size: '~6 мм',
154
+ biolook: 'Сердце начинает биться нерегулярно, но это уже видно на УЗИ. Нервная трубка закрывается.',
155
+ mom: 'Сейчас может начаться утренняя тошнота.',
156
+ partner: 'Ее обоняние становится сверхчеловеческим. Избегайте резких парфюмов и готовки рыбы дома.',
157
+ symptoms: ['Тошнота', 'Гиперчувствительность к запахам', 'Сильная сонливость'],
158
+ alerts: ['Отсутствие сердцебиения на УЗИ', 'Стойкие темные выделения', 'Рвота без удержания жидкости'],
159
+ wonder: 'У него уже такая же базовая структура мозга, как у взрослого.',
160
+ },
161
+ 8: {
162
+ analogies: { fruits: 'Малина', geek: 'Нано-флешка', sweets: 'Мармеладный мишка' },
163
+ size: '~18 мм',
164
+ biolook: 'Пальцы рук и ног разделяются. Веки закрывают глаза. Сердце бьется 150-170 раз в минуту.',
165
+ mom: 'Ваша матка размером с грейпфрут. Тошнота на пике.',
166
+ partner: 'Ей может быть нужно спать по 10-12 часов. Возьмите на себя домашние дела.',
167
+ symptoms: ['Сильная тошнота', 'Повышенное слюноотделение', 'Очень частое мочеиспускание'],
168
+ alerts: ['Неукротимая рвота', 'Темные выделения', 'Сильная боль в пояснице'],
169
+ wonder: 'Если вы коснетесь ее живота, он уже реагирует и двигается.',
170
+ },
171
+ 10: {
172
+ analogies: { fruits: 'Кумкват', geek: 'AirPod', sweets: 'Макарун' },
173
+ size: '~31 мм',
174
+ biolook: 'Технически это уже плод. Все органы существуют в зачатке. Начинают расти ногти.',
175
+ mom: 'Ваша талия начинает расширяться.',
176
+ partner: 'Сопроводите ее на первый прием в первом триместре.',
177
+ symptoms: ['Вздутие живота', 'Резкие смены настроения', 'Кожа более чувствительна к солнцу'],
178
+ alerts: ['Подтекание светлой жидкости', 'Сильные спазмы матки', 'Температура без видимой причины'],
179
+ wonder: 'У него уже своя группа крови, отличная от материнской.',
180
+ },
181
+ 12: {
182
+ analogies: { fruits: 'Слива', geek: 'Беспроводная мышь', sweets: 'Клубничное моти' },
183
+ size: '~55 мм',
184
+ biolook: 'Основные органы сформированы. Ребенок начинает практиковать глотательные движения.',
185
+ mom: 'Риск выкидыша резко снижается.',
186
+ partner: 'Второй триместр приближается. Ее усталость скоро пройдет.',
187
+ symptoms: ['Уменьшение тошноты', 'Сияющая кожа или пигментные пятна', 'Головные боли'],
188
+ alerts: ['Подтекание жидкости', 'Сильные спазмы', 'Стойкая температура'],
189
+ wonder: 'Его рефлексы уже работают: если коснуться ладони, он сожмет кулачок.',
190
+ },
191
+ 16: {
192
+ analogies: { fruits: 'Авокадо', geek: 'Контроллер PS5', sweets: 'Шоколадный пончик' },
193
+ size: '~12 см',
194
+ biolook: 'Уши находятся в окончательном положении. Хрящевой скелет превращается в кость.',
195
+ mom: 'Многие мамы чувствуют первые шевеления. Энергия возвращается.',
196
+ partner: 'Возможно, он начнет чувствовать легкие толчки.',
197
+ symptoms: ['Легкая изжога', 'Заложенность носа', 'Очень яркие сны'],
198
+ alerts: ['Полное отсутствие шевелений плода', 'Высокое давление', 'Вагинальное кровотечение'],
199
+ wonder: 'Если это девочка, в ее яичниках уже 6 миллионов яйцеклеток.',
200
+ },
201
+ 20: {
202
+ analogies: { fruits: 'Банан', geek: 'Портативная консоль', sweets: 'Целый чизкейк' },
203
+ size: '~25 см',
204
+ biolook: 'Ребенок уже четко слышит ваш голос. Сосет палец.',
205
+ mom: '20-я неделя, экватор. Время морфологического УЗИ.',
206
+ partner: 'Разговаривайте с ребенком. Он вас уже слышит.',
207
+ symptoms: ['Частая изжога', 'Отеки стоп к концу дня', 'Зуд кожи живота'],
208
+ alerts: ['Отсутствие шевелений', 'Стойкое повышение давления', 'Затуманенное зрение или вспышки'],
209
+ wonder: 'Его отпечатки пальцев уже полностью сформированы и уникальны во вселенной.',
210
+ },
211
+ 24: {
212
+ analogies: { fruits: 'Початок кукурузы', geek: 'Механическая клавиатура', sweets: 'Гигантский пончик' },
213
+ size: '~30 см',
214
+ biolook: 'Легкие вырабатывают сурфактант. Глаза начинают открываться.',
215
+ mom: 'Ваша матка доходит до пупка. Может начать болеть спина.',
216
+ partner: 'Узнайте признаки преждевременных родов.',
217
+ symptoms: ['Боли в пояснице', 'Судороги в ногах ночью', 'Темная линия на животе'],
218
+ alerts: ['Регулярные схватки до 37-й недели', 'Подтекание околоплодных вод', 'Вагинальное кровотечение'],
219
+ wonder: 'Если он родится сейчас, при интенсивной терапии у него есть шансы выжить.',
220
+ },
221
+ 28: {
222
+ analogies: { fruits: 'Баклажан', geek: 'Графический планшет', sweets: 'Трехъярусный торт' },
223
+ size: '~37 см',
224
+ biolook: 'Ребенок открывает и закрывает глаза. У него есть циклы сна и бодрствования.',
225
+ mom: 'Начинается третий триместр. Время теста на глюкозу.',
226
+ partner: 'Бессонница может изматывать ее. Поддержите ее.',
227
+ symptoms: ['Бессонница и трудности с поиском позы', 'Отеки рук и ног', 'Редкие тренировочные схватки Брэкстона-Хикса'],
228
+ alerts: ['Заметное снижение шевелений плода', 'Сильная не проходящая головная боль', 'Мелькание «мушек» перед глазами'],
229
+ wonder: 'У него уже есть любимый вкус.',
230
+ },
231
+ 32: {
232
+ analogies: { fruits: 'Средняя тыква', geek: 'Клавиатура 60%', sweets: 'Целая коробка конфет' },
233
+ size: '~42 см',
234
+ biolook: 'Практикует дыхание. Его легкие почти готовы к внешнему миру.',
235
+ mom: 'Трудно дышать полной грудью. Ребенок давит на диафрагму.',
236
+ partner: 'Подготовьте сумку в роддом.',
237
+ symptoms: ['Одышка при минимальном усилии', 'Геморрой', 'Подтекание мочи при смехе или кашле'],
238
+ alerts: ['Сильный зуд ладоней и подошв', 'Регулярные схватки', 'Боли под ложечкой с тошнотой'],
239
+ wonder: 'Он уже поворачивает голову к свету, проникающему сквозь живот матери.',
240
+ },
241
+ 36: {
242
+ analogies: { fruits: 'Канталупа', geek: 'Ноутбук 15 дюймов', sweets: 'Именинный торт' },
243
+ size: '~47 см',
244
+ biolook: 'Ребенок обычно опускается головой вниз. Его легкие почти созрели.',
245
+ mom: 'Вы чувствуете давление в малом тазу при опускании ребенка.',
246
+ partner: 'План родов должен быть готов.',
247
+ symptoms: ['Сильное давление в тазу', 'Возвращение изжоги', 'Тревога ожидания'],
248
+ alerts: ['Излитие вод', 'Красное кровотечение', 'Отсутствие шевелений'],
249
+ wonder: 'У него уже такие длинные ногти, что он может поцарапать себя при рождении.',
250
+ },
251
+ 40: {
252
+ analogies: { fruits: 'Арбуз', geek: 'Системный блок ПК', sweets: 'Свадебный торт' },
253
+ size: '~50 см',
254
+ biolook: 'Все готово. Рефлексы скоординированы, легкие созрели, мозг активен.',
255
+ mom: 'Усталость максимальная. Вы невероятная женщика.',
256
+ partner: 'Сегодня может быть тот самый день. Держите телефон заряженным и сохраняйте спокойствие.',
257
+ symptoms: ['Очень сильное давление в тазу', 'Отхождение слизистой пробки', 'Нерегулярные схватки'],
258
+ alerts: ['Регулярные схватки каждые 5 минут в течение часа', 'Излитие вод', 'Отсутствие шевелений'],
259
+ wonder: 'Его мозг создал 100 миллиардов нейронов за эти 9 месяцев.',
260
+ },
261
+ }),
262
+ },
263
+ seo: [
264
+ {
265
+ type: 'summary',
266
+ title: 'Что нужно помнить',
267
+ items: [
268
+ 'Рассчитайте неделю беременности по дате последней менструации или зачатия.',
269
+ 'ПДР — это оценка: только 3–5% детей рождаются точно в этот день.',
270
+ 'Каждый триместр имеет свои биологические особенности и типичные жалобы.',
271
+ 'При любых тревожных признаках немедленно обращайтесь к врачу.',
272
+ 'Режим партнера подскажет, как поддерживать супругу неделю за неделей.',
273
+ ],
274
+ },
275
+ {
276
+ type: 'title',
277
+ text: 'Калькулятор недель беременности: больше чем просто дата родов',
278
+ level: 2,
279
+ },
280
+ {
281
+ type: 'stats',
282
+ columns: 3,
283
+ items: [
284
+ { value: '40 недель', label: 'Средняя длительность беременности' },
285
+ { value: '280 дней', label: 'Дней гестации' },
286
+ { value: '±14 дней', label: 'Погрешность ПДР' },
287
+ ],
288
+ },
289
+ {
290
+ type: 'title',
291
+ text: 'Как рассчитывается неделя беременности',
292
+ level: 3,
293
+ },
294
+ {
295
+ type: 'list',
296
+ items: [
297
+ 'Самый частый метод использует дату последней менструации (ПМ) как точку отсчета.',
298
+ 'К дате ПМ прибавляется 280 дней для определения ПДР.',
299
+ 'Если ваш цикл не 28 дней, ПДР корректируется автоматически.',
300
+ 'Метод зачатия вычитает 14 дней из счета, чтобы приблизить ПДР от момента оплодотворения.',
301
+ 'УЗИ первого триместра может скорректировать срок с высокой точностью.',
302
+ ],
303
+ },
304
+ {
305
+ type: 'tip',
306
+ html: 'Если ваш врач называет дату, отличную от рассчитанной здесь, это скорее всего связано с нерегулярным циклом или коррекцией по УЗИ. Обе даты валидны.',
307
+ },
308
+ {
309
+ type: 'title',
310
+ text: 'Три триместра беременности',
311
+ level: 3,
312
+ },
313
+ {
314
+ type: 'table',
315
+ headers: ['Триместр', 'Недели', 'Главная веха', 'Тело матери'],
316
+ rows: [
317
+ ['1-й', '1 – 12', 'Формирование органов', 'Тошнота, усталость, имплантация'],
318
+ ['2-й', '13 – 26', 'Шевеления плода, морфол. УЗИ', 'Возвращение энергии, виден живот'],
319
+ ['3-й', '27 – 40', 'Созревание легких, опускание', 'Давление в тазу, подготовка к родам'],
320
+ ],
321
+ },
322
+ {
323
+ type: 'title',
324
+ text: 'Еженедельные биологические вехи',
325
+ level: 3,
326
+ },
327
+ {
328
+ type: 'table',
329
+ headers: ['Неделя', 'Приблиз. размер', 'Биологическая веха', 'Что чувствует мать'],
330
+ rows: [
331
+ ['4', '~1 мм', 'Имплантация в эндометрий', 'Возможно легкое кровотечение'],
332
+ ['8', '~18 мм', 'Сердце бьется 150–170 уд/мин', 'Тошнота на пике'],
333
+ ['12', '~55 мм', 'Основные органы сформированы', 'Риск выкидыша резко падает'],
334
+ ['20', '~25 см', 'Четко слышит голоса', 'Морфологическое УЗИ'],
335
+ ['28', '~37 см', 'Циклы сна и бодрствования', 'Начало третьего триместра'],
336
+ ['36', '~47 см', 'Легкие почти созрели', 'Опускание в малый таз'],
337
+ ['40', '~50 см', 'Все готово к рождению', 'ПДР: предполагаемая дата родов'],
338
+ ],
339
+ },
340
+ {
341
+ type: 'title',
342
+ text: 'Типичные симптомы по триместрам',
343
+ level: 3,
344
+ },
345
+ {
346
+ type: 'comparative',
347
+ columns: 2,
348
+ items: [
349
+ {
350
+ title: 'Первый триместр (нед. 1–12)',
351
+ description: 'Фаза наибольших гормональных изменений.',
352
+ points: [
353
+ 'Тошнота и рвота, особенно по утрам',
354
+ 'Сильная усталость и сонливость',
355
+ 'Чувствительность груди',
356
+ 'Частое мочеиспускание',
357
+ 'Перепады настроения',
358
+ ],
359
+ },
360
+ {
361
+ title: 'Второй триместр (нед. 13–26)',
362
+ description: 'Период наибольшего благополучия для многих.',
363
+ points: [
364
+ 'Исчезновение тошноты',
365
+ 'Прилив энергии',
366
+ 'Живот виден с 18–20 недели',
367
+ 'Первые шевеления (18–22 нед.)',
368
+ 'Нарастающая изжога',
369
+ ],
370
+ },
371
+ {
372
+ title: 'Третий триместр (нед. 27–40)',
373
+ description: 'Подготовка к родам.',
374
+ points: [
375
+ 'Давление в тазу и боли в спине',
376
+ 'Схватки Брэкстона-Хикса',
377
+ 'Отеки стоп и щиколоток',
378
+ 'Трудности со сном',
379
+ 'Опускание плода (36–38 нед.)',
380
+ ],
381
+ },
382
+ ],
383
+ },
384
+ {
385
+ type: 'title',
386
+ text: 'Тревожные признаки, требующие немедленной консультации',
387
+ level: 3,
388
+ },
389
+ {
390
+ type: 'list',
391
+ items: [
392
+ 'Обильное вагинальное кровотечение на любом сроке: срочно к врачу.',
393
+ 'Регулярные схватки до 37-й недели: риск преждевременных родов.',
394
+ 'Подтекание околоплодных вод: разрыв пузыря, ехать в роддом.',
395
+ 'Сильная головная боль с нарушением зрения: возможная преэклампсия.',
396
+ 'Отсутствие шевелений после 20-й недели: сигнал тревоги.',
397
+ ],
398
+ },
399
+ {
400
+ type: 'title',
401
+ text: 'Важные медицинские обследования',
402
+ level: 3,
403
+ },
404
+ {
405
+ type: 'list',
406
+ items: [
407
+ 'Неделя 8–12: первое УЗИ и анализы первого триместра.',
408
+ 'Неделя 12: комбинированный скрининг (ТВП + биохимия).',
409
+ 'Неделя 18–22: морфологическое УЗИ (20-я неделя).',
410
+ 'Неделя 24–28: глюкозотолерантный тест.',
411
+ 'Неделя 36: контрольное УЗИ, тест на стрептококк группы B.',
412
+ ],
413
+ },
414
+ {
415
+ type: 'glossary',
416
+ items: [
417
+ {
418
+ term: 'ПМ / SAT',
419
+ definition: 'Дата Последней Менструации. Точка отсчета для определения срока гестации.',
420
+ },
421
+ {
422
+ term: 'ПДР / EDD',
423
+ definition: 'Предполагаемая Дата Родов. Рассчитывается путем прибавления 280 дней к ПМ.',
424
+ },
425
+ {
426
+ term: 'Околоплодные воды',
427
+ definition: 'Жидкость, окружающая ребенка. Защищает, регулирует температуру и позволяет двигаться.',
428
+ },
429
+ {
430
+ term: 'Слизистая пробка',
431
+ definition: 'Густой секрет, закрывающий шейку матки. Ее отхождение означает близость родов.',
432
+ },
433
+ {
434
+ term: 'Преэклампсия',
435
+ definition: 'Осложнение, характеризующееся высоким давлением и поражением органов. Требует срочного контроля.',
436
+ },
437
+ ],
438
+ },
439
+ ],
440
+ faqTitle: 'Часто задаваемые вопросы',
441
+ faq,
442
+ bibliographyTitle: 'Источники',
443
+ bibliography: [
444
+ {
445
+ name: 'ВОЗ – Уход во время беременности',
446
+ url: 'https://www.who.int/ru/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: 'Российское общество акушеров-гинекологов (РОАГ)',
454
+ url: 'https://www.roag-portal.ru',
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
+ };