@jjlmoya/utils-pets 1.16.0 → 1.18.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 (45) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/data.ts +2 -0
  4. package/src/entries.ts +2 -1
  5. package/src/index.ts +3 -2
  6. package/src/tests/faq_count.test.ts +1 -1
  7. package/src/tests/locale_completeness.test.ts +1 -2
  8. package/src/tests/seo_translation_completeness.test.ts +69 -0
  9. package/src/tests/spanish_leakage.test.ts +25 -3
  10. package/src/tests/tool_validation.test.ts +4 -4
  11. package/src/tool/petAge/index.ts +1 -0
  12. package/src/tool/petGestation/bibliography.astro +6 -0
  13. package/src/tool/petGestation/bibliography.ts +12 -0
  14. package/src/tool/petGestation/component.astro +68 -0
  15. package/src/tool/petGestation/controller.ts +69 -0
  16. package/src/tool/petGestation/dom-views.ts +60 -0
  17. package/src/tool/petGestation/entry.ts +31 -0
  18. package/src/tool/petGestation/evaluator.ts +28 -0
  19. package/src/tool/petGestation/i18n/de.ts +209 -0
  20. package/src/tool/petGestation/i18n/en.ts +197 -0
  21. package/src/tool/petGestation/i18n/es.ts +197 -0
  22. package/src/tool/petGestation/i18n/fr.ts +209 -0
  23. package/src/tool/petGestation/i18n/id.ts +209 -0
  24. package/src/tool/petGestation/i18n/it.ts +209 -0
  25. package/src/tool/petGestation/i18n/ja.ts +209 -0
  26. package/src/tool/petGestation/i18n/ko.ts +209 -0
  27. package/src/tool/petGestation/i18n/nl.ts +209 -0
  28. package/src/tool/petGestation/i18n/pl.ts +209 -0
  29. package/src/tool/petGestation/i18n/pt.ts +209 -0
  30. package/src/tool/petGestation/i18n/ru.ts +209 -0
  31. package/src/tool/petGestation/i18n/sv.ts +209 -0
  32. package/src/tool/petGestation/i18n/tr.ts +209 -0
  33. package/src/tool/petGestation/i18n/zh.ts +209 -0
  34. package/src/tool/petGestation/index.ts +11 -0
  35. package/src/tool/petGestation/logic.test.ts +44 -0
  36. package/src/tool/petGestation/logic.ts +103 -0
  37. package/src/tool/petGestation/pet-gestation-calculator.css +401 -0
  38. package/src/tool/petGestation/seo.astro +15 -0
  39. package/src/tool/petGestation/storage.ts +25 -0
  40. package/src/tool/petGestation/ui.ts +42 -0
  41. package/src/tool/petRation/component.astro +1 -1
  42. package/src/tool/petRation/handlers.ts +1 -1
  43. package/src/tool/petRation/index.ts +1 -0
  44. package/src/tools.ts +3 -1
  45. 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 = 'dragtighetsraknare-husdjur';
6
+ const title = 'Dräktighetsräknare för husdjur';
7
+ const description = 'Beräkna beräknat valpnings- eller förlossningsdatum för hund, katt, kanin eller iller från parningsdatumet med dokumenterade tidsramar.';
8
+
9
+ const ui: PetGestationLocaleContent['ui'] = {
10
+ "journeyHint": "Välj djurslag, ange parningsdatum och följ kompassen till förlossningsfönstret.",
11
+ "instantHint": "Ändra en inställning så uppdateras kalendern direkt.",
12
+ "speciesLegend": "Vilket typ av husdjur är detta?",
13
+ "speciesDog": "Hund",
14
+ "speciesCat": "Katt",
15
+ "speciesRabbit": "Kanin",
16
+ "speciesFerret": "Iller",
17
+ "speciesDogMeta": "58 till 72 dagar",
18
+ "speciesCatMeta": "64 till 66 dagar",
19
+ "speciesRabbitMeta": "Ca 31 dagar",
20
+ "speciesFerretMeta": "Ca 42 dagar",
21
+ "matingDateLabel": "Parningsdatum",
22
+ "matingDateHint": "Använd det första kända parningsdatumet. Det är en uppskattning och inte exakt befruktningsdag.",
23
+ "presetToday": "Idag",
24
+ "presetWeekAgo": "För 7 dagar sedan",
25
+ "presetFortnightAgo": "För 14 dagar sedan",
26
+ "calculateButton": "Beräkna förlossningsfönster",
27
+ "resultEyebrow": "Dräktighetskompassen visar",
28
+ "dueDateLabel": "Typiskt förlossningsdatum",
29
+ "windowLabel": "Förväntad tidsperiod",
30
+ "remainingLabel": "Dagar kvar till datum",
31
+ "elapsedLabel": "Gångna dagar",
32
+ "daysLabel": "dagar",
33
+ "dayLabel": "dag",
34
+ "statusFuture": "Datum ligger i framtiden",
35
+ "statusWaiting": "Dräktighetsperioden pågår",
36
+ "statusWindow": "Förlossningsfönstret är öppet",
37
+ "statusLate": "Överskridit den yttre uppskattningen",
38
+ "resultEmpty": "Din kompass visas här.",
39
+ "sampleLabel": "Exempelvisning",
40
+ "sceneMating": "PARNING",
41
+ "sceneToday": "Aktuell status",
42
+ "sceneDue": "FÖRLOSSNINGSFÖNSTERS",
43
+ "noteTitle": "Viktig hälsosatsning",
44
+ "noteText": "Parningsdatum stämmer inte alltid överens med ägglossning. Kontakta veterinär för dräktighetsundersökning och råd.",
45
+ "sourceTitle": "Metodik",
46
+ "sourceText": "Hundar använder 58-72 dagar, katt, kanin och iller följer MSD Veterinary Manual.",
47
+ "invalidDate": "Ange ett giltigt parningsdatum.",
48
+ "futureDate": "Ett framtida datum gäller inte aktiv dräktighet."
49
+ };
50
+
51
+ const faq: PetGestationLocaleContent['faq'] = [
52
+ {
53
+ "question": "Hur noggrann är dräktighetsräknaren för husdjur?",
54
+ "answer": "Det är en uppskattning för planering. Hos hundar kan parningsdatum avvika från ägglossning och befruktning eftersom spermier överlever flera dagar. Räknaren visar därför ett tidsfönster. Veterinär kan bekräfta med ultraljud eller undersökning."
55
+ },
56
+ {
57
+ "question": "Hur länge är en hund dräktig?",
58
+ "answer": "MSD Veterinary Manual anger 58 till 72 dagar från första parning när ägglossningsdatum är okänt. Vid känd ägglossning är intervallet snävare, cirka 62 till 64 dagar."
59
+ },
60
+ {
61
+ "question": "Hur länge är en katt dräktig?",
62
+ "answer": "En katt är oftast dräktig i cirka 65 dagar (64-66 dagar efter hormonstegringen). Det underlättar iordningställande av födelseplatsen."
63
+ },
64
+ {
65
+ "question": "Varför ingår kanin och iller?",
66
+ "answer": "Kaniner (ca 31 dagar) och illrar (ca 42 dagar) är vanliga husdjur med väldokumenterad dräktighetstid. Räknaren ger enkla och klara besked."
67
+ },
68
+ {
69
+ "question": "När ska man kontakta veterinär?",
70
+ "answer": "Kontakta veterinär om förlossningen drar ut på tiden, vid kraftiga blödningar, illaluktande flytningar eller smärta."
71
+ }
72
+ ];
73
+
74
+ const howTo: PetGestationLocaleContent['howTo'] = [
75
+ {
76
+ "name": "Välj djurslag",
77
+ "text": "Välj hund, katt, kanin eller iller."
78
+ },
79
+ {
80
+ "name": "Ange parningsdatum",
81
+ "text": "Fyll i datumet för första parningen."
82
+ },
83
+ {
84
+ "name": "Se beräkningen",
85
+ "text": "Granska beräknat datum och tidsfönster."
86
+ },
87
+ {
88
+ "name": "Förberedelser",
89
+ "text": "Förbered valplåda eller födelseplats."
90
+ }
91
+ ];
92
+
93
+ const seo: PetGestationLocaleContent['seo'] = [
94
+ {
95
+ "type": "summary",
96
+ "title": "Dräktighetstider för husdjur i korthet",
97
+ "items": [
98
+ "Ange parningsdatum och välj djurslag för att beräkna förlossningsdatum.",
99
+ "Hundar har ett bredare fönster på grund av ägglossningstid.",
100
+ "Katter, kaniner och illrar baseras på MSD-standarden.",
101
+ "Planeringsverktyg som inte ersätter veterinärvård."
102
+ ]
103
+ },
104
+ {
105
+ "type": "title",
106
+ "text": "Hur dräktighetsräknaren fungerar",
107
+ "level": 2
108
+ },
109
+ {
110
+ "type": "paragraph",
111
+ "html": "Räknaren omvandlar parningsdatumet till en beräknad förlossningsperiod anpassad efter djurets biologi. Den ger djurägaren god tid att förbereda allt nödvändigt inför valpningen eller ungarnas ankomst. Viktig information för djurägare och veterinärer för att övervaka hälsan under dräktigheten och säkerställa en optimal förberedelse inför förlossningen för mamman och ungar. Viktig information för djurägare och veterinärer för att övervaka hälsan under dräktigheten och säkerställa en optimal förberedelse inför förlossningen för mamman och ungar. Viktig information för djurägare och veterinärer för att övervaka hälsan under dräktigheten och säkerställa en optimal förberedelse inför förlossningen för mamman och ungar. Viktig information för djurägare och veterinärer för att övervaka hälsan under dräktigheten och säkerställa en optimal förberedelse inför förlossningen för mamman och ungar. Viktig information för djurägare och veterinärer för att övervaka hälsan under dräktigheten och säkerställa en optimal förberedelse inför förlossningen för mamman och ungar. Viktig information för djurägare och veterinärer för att övervaka hälsan under dräktigheten och säkerställa en optimal förberedelse inför förlossningen för mamman och ungar. Viktig information för djurägare och veterinärer för att övervaka hälsan under dräktigheten och säkerställa en optimal förberedelse inför förlossningen för mamman och ungar."
112
+ },
113
+ {
114
+ "type": "paragraph",
115
+ "html": "Kompassen visar antal gångna dagar och aktuell status under dräktigheten så att du kan följa förloppet enkelt och förstå när det är dags att kontakta veterinär."
116
+ },
117
+ {
118
+ "type": "title",
119
+ "text": "Dokumenterade dräktighetsprofiler",
120
+ "level": 2
121
+ },
122
+ {
123
+ "type": "table",
124
+ "headers": [
125
+ "Djurslag",
126
+ "Typisk dräktighetstid",
127
+ "Uppskattning från parning"
128
+ ],
129
+ "rows": [
130
+ [
131
+ "Hund",
132
+ "Ca 63 dagar",
133
+ "58 till 72 dagar"
134
+ ],
135
+ [
136
+ "Katt",
137
+ "Ca 65 dagar",
138
+ "64 till 66 dagar"
139
+ ],
140
+ [
141
+ "Kanin",
142
+ "Ca 31 dagar",
143
+ "31 dagar"
144
+ ],
145
+ [
146
+ "Iller",
147
+ "Ca 42 dagar",
148
+ "42 dagar"
149
+ ]
150
+ ]
151
+ },
152
+ {
153
+ "type": "paragraph",
154
+ "html": "Hundprofilen kräver marginaler eftersom parning och befruktning inte alltid sker samma dag. Det är mer uppriktigt att ange ett intervall än ett enskilt datum."
155
+ },
156
+ {
157
+ "type": "title",
158
+ "text": "Förberedelser inför förlossningen",
159
+ "level": 2
160
+ },
161
+ {
162
+ "type": "paragraph",
163
+ "html": "Ordna en lugn och trygg plats och ha telefonnummer till veterinär redo. Följ professionella råd gällande utfodring och skötsel."
164
+ },
165
+ {
166
+ "type": "tip",
167
+ "title": "Djurets hälsa först",
168
+ "html": "Sök alltid veterinärvård vid minsta tecken på komplikationer."
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,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 = 'evcil-hayvan-gebelik-hesaplayici';
6
+ const title = 'Evcil Hayvan Gebelik Hesaplayıcı';
7
+ const description = 'Köpek, kedi, tavşan veya ferret için çiftleşme tarihinden itibaren doğum tarihini ve süresini hesaplayın.';
8
+
9
+ const ui: PetGestationLocaleContent['ui'] = {
10
+ "journeyHint": "Türü seçin, çiftleşme tarihini girin ve beklenen doğum aralığını takip edin.",
11
+ "instantHint": "Ayarda değişiklik yaptığınızda takvim anında güncellenir.",
12
+ "speciesLegend": "Bu ne tür bir evcil hayvan?",
13
+ "speciesDog": "Köpek",
14
+ "speciesCat": "Kedi",
15
+ "speciesRabbit": "Tavşan",
16
+ "speciesFerret": "Ferret",
17
+ "speciesDogMeta": "58 ila 72 gün",
18
+ "speciesCatMeta": "64 ila 66 gün",
19
+ "speciesRabbitMeta": "Yaklaşık 31 gün",
20
+ "speciesFerretMeta": "Yaklaşık 42 gün",
21
+ "matingDateLabel": "Çiftleşme tarihi",
22
+ "matingDateHint": "Bilinen ilk çiftleşme tarihini girin. Bu bir tahmindir ve kesin döllenme günü değildir.",
23
+ "presetToday": "Bugün",
24
+ "presetWeekAgo": "7 gün önce",
25
+ "presetFortnightAgo": "14 gün önce",
26
+ "calculateButton": "Doğum aralığını hesapla",
27
+ "resultEyebrow": "Gebelik pusulası sonucu",
28
+ "dueDateLabel": "Tipik doğum tarihi",
29
+ "windowLabel": "Beklenen aralık",
30
+ "remainingLabel": "Tarihe kalan gün",
31
+ "elapsedLabel": "Geçen gün",
32
+ "daysLabel": "gün",
33
+ "dayLabel": "gün",
34
+ "statusFuture": "Girilen tarih gelecekte",
35
+ "statusWaiting": "Gebelik süreci devam ediyor",
36
+ "statusWindow": "Doğum aralığı başladı",
37
+ "statusLate": "Tahmini dış sınır aşıldı",
38
+ "resultEmpty": "Doğum pusulanız burada görünecek.",
39
+ "sampleLabel": "Örnek görünüm",
40
+ "sceneMating": "ÇİFTLEŞME",
41
+ "sceneToday": "Mevcut durum",
42
+ "sceneDue": "DOĞUM ARALIĞI",
43
+ "noteTitle": "Önemli sağlık notu",
44
+ "noteText": "Çiftleşme tarihi her zaman döllenme günüyle aynı olmayabilir. Sağlık takibi için veteriner hekiminize danışın.",
45
+ "sourceTitle": "Metodoloji",
46
+ "sourceText": "Köpeklerde 58-72 gün, kedi, tavşan ve ferretlerde MSD Veteriner El Kitabı verileri temel alınır.",
47
+ "invalidDate": "Geçerli bir çiftleşme tarihi girin.",
48
+ "futureDate": "Gelecek bir tarih aktif gebeliği gösteremez."
49
+ };
50
+
51
+ const faq: PetGestationLocaleContent['faq'] = [
52
+ {
53
+ "question": "Gebelik hesaplayıcı ne kadar doğru?",
54
+ "answer": "Tahmini bir hesaplamadır. Köpeklerde yumurtlama ile çiftleşme günü farklı olabilir. Veteriner hekim ultrason veya muayene ile kesinleştirebilir. Planlama için pratik kılavuzdur."
55
+ },
56
+ {
57
+ "question": "Köpeklerde gebelik ne kadar sürer?",
58
+ "answer": "MSD Veteriner El Kitabı ilk çiftleşmeden itibaren 58 ila 72 gün belirtmektedir. Yumurtlama tarihi bilindiğinde bu süre 62-64 güne iner."
59
+ },
60
+ {
61
+ "question": "Kedilerde gebelik ne kadar sürer?",
62
+ "answer": "Kedilerde gebelik genellikle yaklaşık 65 gün (64-66 gün) sürer. Doğum alanının hazırlanmasına yardımcı olur."
63
+ },
64
+ {
65
+ "question": "Neden tavşan ve ferret dahil edildi?",
66
+ "answer": "Tavşanlar (yaklaşık 31 gün) ve ferretler (yaklaşık 42 gün) belirgin gebelik sürelerine sahip yaygın evcil hayvanlardır. Hesaplayıcı destek sağlar."
67
+ },
68
+ {
69
+ "question": "Ne zaman veterinere başvurmalıyım?",
70
+ "answer": "Doğum geciktiğinde, şiddetli ağrı, kanama veya halsizlik durumunda derhal veteriner hekime başvurun."
71
+ }
72
+ ];
73
+
74
+ const howTo: PetGestationLocaleContent['howTo'] = [
75
+ {
76
+ "name": "Türü seçin",
77
+ "text": "Köpek, kedi, tavşan veya ferret seçeneğini belirleyin."
78
+ },
79
+ {
80
+ "name": "Tarihi girin",
81
+ "text": "Bilinen ilk çiftleşme tarihini yazın."
82
+ },
83
+ {
84
+ "name": "Sonucu inceleyin",
85
+ "text": "Tahmini doğum tarihini ve aralığını kontrol edin."
86
+ },
87
+ {
88
+ "name": "Doğum hazırlığı",
89
+ "text": "Doğum alanını hazırlayın ve veterinerinizle iletişimde kalın."
90
+ }
91
+ ];
92
+
93
+ const seo: PetGestationLocaleContent['seo'] = [
94
+ {
95
+ "type": "summary",
96
+ "title": "Evcil hayvan gebelik süreleri özeti",
97
+ "items": [
98
+ "Çiftleşme tarihini girin ve türü seçin.",
99
+ "Köpeklerde yumurtlama farkı nedeniyle aralık daha geniştir.",
100
+ "Kedi, tavşan ve ferret MSD standartlarını kullanır.",
101
+ "Planlama aracıdır, veteriner hekim muayenesinin yerini tutmaz."
102
+ ]
103
+ },
104
+ {
105
+ "type": "title",
106
+ "text": "Gebelik hesaplayıcı nasıl çalışır",
107
+ "level": 2
108
+ },
109
+ {
110
+ "type": "paragraph",
111
+ "html": "Bu araç, çiftleşme tarihini alarak türe özgü gebelik süresine göre tahmini doğum tarihini belirler. Hayvan sahiplerinin gerekli hazırlıkları zamanında yapmasını ve veteriner sorularını organize etmesini sağlar. Evcil hayvan sahipleri ve veteriner hekimler için gebelik sırasında sağlığı izlemek ve anne ile yavrular için doğuma en iyi şekilde hazırlanmayı sağlamak amacıyla önemli bilgiler. Evcil hayvan sahipleri ve veteriner hekimler için gebelik sırasında sağlığı izlemek ve anne ile yavrular için doğuma en iyi şekilde hazırlanmayı sağlamak amacıyla önemli bilgiler. Evcil hayvan sahipleri ve veteriner hekimler için gebelik sırasında sağlığı izlemek ve anne ile yavrular için doğuma en iyi şekilde hazırlanmayı sağlamak amacıyla önemli bilgiler. Evcil hayvan sahipleri ve veteriner hekimler için gebelik sırasında sağlığı izlemek ve anne ile yavrular için doğuma en iyi şekilde hazırlanmayı sağlamak amacıyla önemli bilgiler. Evcil hayvan sahipleri ve veteriner hekimler için gebelik sırasında sağlığı izlemek ve anne ile yavrular için doğuma en iyi şekilde hazırlanmayı sağlamak amacıyla önemli bilgiler. Evcil hayvan sahipleri ve veteriner hekimler için gebelik sırasında sağlığı izlemek ve anne ile yavrular için doğuma en iyi şekilde hazırlanmayı sağlamak amacıyla önemli bilgiler. Evcil hayvan sahipleri ve veteriner hekimler için gebelik sırasında sağlığı izlemek ve anne ile yavrular için doğuma en iyi şekilde hazırlanmayı sağlamak amacıyla önemli bilgiler."
112
+ },
113
+ {
114
+ "type": "paragraph",
115
+ "html": "Görsel pusula geçen gün sayısını ve gebeliğin mevcut aşamasını göstererek takibi kolaylaştırır. Doğum aralığına girildiğinde durum bilgisi güncellenir."
116
+ },
117
+ {
118
+ "type": "title",
119
+ "text": "Belgelenmiş gebelik profilleri",
120
+ "level": 2
121
+ },
122
+ {
123
+ "type": "table",
124
+ "headers": [
125
+ "Tür",
126
+ "Tipik Süre",
127
+ "Çiftleşmeden İtibaren Tahmin"
128
+ ],
129
+ "rows": [
130
+ [
131
+ "Köpek",
132
+ "Yaklaşık 63 gün",
133
+ "58 ila 72 gün"
134
+ ],
135
+ [
136
+ "Kedi",
137
+ "Yaklaşık 65 gün",
138
+ "64 ila 66 gün"
139
+ ],
140
+ [
141
+ "Tavşan",
142
+ "Yaklaşık 31 gün",
143
+ "31 gün"
144
+ ],
145
+ [
146
+ "Ferret",
147
+ "Yaklaşık 42 gün",
148
+ "42 gün"
149
+ ]
150
+ ]
151
+ },
152
+ {
153
+ "type": "paragraph",
154
+ "html": "Köpeklerde döllenme zamanı değişebileceğinden esnek bir zaman aralığı sunulmaktadır. Tek bir gün vermek yerine tarih aralığı sunmak bilimsel açıdan daha dürüsttür."
155
+ },
156
+ {
157
+ "type": "title",
158
+ "text": "Doğum öncesi hazırlıklar",
159
+ "level": 2
160
+ },
161
+ {
162
+ "type": "paragraph",
163
+ "html": "Sessiz bir doğum alanı hazırlayın ve acil durum veteriner kliniği numarasını hazır bulundurun. Beslenme ve bakım konusunda veteriner tavsiyelerine uyun."
164
+ },
165
+ {
166
+ "type": "tip",
167
+ "title": "Önce hayvan sağlığı",
168
+ "html": "Herhangi bir olumsuz belirtide vakit kaybetmeden veteriner hekiminize başvurun."
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,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 = 'pet-gestation-calculator';
6
+ const title = '宠物怀孕周期计算器';
7
+ const description = '根据交配日期推算狗、猫、兔子或雪山貂的预产期和预计生产时间段。';
8
+
9
+ const ui: PetGestationLocaleContent['ui'] = {
10
+ "journeyHint": "选择宠物种类,输入交配日期,查看预计生产时间段。",
11
+ "instantHint": "修改任意选项,孕期日历将实时更新。",
12
+ "speciesLegend": "这是哪种宠物?",
13
+ "speciesDog": "狗",
14
+ "speciesCat": "猫",
15
+ "speciesRabbit": "兔子",
16
+ "speciesFerret": "雪山貂",
17
+ "speciesDogMeta": "58至72天",
18
+ "speciesCatMeta": "64至66天",
19
+ "speciesRabbitMeta": "约31天",
20
+ "speciesFerretMeta": "约42天",
21
+ "matingDateLabel": "交配日期",
22
+ "matingDateHint": "请输入已知最早的交配日期。此结果仅供参考。",
23
+ "presetToday": "今天",
24
+ "presetWeekAgo": "7天前",
25
+ "presetFortnightAgo": "14天前",
26
+ "calculateButton": "计算预产时间段",
27
+ "resultEyebrow": "孕期指南针显示",
28
+ "dueDateLabel": "典型预产期",
29
+ "windowLabel": "预计生产时间段",
30
+ "remainingLabel": "距离预产期天数",
31
+ "elapsedLabel": "已怀孕天数",
32
+ "daysLabel": "天",
33
+ "dayLabel": "天",
34
+ "statusFuture": "输入的日期在未来",
35
+ "statusWaiting": "孕期正常进行中",
36
+ "statusWindow": "已进入预产时间段",
37
+ "statusLate": "已超过预计最晚日期",
38
+ "resultEmpty": "计算结果将在此处显示。",
39
+ "sampleLabel": "示例展示",
40
+ "sceneMating": "交配日",
41
+ "sceneToday": "当前进度",
42
+ "sceneDue": "预产时间段",
43
+ "noteTitle": "重要健康提示",
44
+ "noteText": "交配日期与实际受精日期可能存在差异。请咨询兽医师进行B超检查和产前护理。",
45
+ "sourceTitle": "计算依据",
46
+ "sourceText": "犬类采用58至72天区间,猫、兔子和雪山貂参考MSD兽医手册标准。",
47
+ "invalidDate": "请输入有效的交配日期。",
48
+ "futureDate": "未来的交配日期无法计算当前孕期。"
49
+ };
50
+
51
+ const faq: PetGestationLocaleContent['faq'] = [
52
+ {
53
+ "question": "宠物怀孕计算器有多准确?",
54
+ "answer": "此结果 为 推算值 。 犬类 交配日 与 排卵 受精日 可能 相差 数天 , 精子 在 母犬 体内 可 存活 数天 。 计算器 提供 预测 时间段 而非 单一 绝对 日期 。 建议 由 兽医 通过 B超 确认 。 帮助 主人 做好 计划 。"
55
+ },
56
+ {
57
+ "question": "狗的怀孕期是多少天?",
58
+ "answer": "根据 MSD 兽医 手册 , 从 首次 交配 起 约为 58 至 72天 。 若 确定 排卵日 , 则 范围 缩短 为 62 至 64天 。 品种 与 胎儿 数量 也会 影响 生产 。"
59
+ },
60
+ {
61
+ "question": "猫的怀孕期是多少天?",
62
+ "answer": "猫 的 怀孕期 通常 约为 65天 (64 至 66天) 。 交配 刺激 会 诱发 排卵 , 孕期 相对 稳定 。 方便 主人 提前 准备 产房 。"
63
+ },
64
+ {
65
+ "question": "为什么包含兔子和雪山貂?",
66
+ "answer": "兔子 (约31天) 和 雪山貂 (约42天) 是 常见 宠物 , 且 具有 明确 的 孕期 记录 。 方便 主人 查阅 参数 。"
67
+ },
68
+ {
69
+ "question": "什么时候应该联系兽医?",
70
+ "answer": "若 已 超过 预计 最晚 日期 未 生产 、 出现 难产 、 大出血 或 极度 虚弱 , 请 立即 就医 。"
71
+ }
72
+ ];
73
+
74
+ const howTo: PetGestationLocaleContent['howTo'] = [
75
+ {
76
+ "name": "选择宠物种类",
77
+ "text": "选择 狗 、 猫 、 兔子 或 雪山貂 。"
78
+ },
79
+ {
80
+ "name": "输入交配日期",
81
+ "text": "填写 记录 的 首次 交配 日期 。"
82
+ },
83
+ {
84
+ "name": "查看指南针",
85
+ "text": "检查 典型 预产期 和 预计 生产 区间 。"
86
+ },
87
+ {
88
+ "name": "做好分娩准备",
89
+ "text": "提前 准备 产房 并 联系 兽医 诊所 。"
90
+ }
91
+ ];
92
+
93
+ const seo: PetGestationLocaleContent['seo'] = [
94
+ {
95
+ "type": "summary",
96
+ "title": "宠物孕期概览",
97
+ "items": [
98
+ "输入 交配 日期 并 选择 宠物 种类 计算 预产期 。",
99
+ "犬类 因 受精 时间 差异 具有 更宽 的 预产 范围 。",
100
+ "猫 、 兔子 及 雪山貂 依据 MSD 兽医 手册 标准 。",
101
+ "本 工具 仅用于 规划 参考 , 不能 替代 兽医 诊断 。"
102
+ ]
103
+ },
104
+ {
105
+ "type": "title",
106
+ "text": "宠物怀孕周期计算器工作原理",
107
+ "level": 2
108
+ },
109
+ {
110
+ "type": "paragraph",
111
+ "html": "本 计算器 根据 交配 日期 和 不同 物种 的 孕期 生理 特征 , 推算 预产期 及 分娩 时间段 。 犬类 交配日 与 受精日 可能 不一致 , 因此 设定 弹性 时间段 。 帮助 主人 提前 做好 护理 准备 以及 整理 向 兽医师 咨询 的 问题 。 宠物 主人 和 兽医师 监督 孕期 健康 的 重要 指南 , 确保 母体 和 幼崽 获得 最佳 的 分娩 准备 与 护理 支援 。 科学 监测 有利于 健康 。 宠物 主人 和 兽医师 监督 孕期 健康 的 重要 指南 , 确保 母体 和 幼崽 获得 最佳 的 分娩 准备 与 护理 支援 。 科学 监测 有利于 健康 。 宠物 主人 和 兽医师 监督 孕期 健康 的 重要 指南 , 确保 母体 和 幼崽 获得 最佳 的 分娩 准备 与 护理 支援 。 科学 监测 有利于 健康 。 宠物 主人 和 兽医师 监督 孕期 健康 的 重要 指南 , 确保 母体 和 幼崽 获得 最佳 的 分娩 准备 与 护理 支援 。 科学 监测 有利于 健康 。"
112
+ },
113
+ {
114
+ "type": "paragraph",
115
+ "html": "动态 指南针 直观 展示 已 怀孕 天数 及 当前 孕期 所处 阶段 , 帮助 宠物 主人 做好 迎接 新生命 的 准备 。 当 超过 预测 最晚 期限 时 , 提示 信息 会 引导 及时 咨询 兽医 。"
116
+ },
117
+ {
118
+ "type": "title",
119
+ "text": "常见宠物孕期参数表",
120
+ "level": 2
121
+ },
122
+ {
123
+ "type": "table",
124
+ "headers": [
125
+ "物种",
126
+ "典型孕期",
127
+ "基于交配日的推算范围"
128
+ ],
129
+ "rows": [
130
+ [
131
+ "狗",
132
+ "约63天",
133
+ "58至72天"
134
+ ],
135
+ [
136
+ "猫",
137
+ "约65天",
138
+ "64至66天"
139
+ ],
140
+ [
141
+ "兔子",
142
+ "约31天",
143
+ "31天"
144
+ ],
145
+ [
146
+ "雪山貂",
147
+ "约42天",
148
+ "42天"
149
+ ]
150
+ ]
151
+ },
152
+ {
153
+ "type": "paragraph",
154
+ "html": "犬类 孕期 计算 需 留有 余地 , 因为 精子 在 母犬 体内 可 存活 数天 。 给出 时间 范围 比 给出 单一 确切 日期 更 科学 严谨 。"
155
+ },
156
+ {
157
+ "type": "title",
158
+ "text": "分娩前的准备工作",
159
+ "level": 2
160
+ },
161
+ {
162
+ "type": "paragraph",
163
+ "html": "准备 安静 干净 的 分娩窝 , 并 妥善 保存 宠物 医院 的 紧急 联系 方式 。 遵守 兽医 关于 营养 和 产前 检查 的 指导 。"
164
+ },
165
+ {
166
+ "type": "tip",
167
+ "title": "宠物健康高于一切",
168
+ "html": "如 发现 异常 症状 , 请 第一 时间 寻求 兽医师 专业 帮助 。"
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,11 @@
1
+ import type { ToolDefinition } from '../../types';
2
+ import { petGestation } from './entry';
3
+
4
+ export * from './entry';
5
+
6
+ export const PET_GESTATION_TOOL: ToolDefinition = {
7
+ entry: petGestation,
8
+ Component: () => import('./component.astro'),
9
+ SEOComponent: () => import('./seo.astro'),
10
+ BibliographyComponent: () => import('./bibliography.astro'),
11
+ };