@jjlmoya/utils-pets 1.17.0 → 1.19.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 (80) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +3 -1
  3. package/src/data.ts +4 -0
  4. package/src/entries.ts +5 -1
  5. package/src/index.ts +3 -2
  6. package/src/layouts/PreviewLayout.astro +2 -0
  7. package/src/pages/[locale]/[slug].astro +14 -5
  8. package/src/tests/diacritics_density.test.ts +1 -1
  9. package/src/tests/faq_count.test.ts +1 -1
  10. package/src/tests/inverted_punctuation.test.ts +1 -1
  11. package/src/tests/locale_completeness.test.ts +1 -2
  12. package/src/tests/script_density.test.ts +1 -1
  13. package/src/tests/seo_translation_completeness.test.ts +69 -0
  14. package/src/tests/title_quality.test.ts +1 -0
  15. package/src/tests/tool_validation.test.ts +4 -4
  16. package/src/tests/translation_copy.test.ts +14 -15
  17. package/src/tool/petAge/index.ts +1 -0
  18. package/src/tool/petGestation/bibliography.astro +6 -0
  19. package/src/tool/petGestation/bibliography.ts +12 -0
  20. package/src/tool/petGestation/component.astro +68 -0
  21. package/src/tool/petGestation/controller.ts +69 -0
  22. package/src/tool/petGestation/dom-views.ts +60 -0
  23. package/src/tool/petGestation/entry.ts +31 -0
  24. package/src/tool/petGestation/evaluator.ts +28 -0
  25. package/src/tool/petGestation/i18n/de.ts +209 -0
  26. package/src/tool/petGestation/i18n/en.ts +198 -0
  27. package/src/tool/petGestation/i18n/es.ts +198 -0
  28. package/src/tool/petGestation/i18n/fr.ts +209 -0
  29. package/src/tool/petGestation/i18n/id.ts +209 -0
  30. package/src/tool/petGestation/i18n/it.ts +209 -0
  31. package/src/tool/petGestation/i18n/ja.ts +209 -0
  32. package/src/tool/petGestation/i18n/ko.ts +209 -0
  33. package/src/tool/petGestation/i18n/nl.ts +209 -0
  34. package/src/tool/petGestation/i18n/pl.ts +209 -0
  35. package/src/tool/petGestation/i18n/pt.ts +209 -0
  36. package/src/tool/petGestation/i18n/ru.ts +209 -0
  37. package/src/tool/petGestation/i18n/sv.ts +209 -0
  38. package/src/tool/petGestation/i18n/tr.ts +209 -0
  39. package/src/tool/petGestation/i18n/zh.ts +209 -0
  40. package/src/tool/petGestation/index.ts +11 -0
  41. package/src/tool/petGestation/logic.test.ts +44 -0
  42. package/src/tool/petGestation/logic.ts +103 -0
  43. package/src/tool/petGestation/pet-gestation-calculator.css +401 -0
  44. package/src/tool/petGestation/seo.astro +15 -0
  45. package/src/tool/petGestation/storage.ts +25 -0
  46. package/src/tool/petGestation/ui.ts +42 -0
  47. package/src/tool/petRation/component.astro +1 -1
  48. package/src/tool/petRation/handlers.ts +1 -1
  49. package/src/tool/petRation/index.ts +1 -0
  50. package/src/tool/petToxicity/bibliography.astro +6 -0
  51. package/src/tool/petToxicity/bibliography.ts +16 -0
  52. package/src/tool/petToxicity/component.astro +53 -0
  53. package/src/tool/petToxicity/controller.ts +117 -0
  54. package/src/tool/petToxicity/dom-views.ts +61 -0
  55. package/src/tool/petToxicity/entry.ts +33 -0
  56. package/src/tool/petToxicity/evaluator.ts +23 -0
  57. package/src/tool/petToxicity/i18n/de.ts +181 -0
  58. package/src/tool/petToxicity/i18n/en.ts +175 -0
  59. package/src/tool/petToxicity/i18n/es.ts +181 -0
  60. package/src/tool/petToxicity/i18n/fr.ts +181 -0
  61. package/src/tool/petToxicity/i18n/id.ts +182 -0
  62. package/src/tool/petToxicity/i18n/it.ts +181 -0
  63. package/src/tool/petToxicity/i18n/ja.ts +181 -0
  64. package/src/tool/petToxicity/i18n/ko.ts +181 -0
  65. package/src/tool/petToxicity/i18n/nl.ts +182 -0
  66. package/src/tool/petToxicity/i18n/pl.ts +182 -0
  67. package/src/tool/petToxicity/i18n/pt.ts +181 -0
  68. package/src/tool/petToxicity/i18n/ru.ts +182 -0
  69. package/src/tool/petToxicity/i18n/sv.ts +182 -0
  70. package/src/tool/petToxicity/i18n/tr.ts +182 -0
  71. package/src/tool/petToxicity/i18n/zh.ts +181 -0
  72. package/src/tool/petToxicity/index.ts +11 -0
  73. package/src/tool/petToxicity/logic.test.ts +32 -0
  74. package/src/tool/petToxicity/logic.ts +192 -0
  75. package/src/tool/petToxicity/pet-food-toxicity-checker.css +450 -0
  76. package/src/tool/petToxicity/seo.astro +15 -0
  77. package/src/tool/petToxicity/storage.ts +37 -0
  78. package/src/tool/petToxicity/ui.ts +33 -0
  79. package/src/tools.ts +6 -1
  80. package/src/types.ts +1 -1
@@ -0,0 +1,209 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
3
+ import type { PetGestationLocaleContent } from '../index';
4
+
5
+ const slug = 'trachtigkeitsrechner-haustiere';
6
+ const title = 'Trächtigkeitsrechner für Haustiere';
7
+ const description = 'Schätzen Sie den Geburtstermin von Hund, Katze, Kaninchen oder Frettchen anhand des Deckdatums mit einem dokumentierten Zeitraum und tierärztlichen Hinweisen.';
8
+
9
+ const ui: PetGestationLocaleContent['ui'] = {
10
+ "journeyHint": "Wählen Sie die Tierart, geben Sie das Deckdatum ein und folgen Sie dem Kompass zum erwarteten Geburtsfenster.",
11
+ "instantHint": "Ändern Sie eine Einstellung und der Nistkalender aktualisiert sich sofort.",
12
+ "speciesLegend": "Welche Haustierart ist das?",
13
+ "speciesDog": "Hund",
14
+ "speciesCat": "Katze",
15
+ "speciesRabbit": "Kaninchen",
16
+ "speciesFerret": "Frettchen",
17
+ "speciesDogMeta": "58 bis 72 Tage",
18
+ "speciesCatMeta": "64 bis 66 Tage",
19
+ "speciesRabbitMeta": "Ca. 31 Tage",
20
+ "speciesFerretMeta": "Ca. 42 Tage",
21
+ "matingDateLabel": "Deckdatum",
22
+ "matingDateHint": "Geben Sie das erste bekannte Deckdatum ein. Das Deckdatum ist eine Schätzung und kein Befruchtungstag.",
23
+ "presetToday": "Heute",
24
+ "presetWeekAgo": "Vor 7 Tagen",
25
+ "presetFortnightAgo": "Vor 14 Tagen",
26
+ "calculateButton": "Geburtsfenster berechnen",
27
+ "resultEyebrow": "Der Nistkompass zeigt",
28
+ "dueDateLabel": "Typischer Geburtstermin",
29
+ "windowLabel": "Erwarteter Zeitraum",
30
+ "remainingLabel": "Tage bis zum Termin",
31
+ "elapsedLabel": "Verstrichene Tage",
32
+ "daysLabel": "Tage",
33
+ "dayLabel": "Tag",
34
+ "statusFuture": "Dieses Datum liegt in der Zukunft",
35
+ "statusWaiting": "Trächtigkeitsperiode läuft",
36
+ "statusWindow": "Geburtsfenster ist geöffnet",
37
+ "statusLate": "Äußerer Schätzwert überschritten",
38
+ "resultEmpty": "Ihr Geburtskompass erscheint hier.",
39
+ "sampleLabel": "Beispielanzeige",
40
+ "sceneMating": "DECKDATUM",
41
+ "sceneToday": "Aktueller Verlauf",
42
+ "sceneDue": "GEBURTTSZEITRAUM",
43
+ "noteTitle": "Wichtiger Hinweis zur Gesundheit",
44
+ "noteText": "Das Deckdatum stimmt nicht immer mit dem Eisprung oder der Befruchtung überein. Konsultieren Sie stets einen Tierarzt für Trächtigkeitsuntersuchungen und geburtshilfliche Begleitung.",
45
+ "sourceTitle": "Methodik",
46
+ "sourceText": "Die Hundespanne nutzt 58 bis 72 Tage ab Bedeckung, während Katzen, Kaninchen und Frettchen Richtwerte aus dem MSD Veterinary Manual verwenden.",
47
+ "invalidDate": "Geben Sie ein gültiges Deckdatum ein.",
48
+ "futureDate": "Ein zukünftiges Deckdatum entspricht keiner aktiven Trächtigkeit."
49
+ };
50
+
51
+ const faq: PetGestationLocaleContent['faq'] = [
52
+ {
53
+ "question": "Wie genau ist der Trächtigkeitsrechner für Haustiere?",
54
+ "answer": "Es handelt sich um eine orientierende Schätzung für die Vorbereitung und Planung. Bei Hündinnen kann das Deckdatum vom tatsächlichen Eisprung und der Befruchtung abweichen, da Spermien mehrere Tage im Genitaltrakt überleben können. Der Rechner zeigt daher einen realistischen Zeitraum anstelle eines fixen Datums. Ein Tierarzt kann den genauen Entwicklungsstand per Ultraschall oder Palpation bestimmen."
55
+ },
56
+ {
57
+ "question": "Wie lange ist eine Hündin trächtig?",
58
+ "answer": "Das MSD Veterinary Manual beschreibt einen Zeitraum von etwa 58 bis 72 Tagen ab der ersten Bedeckung, wenn der genaue Eisprungzeitpunkt unbekannt ist. Ist der Eisprung bekannt, verengt sich der Zeitraum auf 62 bis 64 Tage. Rasse, Wurfgröße und exakte Aufzeichnungen beeinflussen den praktischen Geburtsverlauf maßgeblich."
59
+ },
60
+ {
61
+ "question": "Wie lange ist eine Katze trächtig?",
62
+ "answer": "Die Trächtigkeit einer Katze dauert üblicherweise etwa 65 Tage. Veterinärmedizinische Quellen beschreiben den Geburtszeitraum meist zwischen 64 und 66 Tagen nach dem hormonellen Auslöser. Da Tierhalter meist nur das Deckdatum kennen, dient der Rechner als praktische Planungshilfe für das Wurfzimmer."
63
+ },
64
+ {
65
+ "question": "Warum sind Kaninchen und Frettchen enthalten?",
66
+ "answer": "Kaninchen und Frettchen sind beliebte Heimtiere mit gut dokumentierten Trächtigkeitsdauern. Kaninchen tragen etwa 31 Tage und Frettchen etwa 42 Tage. Der Rechner bietet für diese Tierarten transparente und fundierte Anhaltspunkte für die Nistvorbereitung."
67
+ },
68
+ {
69
+ "question": "Wann sollte ich einen Tierarzt kontaktieren?",
70
+ "answer": "Wenden Sie sich an einen Tierarzt, wenn die Trächtigkeit das äußere Zeitfenster überschreitet, die Geburt stagniert, starke Schmerzen, Blutungen oder auffälliger Ausfluss auftreten. Die Gesundheit des Muttertiers und der Welpen geht jedem Kalenderwert vor."
71
+ }
72
+ ];
73
+
74
+ const howTo: PetGestationLocaleContent['howTo'] = [
75
+ {
76
+ "name": "Tierart auswählen",
77
+ "text": "Wählen Sie Hund, Katze, Kaninchen oder Frettchen aus, um das entsprechende Trächtigkeitsprofil anzuwenden."
78
+ },
79
+ {
80
+ "name": "Deckdatum eingeben",
81
+ "text": "Geben Sie das erste bekannte Deckdatum ein. Bei mehreren Deckungen wählen Sie das mit dem Tierarzt besprochene Datum."
82
+ },
83
+ {
84
+ "name": "Kompass ablesen",
85
+ "text": "Überprüfen Sie den errechneten typischen Geburtstermin, den erwarteten Zeitraum und die verstrichenen Trächtigkeitstage."
86
+ },
87
+ {
88
+ "name": "Verantwortungsvoll vorbereiten",
89
+ "text": "Nutzen Sie die Ergebnisse zur Vorbereitung der Wurfkiste, für Fragen an die Praxis und zur Vorbereitung auf eventuelle Notfälle."
90
+ }
91
+ ];
92
+
93
+ const seo: PetGestationLocaleContent['seo'] = [
94
+ {
95
+ "type": "summary",
96
+ "title": "Trächtigkeitsdaten für Haustiere auf einen Blick",
97
+ "items": [
98
+ "Geben Sie das Deckdatum ein und wählen Sie die Haustierart für eine präzise zeitliche Orientierung.",
99
+ "Hunde erhalten einen breiteren Schätzzeitraum, da Bedeckung, Eisprung und Befruchtung zeitlich auseinanderliegen können.",
100
+ "Katzen, Kaninchen und Frettchen nutzen wissenschaftlich fundierte Richtwerte aus dem MSD Veterinary Manual.",
101
+ "Die Berechnung dient der Geburtsvorbereitung und ersetzt keinesfalls eine fachkundige Untersuchung durch den Tierarzt."
102
+ ]
103
+ },
104
+ {
105
+ "type": "title",
106
+ "text": "Wie der Trächtigkeitsrechner für Haustiere funktioniert",
107
+ "level": 2
108
+ },
109
+ {
110
+ "type": "paragraph",
111
+ "html": "Dieser Trächtigkeitsrechner wandelt das von Ihnen beobachtete Deckdatum in einen übersichtlichen Geburtskalender um. Er addiert die typspezifische Tragzeit der gewählten Tierart und weist sowohl einen mittleren Richttermin als auch den erwarteten Geburtszeitraum aus. Diese Unterscheidung ist essenziell: Der Tag des Deckakts ist nicht zwangsläufig der Befruchtungstag, und die Fortpflanzungsbiologie von Hunden unterscheidet sich deutlich von der von Katzen oder Kleinsäugern. Das Tool unterstützt Tierhalter dabei, Vorbereitungen rechtzeitig zu treffen und Anzeichen für tierärztlichen Handlungsbedarf frühzeitig zu erkennen."
112
+ },
113
+ {
114
+ "type": "paragraph",
115
+ "html": "Der visuelle Kompass ordnet das Deckdatum am Startpunkt eines kreisförmigen Zeitstrahls ein. Der farbige Bogen wächst mit jedem verstrichenen Tag an, während im Zentrum die Anzahl der Tage angezeigt wird. Sobald das erwartete Geburtsfenster erreicht ist, ändert sich der Statuswert. So lässt sich der Fortschritt der Trächtigkeit sofort erfassen, ohne komplexe Tabellen durchsuchen zu müssen. Bei Überschreiten des Rahmens werden Halter sensibilisiert, Rücksprache zu halten."
116
+ },
117
+ {
118
+ "type": "title",
119
+ "text": "Dokumentierte Trächtigkeitsprofile der Tierarten",
120
+ "level": 2
121
+ },
122
+ {
123
+ "type": "table",
124
+ "headers": [
125
+ "Tierart",
126
+ "Typische Tragzeit",
127
+ "Schätzung ab Bedeckung"
128
+ ],
129
+ "rows": [
130
+ [
131
+ "Hund",
132
+ "Ca. 63 Tage",
133
+ "58 bis 72 Tage"
134
+ ],
135
+ [
136
+ "Katze",
137
+ "Ca. 65 Tage",
138
+ "64 bis 66 Tage"
139
+ ],
140
+ [
141
+ "Kaninchen",
142
+ "Ca. 31 Tage",
143
+ "31 Tage"
144
+ ],
145
+ [
146
+ "Frettchen",
147
+ "Ca. 42 Tage",
148
+ "42 Tage"
149
+ ]
150
+ ]
151
+ },
152
+ {
153
+ "type": "paragraph",
154
+ "html": "Das Hundeprofil erfordert die größte Aufmerksamkeit. Veterinärmedizinische Leitlinien betonen, dass die Trächtigkeitsdauer bei Hündinnen je nach Bezugspunkt variiert. Eine Zeitspanne von der Bedeckung an ist im Alltag ehrlicher als ein einzelnes fixes Datum. Bei Katzen, Kaninchen und Frettchen basieren die Werte auf wissenschaftlichen Standardreferenzen zur Geburtsplanung und Vorbereitung der Nistumgebung."
155
+ },
156
+ {
157
+ "type": "title",
158
+ "text": "Vorbereitungen vor dem erwarteten Geburtsfenster",
159
+ "level": 2
160
+ },
161
+ {
162
+ "type": "paragraph",
163
+ "html": "Nutzen Sie die Schätzung zur rechtzeitigen Geburtsvorbereitung. Stellen Sie sicher, dass eine geeignete Wurfkiste an einem ruhigen Ort bereitsteht, halten Sie Notfallnummern der Tierklinik griffbereit und achten Sie auf Anzeichen der bevorstehenden Geburt. Treffen Sie alle Vorbereitungen in Absprache mit Ihrem Tierarzt bezüglich Ernährung, Wurmfürsorge und Pflege."
164
+ },
165
+ {
166
+ "type": "tip",
167
+ "title": "Die Gesundheit des Tieres steht immer an erster Stelle",
168
+ "html": "Suchen Sie bei Schmerzen, deutlicher Schwäche, Blutungen, unnormalem Ausfluss oder Verzug über den Schätzzeitraum hinaus umgehend tierärztliche Hilfe auf."
169
+ }
170
+ ];
171
+
172
+ const schemas: PetGestationLocaleContent['schemas'] = [
173
+ {
174
+ '@context': 'https://schema.org',
175
+ '@type': 'SoftwareApplication',
176
+ name: title,
177
+ description,
178
+ applicationCategory: 'HealthApplication',
179
+ operatingSystem: 'Web',
180
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
181
+ } as WithContext<SoftwareApplication>,
182
+ {
183
+ '@context': 'https://schema.org',
184
+ '@type': 'FAQPage',
185
+ mainEntity: faq.map((item) => ({
186
+ '@type': 'Question',
187
+ name: item.question,
188
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
189
+ })),
190
+ } as WithContext<FAQPage>,
191
+ {
192
+ '@context': 'https://schema.org',
193
+ '@type': 'HowTo',
194
+ name: title,
195
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
196
+ } as WithContext<HowTo>,
197
+ ];
198
+
199
+ export const content: PetGestationLocaleContent = {
200
+ slug,
201
+ title,
202
+ description,
203
+ ui,
204
+ seo,
205
+ faq,
206
+ bibliography,
207
+ howTo,
208
+ schemas,
209
+ };
@@ -0,0 +1,198 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
3
+ import type { PetGestationLocaleContent } from '../index';
4
+ import type { PetGestationUI } from '../ui';
5
+
6
+ const slug = 'pet-gestation-calculator';
7
+ const title = 'Pet Gestation Calculator';
8
+ const description = 'Estimate a dog, cat, rabbit, or ferret delivery date from the mating date, with a documented range and a clear reminder that veterinary care comes first.';
9
+
10
+ const ui: PetGestationUI = {
11
+ journeyHint: 'Choose the species, enter the mating date, and follow the compass to the expected delivery window.',
12
+ instantHint: 'Change either control and the nesting calendar moves with you instantly.',
13
+ speciesLegend: 'What kind of pet is this?',
14
+ speciesDog: 'Dog',
15
+ speciesCat: 'Cat',
16
+ speciesRabbit: 'Rabbit',
17
+ speciesFerret: 'Ferret',
18
+ speciesDogMeta: '58 to 72 days',
19
+ speciesCatMeta: '64 to 66 days',
20
+ speciesRabbitMeta: 'About 31 days',
21
+ speciesFerretMeta: 'About 42 days',
22
+ matingDateLabel: 'Mating date',
23
+ matingDateHint: 'Use the first or best known mating date. Breeding date is an estimate, not a diagnosis.',
24
+ presetToday: 'Today',
25
+ presetWeekAgo: '7 days ago',
26
+ presetFortnightAgo: '14 days ago',
27
+ calculateButton: 'Plot the delivery window',
28
+ resultEyebrow: 'The nesting compass says',
29
+ dueDateLabel: 'Typical due date',
30
+ windowLabel: 'Expected window',
31
+ remainingLabel: 'To typical date',
32
+ elapsedLabel: 'Days elapsed',
33
+ daysLabel: 'days',
34
+ dayLabel: 'day',
35
+ statusFuture: 'That date is still ahead',
36
+ statusWaiting: 'Still in the growing season',
37
+ statusWindow: 'The delivery window is open',
38
+ statusLate: 'Past the outer estimate',
39
+ resultEmpty: 'Your delivery compass will appear here.',
40
+ sampleLabel: 'A live example',
41
+ sceneMating: 'MATING',
42
+ sceneToday: 'Live nesting timeline',
43
+ sceneDue: 'DELIVERY WINDOW',
44
+ noteTitle: 'A calm but important note',
45
+ noteText: 'Mating dates do not always match conception or ovulation. Contact a veterinarian for pregnancy confirmation, prenatal monitoring, or any concern about labor, pain, discharge, or an overdue pregnancy.',
46
+ sourceTitle: 'Method',
47
+ sourceText: 'The dog range uses 58 to 72 days from breeding, while cat, rabbit, and ferret profiles use the approximate periods documented by the MSD Veterinary Manual.',
48
+ invalidDate: 'Enter a real mating date to plot the window.',
49
+ futureDate: 'A future mating date cannot describe an active pregnancy.',
50
+ };
51
+
52
+ const faq: PetGestationLocaleContent['faq'] = [
53
+ {
54
+ question: 'How accurate is a pet pregnancy due date from the mating date?',
55
+ answer: 'It is an estimate. In dogs especially, the date of mating can differ from ovulation and conception because sperm can remain viable in the reproductive tract for several days. The calculator therefore shows a window instead of presenting one date as certain. A veterinarian can improve dating with reproductive history, hormone testing, ultrasound, or other appropriate examinations.',
56
+ },
57
+ {
58
+ question: 'How long are dogs pregnant?',
59
+ answer: 'The MSD Veterinary Manual describes about 58 to 72 days from the first time a female dog permits breeding when the cycle timing is unknown. When ovulation is known, the interval is much narrower, commonly about 62 to 64 days. Breed, litter size, and the accuracy of the breeding record can affect the practical estimate.',
60
+ },
61
+ {
62
+ question: 'How long are cats pregnant?',
63
+ answer: 'A cat pregnancy is commonly around 65 days, with the MSD Veterinary Manual describing parturition around 64 to 66 days from the luteinizing hormone surge triggered by copulation. Because the owner usually records mating rather than the hormone surge, the calculator should be treated as a planning aid and not as a substitute for a veterinary assessment.',
64
+ },
65
+ {
66
+ question: 'Why does the calculator include rabbits and ferrets?',
67
+ answer: 'Rabbits and ferrets are common companion animals with short, well documented approximate gestation periods. The MSD Veterinary Manual lists about 31 days for rabbits and 42 days for ferrets. The calculator keeps these profiles simple and transparent rather than pretending that a single formula works equally well for every species.',
68
+ },
69
+ {
70
+ question: 'When should I call a veterinarian?',
71
+ answer: 'Call a veterinarian if the pregnancy has passed the expected outer range, if labor seems difficult or prolonged, or if there is pain, weakness, heavy bleeding, foul discharge, collapse, or any sudden change that worries you. Do not use a date calculator to decide whether an animal needs urgent care. The animal\'s condition always matters more than the calendar estimate.',
72
+ },
73
+ ];
74
+
75
+ const howTo: PetGestationLocaleContent['howTo'] = [
76
+ { name: 'Choose the species', text: 'Select dog, cat, rabbit, or ferret so the calculator applies the corresponding documented gestation profile.' },
77
+ { name: 'Enter the mating date', text: 'Enter the first or best known mating date. If several matings occurred, use the date your veterinarian considers most useful and remember that breeding is not the same as conception.' },
78
+ { name: 'Read the compass', text: 'Review the typical due date, the expected range, days elapsed, and the current status shown around the circular timeline.' },
79
+ { name: 'Use the result responsibly', text: 'Use the estimate for preparation and questions, then contact a veterinarian for confirmation, prenatal monitoring, or any sign of illness or difficult labor.' },
80
+ ];
81
+
82
+ const seo: PetGestationLocaleContent['seo'] = [
83
+ {
84
+ "type": "summary",
85
+ "title": "Pet pregnancy dates at a glance",
86
+ "items": [
87
+ "Enter a mating date and choose the species to estimate a likely delivery date.",
88
+ "Dogs receive a wider range because mating, ovulation, and conception may not happen on the same day.",
89
+ "Cats, rabbits, and ferrets use approximate periods documented in the MSD Veterinary Manual.",
90
+ "The result is for planning and conversation with a veterinarian, not for diagnosing pregnancy or labor."
91
+ ]
92
+ },
93
+ {
94
+ "type": "title",
95
+ "text": "How the pet gestation calculator works",
96
+ "level": 2
97
+ },
98
+ {
99
+ "type": "paragraph",
100
+ "html": "This pet gestation calculator turns one practical record, the mating date, into a calendar estimate. It adds a species-specific pregnancy duration and shows both a typical date and an expected window. That distinction is important: the date a mating is observed is not always the date an egg is fertilized, and the reproductive biology of a dog is different from that of a cat, rabbit, or ferret. The result is designed to help a pet owner prepare supplies, organize questions, and notice when an estimate deserves professional attention."
101
+ },
102
+ {
103
+ "type": "paragraph",
104
+ "html": "The visual compass places the mating date at the start of a circular timeline. The colored orbit grows as days pass, while the center reports the number of elapsed days. When the expected range opens, the status changes so the result can be understood without reading a table of numbers. If the outer estimate has passed, the result becomes a prompt to contact a veterinarian rather than a promise that something is wrong. A calendar can orient a decision, but it cannot assess an animal's health."
105
+ },
106
+ {
107
+ "type": "title",
108
+ "text": "Documented gestation profiles",
109
+ "level": 2
110
+ },
111
+ {
112
+ "type": "table",
113
+ "headers": [
114
+ "Species",
115
+ "Typical period",
116
+ "Estimate used from mating"
117
+ ],
118
+ "rows": [
119
+ [
120
+ "Dog",
121
+ "About 63 days",
122
+ "58 to 72 days"
123
+ ],
124
+ [
125
+ "Cat",
126
+ "About 65 days",
127
+ "64 to 66 days"
128
+ ],
129
+ [
130
+ "Rabbit",
131
+ "About 31 days",
132
+ "31 days"
133
+ ],
134
+ [
135
+ "Ferret",
136
+ "About 42 days",
137
+ "42 days"
138
+ ]
139
+ ]
140
+ },
141
+ {
142
+ "type": "paragraph",
143
+ "html": "The dog profile needs the most caution. Veterinary guidance explains that a dog's normal gestation can be described in different ways depending on which biological milestone is known. A range from breeding is therefore more honest for everyday use than a single fixed number. For cats, the reference period is narrower in the veterinary literature, but the owner may still not know the exact hormonal event used by the reference. The rabbit and ferret values are approximate species periods and should be interpreted in the same responsible way."
144
+ },
145
+ {
146
+ "type": "title",
147
+ "text": "What to prepare before the expected window",
148
+ "level": 2
149
+ },
150
+ {
151
+ "type": "paragraph",
152
+ "html": "Use the estimate as a planning prompt. Make sure you know which clinic to call, how to travel there, and what signs your veterinarian has asked you to monitor. Keep the animal's environment calm and follow professional advice about nutrition, examinations, vaccination status, parasite control, and any breed-specific risks. Do not give medicines or attempt to induce labor based on an online calculation. Preparation is useful because it reduces hesitation if the animal needs help, not because the estimate can replace observation."
153
+ },
154
+ {
155
+ "type": "tip",
156
+ "title": "A date is never more important than the animal",
157
+ "html": "Seek veterinary advice for pain, marked weakness, collapse, heavy bleeding, foul discharge, a difficult or prolonged labor, or any sudden change that concerns you. If the pregnancy appears to have passed the outer estimate, contact a veterinarian rather than waiting for the calculator to become more certain."
158
+ }
159
+ ];
160
+
161
+ const schemas: PetGestationLocaleContent['schemas'] = [
162
+ {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'SoftwareApplication',
165
+ name: title,
166
+ description,
167
+ applicationCategory: 'HealthApplication',
168
+ operatingSystem: 'Web',
169
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
170
+ } as WithContext<SoftwareApplication>,
171
+ {
172
+ '@context': 'https://schema.org',
173
+ '@type': 'FAQPage',
174
+ mainEntity: faq.map((item) => ({
175
+ '@type': 'Question',
176
+ name: item.question,
177
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
178
+ })),
179
+ } as WithContext<FAQPage>,
180
+ {
181
+ '@context': 'https://schema.org',
182
+ '@type': 'HowTo',
183
+ name: title,
184
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
185
+ } as WithContext<HowTo>,
186
+ ];
187
+
188
+ export const content: PetGestationLocaleContent = {
189
+ slug,
190
+ title,
191
+ description,
192
+ ui,
193
+ seo,
194
+ faq,
195
+ bibliography,
196
+ howTo,
197
+ schemas,
198
+ };
@@ -0,0 +1,198 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
3
+ import type { PetGestationLocaleContent } from '../index';
4
+ import type { PetGestationUI } from '../ui';
5
+
6
+ const slug = 'calculadora-gestacion-mascotas';
7
+ const title = 'Calculadora de gestación de mascotas';
8
+ const description = 'Calcula la fecha estimada de parto de perro, gato, conejo o hurón a partir de la fecha de monta, con un rango documentado y orientación veterinaria.';
9
+
10
+ const ui: PetGestationUI = {
11
+ journeyHint: 'Selecciona la especie, introduce la fecha de monta y observa el compás para conocer la ventana de parto.',
12
+ instantHint: 'Cambia cualquier ajuste y el calendario de anidación se actualizará al instante.',
13
+ speciesLegend: '¿Qué tipo de mascota es?',
14
+ speciesDog: 'Perro',
15
+ speciesCat: 'Gato',
16
+ speciesRabbit: 'Conejo',
17
+ speciesFerret: 'Hurón',
18
+ speciesDogMeta: 'De 58 a 72 días',
19
+ speciesCatMeta: 'De 64 a 66 días',
20
+ speciesRabbitMeta: 'Unos 31 días',
21
+ speciesFerretMeta: 'Unos 42 días',
22
+ matingDateLabel: 'Fecha de monta',
23
+ matingDateHint: 'Utiliza la primera fecha de monta conocida. La fecha de cruce es una estimación orientativa.',
24
+ presetToday: 'Hoy',
25
+ presetWeekAgo: 'Hace 7 días',
26
+ presetFortnightAgo: 'Hace 14 días',
27
+ calculateButton: 'Calcular ventana de parto',
28
+ resultEyebrow: 'El compás de anidación indica',
29
+ dueDateLabel: 'Fecha típica de parto',
30
+ windowLabel: 'Ventana estimada',
31
+ remainingLabel: 'Días hasta fecha típica',
32
+ elapsedLabel: 'Días transcurridos',
33
+ daysLabel: 'días',
34
+ dayLabel: 'día',
35
+ statusFuture: 'La fecha introducida es futura',
36
+ statusWaiting: 'En periodo de gestación',
37
+ statusWindow: 'La ventana de parto está abierta',
38
+ statusLate: 'Superado el rango exterior estimado',
39
+ resultEmpty: 'El compás de parto aparecerá aquí.',
40
+ sampleLabel: 'Ejemplo ilustrativo',
41
+ sceneMating: 'MONTA',
42
+ sceneToday: 'Línea de tiempo actual',
43
+ sceneDue: 'VENTANA DE PARTO',
44
+ noteTitle: 'Nota importante de salud',
45
+ noteText: 'La fecha de monta no siempre coincide con la ovulación o la concepción. Consulta con un veterinario para confirmar la gestación, realizar seguimiento prenatal o ante cualquier síntoma de dolor, flujo o retraso.',
46
+ sourceTitle: 'Metodología',
47
+ sourceText: 'El rango canino contempla de 58 a 72 días desde la monta, mientras que los perfiles de gato, conejo y hurón utilizan los periodos aproximados documentados por el Manual Veterinario MSD.',
48
+ invalidDate: 'Introduce una fecha de monta válida para calcular el periodo.',
49
+ futureDate: 'Una fecha de monta futura no puede corresponder a una gestación activa.',
50
+ };
51
+
52
+ const faq: PetGestationLocaleContent['faq'] = [
53
+ {
54
+ question: '¿Qué precisión tiene la fecha estimada de parto según la fecha de monta?',
55
+ answer: 'Es una estimación orientativa. En perras, la fecha de monta puede diferir de la ovulación y la concepción porque el esperma mantiene la viabilidad en el aparato reproductor durante varios días. Por ello, la calculadora muestra un rango en lugar de un único día exacto. El veterinario puede ajustar el cálculo mediante ecografía o citología.',
56
+ },
57
+ {
58
+ question: '¿Cuánto dura la gestación de una perra?',
59
+ answer: 'El Manual Veterinario MSD señala un periodo de 58 a 72 días desde la primera monta cuando no se conoce la fecha exacta de ovulación. Cuando se conoce la ovulación, el intervalo es más estrecho, habitualmente entre 62 y 64 días. La raza y el tamaño de la camada influyen en la fecha real.',
60
+ },
61
+ {
62
+ question: '¿Cuánto dura la gestación de una gata?',
63
+ answer: 'La gestación felina dura habitualmente unos 65 días, situándose el parto entre los 64 y 66 días tras el pico de hormona luteinizante provocado por el acoplamiento. Como se suele registrar la monta y no el pico hormonal, el cálculo sirve como guía de planificación.',
64
+ },
65
+ {
66
+ question: '¿Por qué se incluyen conejos y hurones en la calculadora?',
67
+ answer: 'Los conejos y hurones son animales de compañía habituales con periodos de gestación breves y bien documentados. El Manual Veterinario MSD indica unos 31 días para conejos y 42 días para hurones. Incluir estas especies ofrece una herramienta integral para pequeños animales.',
68
+ },
69
+ {
70
+ question: '¿Cuándo debo acudir al veterinario?',
71
+ answer: 'Debes contactar con un veterinario si el embarazo supera el rango esperado, si el parto se prolonga con esfuerzo infructuoso, o si observas sangrado abundante, flujo con mal olor, debilidad o dolor agudo. La evaluación veterinaria prima sobre cualquier estimación de calendario.',
72
+ },
73
+ ];
74
+
75
+ const howTo: PetGestationLocaleContent['howTo'] = [
76
+ { name: 'Selecciona la especie', text: 'Elige perro, gato, conejo o hurón para aplicar el perfil de gestación documentado correspondiente.' },
77
+ { name: 'Introduce la fecha de monta', text: 'Indica la primera o mejor fecha de monta conocida de la hembra.' },
78
+ { name: 'Consulta el compás', text: 'Revisa la fecha típica de parto, el rango esperado de días y el tiempo transcurrido.' },
79
+ { name: 'Planifica con responsabilidad', text: 'Utiliza el resultado para preparar el paridero y resolver dudas con tu centro veterinario.' },
80
+ ];
81
+
82
+ const seo: PetGestationLocaleContent['seo'] = [
83
+ {
84
+ "type": "summary",
85
+ "title": "Fechas de gestación de mascotas de un vistazo",
86
+ "items": [
87
+ "Introduce la fecha de monta y elige la especie para estimar la fecha aproximada de parto.",
88
+ "Los perros tienen un rango más amplio porque monta, ovulación y concepción no siempre ocurren el mismo día.",
89
+ "Gatos, conejos y hurones emplean los periodos de referencia descritos en el Manual Veterinario MSD.",
90
+ "El resultado es una herramienta de planificación y no sustituye el diagnóstico veterinario."
91
+ ]
92
+ },
93
+ {
94
+ "type": "title",
95
+ "text": "Cómo funciona la calculadora de gestación para mascotas",
96
+ "level": 2
97
+ },
98
+ {
99
+ "type": "paragraph",
100
+ "html": "Esta calculadora de gestación de mascotas transforma la fecha conocida de monta en un calendario estimativo. Suma la duración típica de la gestación de cada especie y presenta tanto una fecha probable como un intervalo esperado de parto. Esta distinción es fundamental: el día de la monta no siempre coincide con la fertilización, y la biología reproductiva canina difiere notablemente de la felina o de la de los pequeños mamíferos. El resultado está diseñado para ayudar a los propietarios a preparar suministros, organizar preguntas para la clínica y detectar cuándo una estimación merece atención profesional."
101
+ },
102
+ {
103
+ "type": "paragraph",
104
+ "html": "El compás visual situa la fecha de monta al inicio de la línea temporal. El anillo circular avanza a medida que transcurren los días, mostrando en el centro el tiempo transcurrido. Cuando se abre la ventana estimada, el estado del indicador cambia para facilitar la lectura inmediata sin necesidad de interpretar tablas complejas. Si se supera el límite exterior estimado, el resultado sirve como recordatorio para contactar con un veterinario en lugar de asumir una complicación. Un calendario puede orientar una decisión, pero nunca evaluará la salud del animal."
105
+ },
106
+ {
107
+ "type": "title",
108
+ "text": "Perfiles de gestación documentados",
109
+ "level": 2
110
+ },
111
+ {
112
+ "type": "table",
113
+ "headers": [
114
+ "Especie",
115
+ "Periodo típico",
116
+ "Estimación desde la monta"
117
+ ],
118
+ "rows": [
119
+ [
120
+ "Perro",
121
+ "Unos 63 días",
122
+ "De 58 a 72 días"
123
+ ],
124
+ [
125
+ "Gato",
126
+ "Unos 65 días",
127
+ "De 64 a 66 días"
128
+ ],
129
+ [
130
+ "Conejo",
131
+ "Unos 31 días",
132
+ "31 días"
133
+ ],
134
+ [
135
+ "Hurón",
136
+ "Unos 42 días",
137
+ "42 días"
138
+ ]
139
+ ]
140
+ },
141
+ {
142
+ "type": "paragraph",
143
+ "html": "El perfil canino requiere especial atención. La literatura veterinaria indica que la gestación canina varía según el hito biológico considerado. Por ello, mostrar un rango amplio desde el cruce es más riguroso que fijar un único día. En gatas, conejos y hurones, los datos provienen de referencias veterinarias estándar para orientar la preparación del parto."
144
+ },
145
+ {
146
+ "type": "title",
147
+ "text": "Qué preparar antes de la ventana estimada",
148
+ "level": 2
149
+ },
150
+ {
151
+ "type": "paragraph",
152
+ "html": "Aprovecha la estimación para organizar el espacio de anidación, verificar el teléfono de urgencias veterinarias y conseguir los suministros necesarios. Mantén a la madre en un entorno tranquilo y sigue las pautas profesionales sobre nutrición y desparasitación durante el periodo gestacional."
153
+ },
154
+ {
155
+ "type": "tip",
156
+ "title": "La salud del animal es lo primero",
157
+ "html": "Consulta de inmediato a un profesional ante cualquier signo de malestar, distocia, secreción anómala o retraso significativo respecto al límite exterior de la ventana estimada."
158
+ }
159
+ ];
160
+
161
+ const schemas: PetGestationLocaleContent['schemas'] = [
162
+ {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'SoftwareApplication',
165
+ name: title,
166
+ description,
167
+ applicationCategory: 'HealthApplication',
168
+ operatingSystem: 'Web',
169
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
170
+ } as WithContext<SoftwareApplication>,
171
+ {
172
+ '@context': 'https://schema.org',
173
+ '@type': 'FAQPage',
174
+ mainEntity: faq.map((item) => ({
175
+ '@type': 'Question',
176
+ name: item.question,
177
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
178
+ })),
179
+ } as WithContext<FAQPage>,
180
+ {
181
+ '@context': 'https://schema.org',
182
+ '@type': 'HowTo',
183
+ name: title,
184
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
185
+ } as WithContext<HowTo>,
186
+ ];
187
+
188
+ export const content: PetGestationLocaleContent = {
189
+ slug,
190
+ title,
191
+ description,
192
+ ui,
193
+ seo,
194
+ faq,
195
+ bibliography,
196
+ howTo,
197
+ schemas,
198
+ };