@jjlmoya/utils-babies 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +67 -66
- package/src/category/i18n/de.ts +48 -0
- package/src/category/i18n/en.ts +10 -10
- package/src/category/i18n/fr.ts +10 -10
- package/src/category/i18n/id.ts +48 -0
- package/src/category/i18n/it.ts +48 -0
- package/src/category/i18n/ja.ts +48 -0
- package/src/category/i18n/ko.ts +48 -0
- package/src/category/i18n/nl.ts +48 -0
- package/src/category/i18n/pl.ts +48 -0
- package/src/category/i18n/pt.ts +48 -0
- package/src/category/i18n/ru.ts +48 -0
- package/src/category/i18n/sv.ts +48 -0
- package/src/category/i18n/tr.ts +48 -0
- package/src/category/i18n/zh.ts +48 -0
- package/src/category/index.ts +13 -1
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +1 -1
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/seo_length.test.ts +1 -2
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/baby-feeding-calculator/component.astro +40 -40
- package/src/tool/baby-feeding-calculator/i18n/de.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/id.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/it.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/ja.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/ko.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/nl.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/pl.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/pt.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/ru.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/sv.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/tr.ts +162 -0
- package/src/tool/baby-feeding-calculator/i18n/zh.ts +162 -0
- package/src/tool/baby-feeding-calculator/index.ts +12 -0
- package/src/tool/baby-percentile-calculator/component.astro +38 -38
- package/src/tool/baby-percentile-calculator/i18n/de.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/id.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/it.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/ja.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/ko.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/nl.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/pl.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/pt.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/ru.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/sv.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/tr.ts +245 -0
- package/src/tool/baby-percentile-calculator/i18n/zh.ts +245 -0
- package/src/tool/baby-percentile-calculator/index.ts +12 -0
- package/src/tool/baby-size-converter/component.astro +42 -42
- package/src/tool/baby-size-converter/i18n/de.ts +203 -0
- package/src/tool/baby-size-converter/i18n/fr.ts +1 -1
- package/src/tool/baby-size-converter/i18n/id.ts +203 -0
- package/src/tool/baby-size-converter/i18n/it.ts +203 -0
- package/src/tool/baby-size-converter/i18n/ja.ts +203 -0
- package/src/tool/baby-size-converter/i18n/ko.ts +203 -0
- package/src/tool/baby-size-converter/i18n/nl.ts +203 -0
- package/src/tool/baby-size-converter/i18n/pl.ts +203 -0
- package/src/tool/baby-size-converter/i18n/pt.ts +203 -0
- package/src/tool/baby-size-converter/i18n/ru.ts +203 -0
- package/src/tool/baby-size-converter/i18n/sv.ts +203 -0
- package/src/tool/baby-size-converter/i18n/tr.ts +203 -0
- package/src/tool/baby-size-converter/i18n/zh.ts +203 -0
- package/src/tool/baby-size-converter/index.ts +12 -0
- package/src/tool/fertile-days-estimator/component.astro +14 -9
- package/src/tool/fertile-days-estimator/i18n/de.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/id.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/it.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/ja.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/ko.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/nl.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/pl.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/pt.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/ru.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/sv.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/tr.ts +262 -0
- package/src/tool/fertile-days-estimator/i18n/zh.ts +262 -0
- package/src/tool/fertile-days-estimator/index.ts +12 -0
- package/src/tool/pregnancy-calculator/component.astro +55 -48
- package/src/tool/pregnancy-calculator/i18n/de.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/en.ts +140 -0
- package/src/tool/pregnancy-calculator/i18n/es.ts +143 -3
- package/src/tool/pregnancy-calculator/i18n/fr.ts +143 -3
- package/src/tool/pregnancy-calculator/i18n/id.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/it.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/ja.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/ko.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/nl.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/pl.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/pt.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/ru.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/sv.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/tr.ts +467 -0
- package/src/tool/pregnancy-calculator/i18n/zh.ts +467 -0
- package/src/tool/pregnancy-calculator/index.ts +37 -1
- package/src/tool/pregnancy-calculator/milestones.ts +2 -146
- package/src/tool/vaccination-calendar/component.astro +26 -24
- package/src/tool/vaccination-calendar/i18n/de.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/en.ts +20 -0
- package/src/tool/vaccination-calendar/i18n/es.ts +20 -0
- package/src/tool/vaccination-calendar/i18n/fr.ts +99 -75
- package/src/tool/vaccination-calendar/i18n/id.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/it.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/ja.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/ko.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/nl.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/pl.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/pt.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/ru.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/sv.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/tr.ts +194 -0
- package/src/tool/vaccination-calendar/i18n/zh.ts +194 -0
- package/src/tool/vaccination-calendar/index.ts +33 -1
- package/src/tool/vaccination-calendar/logic.ts +39 -13
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import type { VaccinationCalendarLocaleContent } from '../index';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
|
|
4
|
+
const slug = 'vaccinationsprogram-spanien-bebisar';
|
|
5
|
+
const title = 'Vaccinationsprogram i Spanien';
|
|
6
|
+
const description = 'Beräkna de exakta datumen för ditt barns vaccinationer enligt AEP 2026-kalendern.';
|
|
7
|
+
const faq = [
|
|
8
|
+
{
|
|
9
|
+
question: 'Vad är vaccinationsprogrammet AEP 2026?',
|
|
10
|
+
answer: 'Det är det vaccinationsschema som rekommenderas av den spanska barnläkarföreningen (Asociación Española de Pediatría) för år 2026. Det inkluderar alla systematiska och valfria vaccinationer för spädbarn och barn från födseln upp till 14 år.',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
question: 'Är det obligatoriskt att vaccinera mitt barn enligt programmet?',
|
|
14
|
+
answer: 'I Spanien är vaccination inte lagligt obligatorisk, men rekommenderas starkt. Vaccinationerna i det systematiska programmet är kostnadsfria och administreras på offentliga vårdcentraler.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Vad händer om vi missar en dos?',
|
|
18
|
+
answer: 'Om en dos blir försenad behöver man inte börja om från början. Din barnläkare kommer att ange hur ni återupptar schemat där det avbröts. Det viktiga är att färdigställa programmet så snart som möjligt.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
question: 'Kan man ge flera vaccinationer samma dag?',
|
|
22
|
+
answer: 'Ja, det är vanligt och säkert att ge flera vaccinationer vid samma besök. Kombinationsvacciner skyddar mot sex sjukdomar i en enda spruta.',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
question: 'Är vaccinationer säkra för prematura barn?',
|
|
26
|
+
answer: 'Prematura barn bör vaccineras enligt sin kronologiska ålder (från födseln), inte korrigerad ålder, om inte neonatologen anger något annat. De prioriteras då de är mer sårbara.',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
const howTo = [
|
|
30
|
+
{
|
|
31
|
+
name: 'Ange födelsedatum',
|
|
32
|
+
text: 'Fyll i dag, månad och år för ditt barns födelse i motsvarande fält.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Se nästa besök',
|
|
36
|
+
text: 'Kalkylatorn visar automatiskt när nästa vaccination infaller och vilka vacciner som är aktuella.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Kontrollera hela programmet',
|
|
40
|
+
text: 'Öppna sektionerna för tidigare och framtida besök för att se hela vaccinationsprogrammet.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Exportera påminnelser',
|
|
44
|
+
text: 'Tryck på knappen för att ladda ner en .ics-fil med alla framtida besök och lägg till dem i din mobilkalender.',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'FAQPage',
|
|
51
|
+
mainEntity: faq.map((item) => ({
|
|
52
|
+
'@type': 'Question',
|
|
53
|
+
name: item.question,
|
|
54
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
const howToSchema: WithContext<HowTo> = {
|
|
58
|
+
'@context': 'https://schema.org',
|
|
59
|
+
'@type': 'HowTo',
|
|
60
|
+
name: title,
|
|
61
|
+
description,
|
|
62
|
+
step: howTo.map((step) => ({
|
|
63
|
+
'@type': 'HowToStep',
|
|
64
|
+
name: step.name,
|
|
65
|
+
text: step.text,
|
|
66
|
+
})),
|
|
67
|
+
};
|
|
68
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
69
|
+
'@context': 'https://schema.org',
|
|
70
|
+
'@type': 'SoftwareApplication',
|
|
71
|
+
name: title,
|
|
72
|
+
description,
|
|
73
|
+
applicationCategory: 'UtilitiesApplication',
|
|
74
|
+
operatingSystem: 'Web',
|
|
75
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
76
|
+
inLanguage: 'sv',
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export const content: VaccinationCalendarLocaleContent = {
|
|
80
|
+
slug,
|
|
81
|
+
title,
|
|
82
|
+
description,
|
|
83
|
+
ui: {
|
|
84
|
+
labelBirthDate: 'Barnets födelsedatum',
|
|
85
|
+
placeholderDD: 'DD',
|
|
86
|
+
placeholderMM: 'MM',
|
|
87
|
+
placeholderAAAA: 'ÅÅÅÅ',
|
|
88
|
+
emptyMsg: 'Ange dag, månad och år för barnets födelse för att se vaccinationsprogrammet.',
|
|
89
|
+
invalidMsg: 'Det angivna datumet är ogiltigt.',
|
|
90
|
+
futureMsg: 'Ett barn kan inte vara fött i framtiden.',
|
|
91
|
+
labelNextAppointment: 'Nästa beräknade besök',
|
|
92
|
+
btnAddReminder: 'Lägg till påminnelse i mobilen',
|
|
93
|
+
btnToday: 'Det är idag! Glöm inte hälsoboken',
|
|
94
|
+
labelPassed: 'Tidigare besök',
|
|
95
|
+
labelFuture: 'Framtida schema',
|
|
96
|
+
labelStatusOk: 'OK',
|
|
97
|
+
labelStatusPending: 'VÄNTAR',
|
|
98
|
+
labelSource: 'Källa: AEP 2026',
|
|
99
|
+
labelShare: 'Dela dessa datum',
|
|
100
|
+
faqTitle: 'Vanliga frågor',
|
|
101
|
+
bibliographyTitle: 'Referenser',
|
|
102
|
+
labelMonth: 'månad',
|
|
103
|
+
labelMonths: 'månader',
|
|
104
|
+
labelYear: 'år',
|
|
105
|
+
labelYears: 'år',
|
|
106
|
+
labelDay: 'dag',
|
|
107
|
+
labelDays: 'dagar',
|
|
108
|
+
labelAnd: 'och',
|
|
109
|
+
labelVaccination: 'Vaccination',
|
|
110
|
+
labelAppointment: 'Vaccinationstid',
|
|
111
|
+
vac_hexavalente: 'Hexavalent',
|
|
112
|
+
vac_neumococo: 'Pneumokocker (VCN15/20)',
|
|
113
|
+
vac_meningococo_b: 'Meningokocker B (Bexsero)',
|
|
114
|
+
vac_rotavirus: 'Rotavirus',
|
|
115
|
+
vac_meningococo_acwy: 'Meningokocker ACWY',
|
|
116
|
+
vac_triple_virica: 'MPR (Mässling, Påssjuka, Röda hund)',
|
|
117
|
+
vac_varicela: 'Vattkoppor',
|
|
118
|
+
vac_gripe: 'Influensa (Säsongsbunden)',
|
|
119
|
+
vac_vph: 'HPV (Papillomvirus)',
|
|
120
|
+
vac_tdpa: 'Tdap (Stelkramp, Difteri, Kikhosta)',
|
|
121
|
+
vac_polio_booster: 'Polio (Booster)',
|
|
122
|
+
},
|
|
123
|
+
seo: [
|
|
124
|
+
{ type: 'title', text: 'Vaccinationskalkylator: När är det dags för mitt barns nästa vaccination?', level: 2 },
|
|
125
|
+
{ type: 'stats', columns: 4, items: [
|
|
126
|
+
{ value: '+95%', label: 'Effektivitet' },
|
|
127
|
+
{ value: '14', label: 'Totala doser' },
|
|
128
|
+
{ value: 'Offentlig', label: 'Kostnad AEP' },
|
|
129
|
+
{ value: 'Hög', label: 'Säkerhet' },
|
|
130
|
+
]},
|
|
131
|
+
{ type: 'tip', html: 'AEP 2026-kalendern innehåller viktiga nyheter som utökningen av vaccinationen mot meningokock B och uppdaterade rekommendationer för HPV-vaccin för båda könen från 12 års ålder.' },
|
|
132
|
+
{ type: 'title', text: 'Nyheter i AEP 2026-kalendern', level: 3 },
|
|
133
|
+
{ type: 'list', items: [
|
|
134
|
+
'Meningokock B (Bexsero): 2+1-schema konsoliderat med doser vid 2, 4 och 12 månaders ålder.',
|
|
135
|
+
'HPV-vaccin utökat till alla ungdomar från 12 års ålder, oavsett kön.',
|
|
136
|
+
'Pneumokocker: uppdaterad rekommendation med VCN15 eller VCN20 beroende på regional tillgänglighet.',
|
|
137
|
+
'Rotavirus: oralt vaccin inkluderat i det systematiska programmet i alla regioner.',
|
|
138
|
+
'Tdap: booster rekommenderas vid 6 och 12 års ålder för att bibehålla immunitet mot kikhosta.',
|
|
139
|
+
]},
|
|
140
|
+
{ type: 'title', text: 'Skillnader mellan autonoma regioner', level: 3 },
|
|
141
|
+
{ type: 'list', items: [
|
|
142
|
+
'Vissa regioner inkluderar ytterligare vacciner som inte finns i den nationella kalendern.',
|
|
143
|
+
'Finansieringen av rotavirus-vaccinet varierar beroende på region, även om trenden går mot universell täckning.',
|
|
144
|
+
'Meningokock ACWY kan ges vid något olika åldrar beroende på regionalt protokoll.',
|
|
145
|
+
'Konsultera alltid din barnläkare eller vårdcentral för att bekräfta det gällande programmet i din region.',
|
|
146
|
+
]},
|
|
147
|
+
{ type: 'title', text: 'Hur du exporterar programmet till din mobil', level: 3 },
|
|
148
|
+
{ type: 'list', items: [
|
|
149
|
+
'Ange barnets födelsedatum i kalkylatorn.',
|
|
150
|
+
'Tryck på knappen "Lägg till påminnelse i mobilen" för att ladda ner .ics-filen.',
|
|
151
|
+
'Öppna filen med din kalenderapp (Google Calendar, Apple Calendar, etc.).',
|
|
152
|
+
'Alla vaccinationstillfällen sparas med datum och aktuella vacciner.',
|
|
153
|
+
]},
|
|
154
|
+
{ type: 'title', text: 'Vanliga biverkningar', level: 3 },
|
|
155
|
+
{ type: 'list', items: [
|
|
156
|
+
'Rodnad eller svullnad vid injektionsstället: försvinner oftast efter 1-2 dagar.',
|
|
157
|
+
'Lätt feber (37,5–38,5 °C): normalt under de första 24-48 timmarna.',
|
|
158
|
+
'Irritabilitet eller gråt: vanligt hos spädbarn efter de första doserna.',
|
|
159
|
+
'Dåsighet eller tillfällig aptitlöshet: kräver oftast ingen behandling.',
|
|
160
|
+
'Allvarliga reaktioner som anafylaxi är extremt sällsynta (färre än 1 på en miljon doser).',
|
|
161
|
+
]},
|
|
162
|
+
{ type: 'tip', html: 'Ett mätt barn i bekväma kläder underlättar besöket. Efter vaccinationen kan hud mot hud-kontakt eller amning hjälpa till att lindra smärta och inflammation naturligt.' },
|
|
163
|
+
{ type: 'summary', title: 'Att komma ihåg', items: [
|
|
164
|
+
'AEP 2026-kalendern inkluderar 14 doser upp till 12 års ålder för fullgott skydd.',
|
|
165
|
+
'Vaccinationerna under det första året skyddar mot upp till 9 allvarliga sjukdomar samtidigt.',
|
|
166
|
+
'Milda biverkningar är normala och försvinner efter 1-2 dagar.',
|
|
167
|
+
'Du kan exportera alla vaccinationstillfällen till din mobilkalender med ett klick.',
|
|
168
|
+
'Fråga alltid din barnläkare om du har frågor om programmet i din region.',
|
|
169
|
+
]},
|
|
170
|
+
],
|
|
171
|
+
faqTitle: "Vanliga frågor",
|
|
172
|
+
faq,
|
|
173
|
+
bibliographyTitle: "Referenser",
|
|
174
|
+
bibliography: [
|
|
175
|
+
{
|
|
176
|
+
name: 'Asociación Española de Pediatría - Calendario de Vacunaciones 2026',
|
|
177
|
+
url: 'https://www.aeped.es/comite-vacunas/calendario-vacunaciones',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: 'Spanska hälsoministeriet (Ministerio de Sanidad) - Vaccinationsschema',
|
|
181
|
+
url: 'https://www.sanidad.gob.es/areas/promocionPrevencion/vacunaciones/calendario/home.htm',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: 'WHO - Immunisering',
|
|
185
|
+
url: 'https://www.who.int/news-room/fact-sheets/detail/vaccines-and-immunization',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'CDC - Rekommenderat vaccinationsschema för barn och ungdomar',
|
|
189
|
+
url: 'https://www.cdc.gov/vaccines/schedules/hcp/imz/child-adolescent.html',
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
howTo,
|
|
193
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
194
|
+
};
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import type { VaccinationCalendarLocaleContent } from '../index';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
|
|
4
|
+
const slug = 'ispanya-bebek-asi-takvimi';
|
|
5
|
+
const title = 'İspanya Aşı Takvimi';
|
|
6
|
+
const description = 'Bebeğinizin kesin aşı tarihlerini AEP 2026 takvimine göre hesaplayın.';
|
|
7
|
+
const faq = [
|
|
8
|
+
{
|
|
9
|
+
question: 'AEP 2026 aşı takvimi nedir?',
|
|
10
|
+
answer: 'İspanya Pediatri Derneği tarafından 2026 yılı için önerilen aşı takvimidir. Doğumdan 14 yaşına kadar bebekler ve çocuklar için tüm sistematik ve isteğe bağlı aşıları içerir.',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
question: 'Bebeğimi bu takvime göre aşılatmak zorunlu mu?',
|
|
14
|
+
answer: 'İspanya\'da aşılama yasal olarak zorunlu değildir, ancak şiddetle tavsiye edilir. Sistematik takvimdeki aşılar ücretsizdir ve kamu sağlık merkezlerinde uygulanır.',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: 'Bir dozu atlarsak ne olur?',
|
|
18
|
+
answer: 'Bir doz gecikirse baştan başlamaya gerek yoktur. Çocuk doktorunuz takvime kaldığınız yerden nasıl devam edeceğinizi size söyleyecektir. Önemli olan şemayı mümkün olan en kısa sürede tamamlamaktır.',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
question: 'Aynı gün içinde birden fazla aşı yaptırabilir miyim?',
|
|
22
|
+
answer: 'Evet, aynı ziyarette birden fazla aşı yapılması yaygın ve güvenlidir. Altılı karma aşı gibi kombine aşılar, tek bir enjeksiyonla altı hastalığa karşı koruma sağlar.',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
question: 'Aşılar prematüre bebekler için güvenli mi?',
|
|
26
|
+
answer: 'Prematüre bebekler, neonatolog aksini belirtmedikçe, düzeltilmiş yaşa göre değil, kronolojik yaşlarına (doğumdan itibaren) göre aşılanmalıdır. Daha savunmasız oldukları için önceliklidirler.',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
const howTo = [
|
|
30
|
+
{
|
|
31
|
+
name: 'Doğum tarihini girin',
|
|
32
|
+
text: 'Bebeğinizin doğum gününü, ayını ve yılını ilgili alanlara yazın.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'Bir sonraki randevuyu kontrol edin',
|
|
36
|
+
text: 'Hesaplayıcı size bir sonraki aşının ne zaman olduğunu ve hangi aşıların yapılacağını otomatik olarak gösterir.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Tüm takvimi inceleyin',
|
|
40
|
+
text: 'Tüm aşı takvimini görmek için geçmiş ve gelecek randevu bölümlerini genişletin.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Hatırlatıcıları dışa aktarın',
|
|
44
|
+
text: 'Tüm gelecek randevuları içeren bir .ics dosyasını indirmek ve bunları telefon takviminize eklemek için düğmeye basın.',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'FAQPage',
|
|
51
|
+
mainEntity: faq.map((item) => ({
|
|
52
|
+
'@type': 'Question',
|
|
53
|
+
name: item.question,
|
|
54
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
const howToSchema: WithContext<HowTo> = {
|
|
58
|
+
'@context': 'https://schema.org',
|
|
59
|
+
'@type': 'HowTo',
|
|
60
|
+
name: title,
|
|
61
|
+
description,
|
|
62
|
+
step: howTo.map((step) => ({
|
|
63
|
+
'@type': 'HowToStep',
|
|
64
|
+
name: step.name,
|
|
65
|
+
text: step.text,
|
|
66
|
+
})),
|
|
67
|
+
};
|
|
68
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
69
|
+
'@context': 'https://schema.org',
|
|
70
|
+
'@type': 'SoftwareApplication',
|
|
71
|
+
name: title,
|
|
72
|
+
description,
|
|
73
|
+
applicationCategory: 'UtilitiesApplication',
|
|
74
|
+
operatingSystem: 'Web',
|
|
75
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
76
|
+
inLanguage: 'tr',
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export const content: VaccinationCalendarLocaleContent = {
|
|
80
|
+
slug,
|
|
81
|
+
title,
|
|
82
|
+
description,
|
|
83
|
+
ui: {
|
|
84
|
+
labelBirthDate: 'Bebeğin doğum tarihi',
|
|
85
|
+
placeholderDD: 'GG',
|
|
86
|
+
placeholderMM: 'AA',
|
|
87
|
+
placeholderAAAA: 'YYYY',
|
|
88
|
+
emptyMsg: 'Aşı takvimini görmek için bebeğinizin doğum günü, ay ve yılını girin.',
|
|
89
|
+
invalidMsg: 'Girilen tarih geçerli değil.',
|
|
90
|
+
futureMsg: 'Bir bebek gelecekte doğmuş olamaz.',
|
|
91
|
+
labelNextAppointment: 'Hesaplanan sonraki randevu',
|
|
92
|
+
btnAddReminder: 'Telefona hatırlatıcı ekle',
|
|
93
|
+
btnToday: 'Bugün o gün! Aşı kartını unutmayın',
|
|
94
|
+
labelPassed: 'Geçmiş randevular',
|
|
95
|
+
labelFuture: 'Gelecek takvimi',
|
|
96
|
+
labelStatusOk: 'TAMAM',
|
|
97
|
+
labelStatusPending: 'BEK.',
|
|
98
|
+
labelSource: 'Kaynak: AEP 2026',
|
|
99
|
+
labelShare: 'Bu tarihleri paylaş',
|
|
100
|
+
faqTitle: 'Sıkça sorulan sorular',
|
|
101
|
+
bibliographyTitle: 'Referanslar',
|
|
102
|
+
labelMonth: 'aylık',
|
|
103
|
+
labelMonths: 'aylık',
|
|
104
|
+
labelYear: 'yaş',
|
|
105
|
+
labelYears: 'yaş',
|
|
106
|
+
labelDay: 'gün',
|
|
107
|
+
labelDays: 'gün',
|
|
108
|
+
labelAnd: 've',
|
|
109
|
+
labelVaccination: 'Aşılama',
|
|
110
|
+
labelAppointment: 'Aşı randevusu',
|
|
111
|
+
vac_hexavalente: 'Altılı Karma',
|
|
112
|
+
vac_neumococo: 'Pnömokok (KPA15/20)',
|
|
113
|
+
vac_meningococo_b: 'Meningokok B (Bexsero)',
|
|
114
|
+
vac_rotavirus: 'Rotavirüs',
|
|
115
|
+
vac_meningococo_acwy: 'Meningokok ACWY',
|
|
116
|
+
vac_triple_virica: 'KKK (Kızamık, Kabakulak, Kızamıkçık)',
|
|
117
|
+
vac_varicela: 'Suçiçeği',
|
|
118
|
+
vac_gripe: 'Grip (Mevsimsel)',
|
|
119
|
+
vac_vph: 'HPV (Papilloma)',
|
|
120
|
+
vac_tdpa: 'Tdpa (Tetanoz, Difteri, Boğmaca)',
|
|
121
|
+
vac_polio_booster: 'Polio (Poliomiyelit - Hatırlatma dozu)',
|
|
122
|
+
},
|
|
123
|
+
seo: [
|
|
124
|
+
{ type: 'title', text: 'Aşı Hesaplayıcı: Çocuğumun bir sonraki aşısı ne zaman?', level: 2 },
|
|
125
|
+
{ type: 'stats', columns: 4, items: [
|
|
126
|
+
{ value: '+%95', label: 'Etkinlik' },
|
|
127
|
+
{ value: '14', label: 'Toplam doz' },
|
|
128
|
+
{ value: 'Ücretsiz', label: 'Maliyet (AEP)' },
|
|
129
|
+
{ value: 'Yüksek', label: 'Güvenlik' },
|
|
130
|
+
]},
|
|
131
|
+
{ type: 'tip', html: 'AEP 2026 takvimi, Meningokok B aşısının kapsamının genişletilmesi ve 12 yaşından itibaren her iki cinsiyet için HPV önerilerinin güncellenmesi gibi önemli yenilikler içermektedir.' },
|
|
132
|
+
{ type: 'title', text: 'AEP 2026 Takvimindeki Yenilikler', level: 3 },
|
|
133
|
+
{ type: 'list', items: [
|
|
134
|
+
'Meningokok B (Bexsero): 2, 4 ve 12. aylarda dozlarla konsolide edilmiş 2+1 şeması.',
|
|
135
|
+
'HPV aşısı, cinsiyetten bağımsız olarak 12 yaşından itibaren tüm ergenleri kapsayacak şekilde genişletildi.',
|
|
136
|
+
'Pnömokok: Bölgesel mevcudiyete göre KPA15 veya KPA20 ile güncellenmiş öneri.',
|
|
137
|
+
'Rotavirüs: Tüm bölgelerde sistematik takvime dahil edilen oral aşı.',
|
|
138
|
+
'Tdpa: Boğmacaya karşı bağışıklığı korumak için 6 ve 12 yaşlarında önerilen hatırlatma dozu.',
|
|
139
|
+
]},
|
|
140
|
+
{ type: 'title', text: 'Özerk bölgeler arasındaki farklar', level: 3 },
|
|
141
|
+
{ type: 'list', items: [
|
|
142
|
+
'Bazı bölgeler, ulusal takvimde yer almayan ek aşıları içerebilir.',
|
|
143
|
+
'Rotavirüs aşısının finansmanı bölgeye göre değişmekle birlikte, eğilim evrensel kapsam yönündedir.',
|
|
144
|
+
'Meningokok ACWY, bölgesel protokole bağlı olarak biraz farklı yaşlarda uygulanabilir.',
|
|
145
|
+
'Geçerli takvimi onaylamak için her zaman çocuk doktorunuza veya bölgenizdeki sağlık merkezine danışın.',
|
|
146
|
+
]},
|
|
147
|
+
{ type: 'title', text: 'Takvimi telefonunuza nasıl aktarırsınız', level: 3 },
|
|
148
|
+
{ type: 'list', items: [
|
|
149
|
+
'Bebeğinizin doğum tarihini hesaplayıcıya girin.',
|
|
150
|
+
' .ics dosyasını indirmek için "Telefona hatırlatıcı ekle" düğmesine basın.',
|
|
151
|
+
'Dosyayı takvim uygulamanızla (Google Takvim, Apple Takvim, vb.) açın.',
|
|
152
|
+
'Tüm aşı etkinlikleri, tarih ve ilgili aşılarla birlikte kaydedilecektir.',
|
|
153
|
+
]},
|
|
154
|
+
{ type: 'title', text: 'Yaygın yan etkiler', level: 3 },
|
|
155
|
+
{ type: 'list', items: [
|
|
156
|
+
'Enjeksiyon yerinde kızarıklık veya şişlik: 1-2 gün içinde geçer.',
|
|
157
|
+
'Hafif ateş (37.5–38.5 °C): İlk 24-48 saatte normaldir.',
|
|
158
|
+
'Huzursuzluk veya ağlama: İlk dozlardan sonra bebeklerde sıktır.',
|
|
159
|
+
'Geçici uykululuk veya iştahsızlık: Tedavi gerektirmez.',
|
|
160
|
+
'Anafilaksi gibi ciddi reaksiyonlar son derece nadirdir (milyon dozda 1\'den az).',
|
|
161
|
+
]},
|
|
162
|
+
{ type: 'tip', html: 'Bebeği tok ve rahat kıyafetlerle getirmek ziyareti kolaylaştırır. Aşıdan sonra ten tene temas veya emzirme, ağrı ve iltihabı doğal yoldan yatıştırmaya yardımcı olur.' },
|
|
163
|
+
{ type: 'summary', title: 'Unutmamanız gerekenler', items: [
|
|
164
|
+
'AEP 2026 takvimi, tam koruma için 12 yaşına kadar 14 doz içerir.',
|
|
165
|
+
'İlk yıl yapılan aşılar aynı anda 9 kadar ciddi hastalığa karşı koruma sağlar.',
|
|
166
|
+
'Hafif yan etkiler normaldir ve 1-2 gün içinde geçer.',
|
|
167
|
+
'Tüm aşı randevularını tek bir tıklamayla telefonunuzun takvimine aktarabilirsiniz.',
|
|
168
|
+
'Bölgenizin takvimi hakkında şüpheniz varsa her zaman çocuk doktorunuza danışın.',
|
|
169
|
+
]},
|
|
170
|
+
],
|
|
171
|
+
faqTitle: "Sıkça sorulan sorular",
|
|
172
|
+
faq,
|
|
173
|
+
bibliographyTitle: "Referanslar",
|
|
174
|
+
bibliography: [
|
|
175
|
+
{
|
|
176
|
+
name: 'Asociación Española de Pediatría - Aşı Takvimi 2026',
|
|
177
|
+
url: 'https://www.aeped.es/comite-vacunas/calendario-vacunaciones',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: 'İspanya Sağlık Bakanlığı - Aşı Takvimi',
|
|
181
|
+
url: 'https://www.sanidad.gob.es/areas/promocionPrevencion/vacunaciones/calendario/home.htm',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: 'DSÖ - Bağışıklama',
|
|
185
|
+
url: 'https://www.who.int/news-room/fact-sheets/detail/vaccines-and-immunization',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: 'CDC - Çocuklar ve Ergenler İçin Önerilen Bağışıklama Takvimi',
|
|
189
|
+
url: 'https://www.cdc.gov/vaccines/schedules/hcp/imz/child-adolescent.html',
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
howTo,
|
|
193
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
194
|
+
};
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import type { VaccinationCalendarLocaleContent } from '../index';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
|
|
4
|
+
const slug = 'xibanya-yingers-yimiaojiezhong-rili';
|
|
5
|
+
const title = '西班牙儿童疫苗接种时间表';
|
|
6
|
+
const description = '根据 AEP 2026 最新标准,精确计算您宝宝的疫苗接种日期。';
|
|
7
|
+
const faq = [
|
|
8
|
+
{
|
|
9
|
+
question: '什么是 AEP 2026 疫苗接种时间表?',
|
|
10
|
+
answer: '这是西班牙儿科学会 (AEP) 为 2026 年推荐的疫苗接种计划。它包括从出生到 14 岁婴幼儿和儿童的所有常规及可选疫苗。',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
question: '按照这个时间表接种是强制性的吗?',
|
|
14
|
+
answer: '在西班牙,疫苗接种虽然在法律上不是强制性的,但受到强烈推荐。常规时间表内的疫苗是免费的,由公共卫生中心负责接种。',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: '如果错过了一剂疫苗怎么办?',
|
|
18
|
+
answer: '如果延迟接种,无需从头开始。您的儿科医生会告知您如何从中断的地方继续进行。重要的是要尽快完成规定的接种程序。',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
question: '一天可以接种几种疫苗吗?',
|
|
22
|
+
answer: '是的,同一次就诊接种多种疫苗是很常见且安全的。像六联疫苗这类联合疫苗,一针即可预防六种疾病。',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
question: '早产儿接种疫苗安全吗?',
|
|
26
|
+
answer: '除非新生儿专家有特殊说明,早产儿应根据其实际出生年龄(日历年龄)而非纠正年龄进行接种。由于他们更脆弱,应优先考虑接种。',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
const howTo = [
|
|
30
|
+
{
|
|
31
|
+
name: '输入出生日期',
|
|
32
|
+
text: '在相应字段中填写您宝宝出生的年、月、日。',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: '查询下次预约',
|
|
36
|
+
text: '计算器会自动显示下次接种的时间以及对应的疫苗种类。',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: '查看完整时间表',
|
|
40
|
+
text: '展开“过去”和“未来”预约部分,查看完整的接种计划。',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: '导出提醒',
|
|
44
|
+
text: '点击按钮下载 .ics 文件,将所有未来的接种计划添加到您的手机日历中。',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
49
|
+
'@context': 'https://schema.org',
|
|
50
|
+
'@type': 'FAQPage',
|
|
51
|
+
mainEntity: faq.map((item) => ({
|
|
52
|
+
'@type': 'Question',
|
|
53
|
+
name: item.question,
|
|
54
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
55
|
+
})),
|
|
56
|
+
};
|
|
57
|
+
const howToSchema: WithContext<HowTo> = {
|
|
58
|
+
'@context': 'https://schema.org',
|
|
59
|
+
'@type': 'HowTo',
|
|
60
|
+
name: title,
|
|
61
|
+
description,
|
|
62
|
+
step: howTo.map((step) => ({
|
|
63
|
+
'@type': 'HowToStep',
|
|
64
|
+
name: step.name,
|
|
65
|
+
text: step.text,
|
|
66
|
+
})),
|
|
67
|
+
};
|
|
68
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
69
|
+
'@context': 'https://schema.org',
|
|
70
|
+
'@type': 'SoftwareApplication',
|
|
71
|
+
name: title,
|
|
72
|
+
description,
|
|
73
|
+
applicationCategory: 'UtilitiesApplication',
|
|
74
|
+
operatingSystem: 'Web',
|
|
75
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
76
|
+
inLanguage: 'zh',
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export const content: VaccinationCalendarLocaleContent = {
|
|
80
|
+
slug,
|
|
81
|
+
title,
|
|
82
|
+
description,
|
|
83
|
+
ui: {
|
|
84
|
+
labelBirthDate: '宝宝出生日期',
|
|
85
|
+
placeholderDD: '日',
|
|
86
|
+
placeholderMM: '月',
|
|
87
|
+
placeholderAAAA: '年',
|
|
88
|
+
emptyMsg: '请输入宝宝的出生日期以查看疫苗接种时间表。',
|
|
89
|
+
invalidMsg: '输入日期无效。',
|
|
90
|
+
futureMsg: '出生日期不能是未来日期。',
|
|
91
|
+
labelNextAppointment: '下次预测接种日期',
|
|
92
|
+
btnAddReminder: '添加到手机日历',
|
|
93
|
+
btnToday: '就是今天!别忘了带接种本',
|
|
94
|
+
labelPassed: '已完成的接种',
|
|
95
|
+
labelFuture: '未来的接种计划',
|
|
96
|
+
labelStatusOk: '已完成',
|
|
97
|
+
labelStatusPending: '待接种',
|
|
98
|
+
labelSource: '来源:AEP 2026',
|
|
99
|
+
labelShare: '分享这些日期',
|
|
100
|
+
faqTitle: '常见问题',
|
|
101
|
+
bibliographyTitle: '参考文献',
|
|
102
|
+
labelMonth: '月',
|
|
103
|
+
labelMonths: '个月',
|
|
104
|
+
labelYear: '岁',
|
|
105
|
+
labelYears: '岁',
|
|
106
|
+
labelDay: '日',
|
|
107
|
+
labelDays: '天',
|
|
108
|
+
labelAnd: '和',
|
|
109
|
+
labelVaccination: '疫苗接种',
|
|
110
|
+
labelAppointment: '接种预约',
|
|
111
|
+
vac_hexavalente: '六联疫苗',
|
|
112
|
+
vac_neumococo: '肺炎球菌 (VCN15/20)',
|
|
113
|
+
vac_meningococo_b: 'B群脑膜炎球菌 (Bexsero)',
|
|
114
|
+
vac_rotavirus: '轮状病毒',
|
|
115
|
+
vac_meningococo_acwy: 'ACWY群脑膜炎球菌',
|
|
116
|
+
vac_triple_virica: '麻腮风三联疫苗 (SRP)',
|
|
117
|
+
vac_varicela: '水痘',
|
|
118
|
+
vac_gripe: '流感 (季节性)',
|
|
119
|
+
vac_vph: 'HPV (人乳头瘤病毒)',
|
|
120
|
+
vac_tdpa: '白破一联 (百日咳、白喉、破伤风)',
|
|
121
|
+
vac_polio_booster: '脊髓灰质炎 (加强针)',
|
|
122
|
+
},
|
|
123
|
+
seo: [
|
|
124
|
+
{ type: 'title', text: '疫苗接种计算器:我孩子下次什么时候打预防针?', level: 2 },
|
|
125
|
+
{ type: 'stats', columns: 4, items: [
|
|
126
|
+
{ value: '95% 以上', label: '有效性' },
|
|
127
|
+
{ value: '14 剂', label: '总接种剂数' },
|
|
128
|
+
{ value: '免费 (AEP)', label: '费用' },
|
|
129
|
+
{ value: '高', label: '安全性' },
|
|
130
|
+
]},
|
|
131
|
+
{ type: 'tip', html: 'AEP 2026 时间表包含重要更新,例如扩大 B 群脑膜炎球菌疫苗的接种范围,以及更新自 12 岁起男女两性接种 HPV 疫苗的建议。' },
|
|
132
|
+
{ type: 'title', text: 'AEP 2026 时间表新政', level: 3 },
|
|
133
|
+
{ type: 'list', items: [
|
|
134
|
+
'B 群脑膜炎球菌 (Bexsero):整合为 2+1 程序,分别在 2、4 和 12 个月接种。',
|
|
135
|
+
'HPV 疫苗:扩大到所有 12 岁以上的青少年,无论性别。',
|
|
136
|
+
'肺炎球菌:根据地区供应情况,更新了使用 VCN15 或 VCN20 的建议。',
|
|
137
|
+
'轮状病毒:口服疫苗已被西班牙所有自治区的常规时间表采纳。',
|
|
138
|
+
'白破一联 (Tdpa):建议在 6 岁和 12 岁进行加强接种,以保持对百日咳的免疫力。',
|
|
139
|
+
]},
|
|
140
|
+
{ type: 'title', text: '西班牙各自治区之间的差异', level: 3 },
|
|
141
|
+
{ type: 'list', items: [
|
|
142
|
+
'部分自治区可能会包含国家时间表之外的额外疫苗。',
|
|
143
|
+
'轮状病毒疫苗的资助情况因州而异,但普及趋势已非常明显。',
|
|
144
|
+
'ACWY 群脑膜炎球菌的接种年龄可能会根据该自治区的方案略有不同。',
|
|
145
|
+
'请务必咨询您的儿科医生或当地卫生中心,以确认您所在区域现行的接种计划。',
|
|
146
|
+
]},
|
|
147
|
+
{ type: 'title', text: '如何将时间表导出到手机', level: 3 },
|
|
148
|
+
{ type: 'list', items: [
|
|
149
|
+
'在计算器中输入宝宝的出生日期。',
|
|
150
|
+
'点击“添加到手机日历”按钮下载 .ics 文件。',
|
|
151
|
+
'使用日历应用(Google 日历、Apple 日历等)打开文件。',
|
|
152
|
+
'所有的接种事项将连同日期和疫苗名称一起存入日历。',
|
|
153
|
+
]},
|
|
154
|
+
{ type: 'title', text: '常见的副作用', level: 3 },
|
|
155
|
+
{ type: 'list', items: [
|
|
156
|
+
'接种部位红肿:通常在 1-2 天内消失。',
|
|
157
|
+
'轻微发烧 (37.5–38.5 °C):在最初的 24-48 小时内属于正常现象。',
|
|
158
|
+
'烦躁或哭闹:常见于宝宝接种前几剂次后。',
|
|
159
|
+
'嗜睡或暂时性食欲不振:无需特殊处理。',
|
|
160
|
+
'由于过敏性反应导致的严重不良反应极其罕见(发生率低于百万分之一)。',
|
|
161
|
+
]},
|
|
162
|
+
{ type: 'tip', html: '带宝宝接种前让其吃饱并穿上宽松舒适的衣服。接种后,拥抱(肌肤接触)或母乳喂养有助于自然缓解疼痛和炎症。' },
|
|
163
|
+
{ type: 'summary', title: '核心要点', items: [
|
|
164
|
+
'AEP 2026 时间表共计 14 剂疫苗,直至 12 岁,以提供全面保护。',
|
|
165
|
+
'第一年的疫苗可同时预防多达 9 种严重的疾病。',
|
|
166
|
+
'轻微副作用是正常的,通常 1-2 天内消失。',
|
|
167
|
+
'点击一次即可将所有接种日期导出到手机日历。',
|
|
168
|
+
'如果您对所在区域的时间表有疑问,请务必咨询您的儿科医生。',
|
|
169
|
+
]},
|
|
170
|
+
],
|
|
171
|
+
faqTitle: "常见问题",
|
|
172
|
+
faq,
|
|
173
|
+
bibliographyTitle: "参考文献",
|
|
174
|
+
bibliography: [
|
|
175
|
+
{
|
|
176
|
+
name: '西班牙儿科学会 (AEP) - 2026 年疫苗接种时间表',
|
|
177
|
+
url: 'https://www.aeped.es/comite-vacunas/calendario-vacunaciones',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: '西班牙卫生部 - 疫苗接种日历',
|
|
181
|
+
url: 'https://www.sanidad.gob.es/areas/promocionPrevencion/vacunaciones/calendario/home.htm',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
name: '世界卫生组织 (WHO) - 免疫接种',
|
|
185
|
+
url: 'https://www.who.int/zh/health-topics/vaccines-and-immunization',
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
name: '美国疾病控制与预防中心 (CDC) - 儿童和青少年推荐免疫程序',
|
|
189
|
+
url: 'https://www.cdc.gov/vaccines/schedules/hcp/imz/child-adolescent.html',
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
howTo,
|
|
193
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
194
|
+
};
|
|
@@ -23,6 +23,26 @@ export interface VaccinationCalendarUI {
|
|
|
23
23
|
labelShare: string;
|
|
24
24
|
faqTitle: string;
|
|
25
25
|
bibliographyTitle: string;
|
|
26
|
+
labelMonth: string;
|
|
27
|
+
labelMonths: string;
|
|
28
|
+
labelYear: string;
|
|
29
|
+
labelYears: string;
|
|
30
|
+
labelDay: string;
|
|
31
|
+
labelDays: string;
|
|
32
|
+
labelAnd: string;
|
|
33
|
+
labelVaccination: string;
|
|
34
|
+
labelAppointment: string;
|
|
35
|
+
vac_hexavalente: string;
|
|
36
|
+
vac_neumococo: string;
|
|
37
|
+
vac_meningococo_b: string;
|
|
38
|
+
vac_rotavirus: string;
|
|
39
|
+
vac_meningococo_acwy: string;
|
|
40
|
+
vac_triple_virica: string;
|
|
41
|
+
vac_varicela: string;
|
|
42
|
+
vac_gripe: string;
|
|
43
|
+
vac_vph: string;
|
|
44
|
+
vac_tdpa: string;
|
|
45
|
+
vac_polio_booster: string;
|
|
26
46
|
}
|
|
27
47
|
|
|
28
48
|
export type VaccinationCalendarLocaleContent = ToolLocaleContent<VaccinationCalendarUI>;
|
|
@@ -31,9 +51,21 @@ export const vaccinationCalendar: BabiesToolEntry<VaccinationCalendarUI> = {
|
|
|
31
51
|
id: 'vaccination-calendar',
|
|
32
52
|
icons: { bg: 'mdi:needle', fg: 'mdi:needle' },
|
|
33
53
|
i18n: {
|
|
34
|
-
|
|
54
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
35
55
|
en: () => import('./i18n/en').then((m) => m.content),
|
|
56
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
36
57
|
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
58
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
59
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
60
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
61
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
62
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
63
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
64
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
65
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
66
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
67
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
68
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
37
69
|
},
|
|
38
70
|
};
|
|
39
71
|
|