@jjlmoya/utils-pets 1.18.0 → 1.20.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 (73) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +3 -1
  3. package/src/data.ts +2 -0
  4. package/src/entries.ts +7 -1
  5. package/src/layouts/PreviewLayout.astro +2 -0
  6. package/src/pages/[locale]/[slug].astro +14 -5
  7. package/src/tests/diacritics_density.test.ts +1 -1
  8. package/src/tests/faq_count.test.ts +1 -1
  9. package/src/tests/inverted_punctuation.test.ts +1 -1
  10. package/src/tests/locale_completeness.test.ts +1 -1
  11. package/src/tests/script_density.test.ts +1 -1
  12. package/src/tests/title_quality.test.ts +1 -0
  13. package/src/tests/tool_validation.test.ts +5 -5
  14. package/src/tests/translation_copy.test.ts +14 -15
  15. package/src/tool/petGestation/i18n/en.ts +1 -0
  16. package/src/tool/petGestation/i18n/es.ts +1 -0
  17. package/src/tool/petToxicity/bibliography.astro +6 -0
  18. package/src/tool/petToxicity/bibliography.ts +16 -0
  19. package/src/tool/petToxicity/component.astro +53 -0
  20. package/src/tool/petToxicity/controller.ts +117 -0
  21. package/src/tool/petToxicity/dom-views.ts +61 -0
  22. package/src/tool/petToxicity/entry.ts +33 -0
  23. package/src/tool/petToxicity/evaluator.ts +23 -0
  24. package/src/tool/petToxicity/i18n/de.ts +181 -0
  25. package/src/tool/petToxicity/i18n/en.ts +175 -0
  26. package/src/tool/petToxicity/i18n/es.ts +181 -0
  27. package/src/tool/petToxicity/i18n/fr.ts +181 -0
  28. package/src/tool/petToxicity/i18n/id.ts +182 -0
  29. package/src/tool/petToxicity/i18n/it.ts +181 -0
  30. package/src/tool/petToxicity/i18n/ja.ts +181 -0
  31. package/src/tool/petToxicity/i18n/ko.ts +181 -0
  32. package/src/tool/petToxicity/i18n/nl.ts +182 -0
  33. package/src/tool/petToxicity/i18n/pl.ts +182 -0
  34. package/src/tool/petToxicity/i18n/pt.ts +181 -0
  35. package/src/tool/petToxicity/i18n/ru.ts +182 -0
  36. package/src/tool/petToxicity/i18n/sv.ts +182 -0
  37. package/src/tool/petToxicity/i18n/tr.ts +182 -0
  38. package/src/tool/petToxicity/i18n/zh.ts +181 -0
  39. package/src/tool/petToxicity/index.ts +11 -0
  40. package/src/tool/petToxicity/logic.test.ts +32 -0
  41. package/src/tool/petToxicity/logic.ts +192 -0
  42. package/src/tool/petToxicity/pet-food-toxicity-checker.css +450 -0
  43. package/src/tool/petToxicity/seo.astro +15 -0
  44. package/src/tool/petToxicity/storage.ts +37 -0
  45. package/src/tool/petToxicity/ui.ts +33 -0
  46. package/src/tool/petWaterIntake/bibliography.astro +6 -0
  47. package/src/tool/petWaterIntake/bibliography.ts +16 -0
  48. package/src/tool/petWaterIntake/component.astro +103 -0
  49. package/src/tool/petWaterIntake/controller.ts +47 -0
  50. package/src/tool/petWaterIntake/dom-views.ts +54 -0
  51. package/src/tool/petWaterIntake/entry.ts +33 -0
  52. package/src/tool/petWaterIntake/i18n/de.ts +205 -0
  53. package/src/tool/petWaterIntake/i18n/en.ts +205 -0
  54. package/src/tool/petWaterIntake/i18n/es.ts +205 -0
  55. package/src/tool/petWaterIntake/i18n/fr.ts +205 -0
  56. package/src/tool/petWaterIntake/i18n/id.ts +237 -0
  57. package/src/tool/petWaterIntake/i18n/it.ts +237 -0
  58. package/src/tool/petWaterIntake/i18n/ja.ts +237 -0
  59. package/src/tool/petWaterIntake/i18n/ko.ts +237 -0
  60. package/src/tool/petWaterIntake/i18n/nl.ts +237 -0
  61. package/src/tool/petWaterIntake/i18n/pl.ts +237 -0
  62. package/src/tool/petWaterIntake/i18n/pt.ts +237 -0
  63. package/src/tool/petWaterIntake/i18n/ru.ts +237 -0
  64. package/src/tool/petWaterIntake/i18n/sv.ts +237 -0
  65. package/src/tool/petWaterIntake/i18n/tr.ts +237 -0
  66. package/src/tool/petWaterIntake/i18n/zh.ts +237 -0
  67. package/src/tool/petWaterIntake/index.ts +11 -0
  68. package/src/tool/petWaterIntake/logic.test.ts +52 -0
  69. package/src/tool/petWaterIntake/logic.ts +84 -0
  70. package/src/tool/petWaterIntake/pet-water-intake.css +144 -0
  71. package/src/tool/petWaterIntake/seo.astro +15 -0
  72. package/src/tool/petWaterIntake/ui.ts +55 -0
  73. package/src/tools.ts +6 -0
@@ -0,0 +1,181 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
3
+ import type { PetToxicityLocaleContent, PetToxicityUI } from '../entry';
4
+
5
+ const slug = 'gefahrliche-lebensmittel-hunde-katzen-prufer';
6
+ const title = 'Prüfer für gefährliche Lebensmittel bei Hunden und Katzen';
7
+ const description = 'Prüfen Sie häufige Futtermittelbelastungen bei Hunden und Katzen, verstehen Sie Warnzeichen und wissen Sie, wann ein Tierarzt zu kontaktieren ist.';
8
+
9
+ const ui: PetToxicityUI = {
10
+ "journeyHint": "Wählen Sie das Tier, öffnen Sie den Lebensmittelatlas und lesen Sie die artspezifische Warnung vor der weiteren Entscheidung.",
11
+ "speciesLabel": "Tierart",
12
+ "speciesDog": "Hund",
13
+ "speciesCat": "Katze",
14
+ "speciesDogMeta": "Hundeprofil",
15
+ "speciesCatMeta": "Katzenprofil",
16
+ "foodLabel": "Lebensmittel oder Zutat",
17
+ "foodPlaceholder": "Wählen Sie ein Lebensmittel",
18
+ "foodMenuHint": "Die Liste ändert sich mit der Tierart, da das Risiko artspezifisch ist.",
19
+ "resultEyebrow": "Der Lebensmittelatlas zeigt",
20
+ "resultEmpty": "Wählen Sie ein Lebensmittel, um die Sicherheitskarte zu öffnen.",
21
+ "sceneLabel": "Expositionskarte",
22
+ "sceneReady": "Wählen Sie ein Lebensmittel",
23
+ "sceneSelected": "Artspezifische Karte geöffnet",
24
+ "riskCritical": "Dringendes Bedenken",
25
+ "riskHigh": "Hohes Bedenken",
26
+ "riskCaution": "Vorsicht",
27
+ "riskUnknown": "Nicht genügend Daten",
28
+ "riskLabel": "Risikostufe",
29
+ "whyLabel": "Warum es wichtig ist",
30
+ "signsLabel": "Zu beobachtende Zeichen",
31
+ "actionLabel": "Was zu tun ist",
32
+ "callVetLabel": "Der sicherste nächste Schritt ist professioneller Rat.",
33
+ "callVetText": "Ein Rechner kann keine toxische Dosis schätzen, eine Exposition bestätigen oder eine Untersuchung ersetzen.",
34
+ "sourceLabel": "Verwendete Nachweise",
35
+ "sourceText": "Die Lebensmittelprofile basieren auf Richtlinien der Giftnotrufzentralen und der Tiertoxikologie von ASPCA, FDA und MSD Veterinary Manual.",
36
+ "emergencyTitle": "Wenn Ihr Haustier etwas Bedenkliches gefressen hat",
37
+ "emergencyText": "Rufen Sie sofort Ihren Tierarzt, eine Notfallklinik oder den Giftnotruf an. Halten Sie Verpackung, Zutatenliste, geschätzte Menge und Zeitpunkt bereit. Leiten Sie kein Erbrechen ein.",
38
+ "openMenu": "Optionen öffnen",
39
+ "closeMenu": "Optionen schließen"
40
+ };
41
+
42
+ const faq: PetToxicityLocaleContent['faq'] = [
43
+ {
44
+ "question": "Kann dieser Prüfer mir sagen, ob mein Haustier sicher ist?",
45
+ "answer": "Nein. Es ist ein pädagogischer Leitfaden für häufige Lebensmittelgefahren, keine Diagnose oder Dosisberechnung. Das Risiko hängt von Tierart, Produkt, Menge, Körpergewicht und Zeit seit der Aufnahme ab. Kontaktieren Sie bei Verdacht stets einen Tierarzt."
46
+ },
47
+ {
48
+ "question": "Welche Lebensmittel sind für Hunde besonders gefährlich?",
49
+ "answer": "Zu den schwerwiegenden Gefahren gehören Xylit, Schokolade und Koffein, Weintrauben und Rosinen, Zwiebeln und Knoblauch, Alkohol, Makadamianüsse und roher Hefeteig. Ein Produktetikett hilft dem Tierarzt bei der Beurteilung."
50
+ },
51
+ {
52
+ "question": "Sind Zwiebeln und Knoblauch für Katzen gefährlich?",
53
+ "answer": "Ja. Katzen reagieren besonders empfindlich auf Schäden an den roten Blutkörperchen durch Allium-Pflanzen wie Zwiebeln, Knoblauch und Schnittlauch. Rohe, gekochte, getrocknete und pulverisierte Formen sind relevant."
54
+ },
55
+ {
56
+ "question": "Warum zeigt Xylit für Katzen und Hunde unterschiedliche Warnungen?",
57
+ "answer": "Xylit führt bei Hunden zu einem raschen, lebensbedrohlichen Abfall des Blutzuckers. Bei Katzen ist diese Gefahr in Leitlinien weniger klar belegt, was jedoch kein Sicherheitsversprechen ist."
58
+ },
59
+ {
60
+ "question": "Was soll ich tun, wenn das gefressene Lebensmittel nicht gelistet ist?",
61
+ "answer": "Ein fehlender Eintrag ist kein Beweis für Sicherheit. Sichern Sie die Verpackung, notieren Sie Menge sowie Zeitpunkt und kontaktieren Sie umgehend einen Tierarzt oder Giftnotruf."
62
+ }
63
+ ];
64
+
65
+ const howTo: PetToxicityLocaleContent['howTo'] = [
66
+ {
67
+ "name": "Tierart auswählen",
68
+ "text": "Wählen Sie Hund oder Katze, damit der Lebensmittelatlas die relevanten artspezifischen Nachweise anzeigt."
69
+ },
70
+ {
71
+ "name": "Lebensmittel auswählen",
72
+ "text": "Öffnen Sie das Menü und wählen Sie die passende Zutat. Beachten Sie konzentrierte oder getrocknete Produkte."
73
+ },
74
+ {
75
+ "name": "Sicherheitskarte lesen",
76
+ "text": "Überprüfen Sie, warum das Lebensmittel wichtig ist, welche Anzeichen auftreten können und welcher Schritt empfohlen wird."
77
+ },
78
+ {
79
+ "name": "Bei Bedarf Fachpersonal kontaktieren",
80
+ "text": "Rufen Sie bei einer Exposition den Tierarzt an und halten Sie Angaben zu Produkt, Menge und Tier bereit."
81
+ }
82
+ ];
83
+
84
+ const seo: PetToxicityLocaleContent['seo'] = [
85
+ {
86
+ type: 'summary',
87
+ title: "Ein schneller Lebensmittelsicherheitscheck für Hunde und Katzen",
88
+ items: [
89
+ "Wählen Sie zuerst die Tierart, da dieselbe Zutat bei Hunden und Katzen unterschiedliche Bedenken auslöst.",
90
+ "Nutzen Sie die Lebensmittelkarten, um Gefahr, Warnzeichen und Dringlichkeit zu verstehen.",
91
+ "Behandeln Sie eine Xylit-Aufnahme bei Hunden als dringenden Notfall.",
92
+ "Verständigen Sie bei einer echten Exposition sofort den Tierarzt."
93
+ ],
94
+ },
95
+ {
96
+ type: 'title',
97
+ text: "Wie Sie den Prüfer für gefährliche Lebensmittel verantwortungsvoll nutzen",
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: "Dieser Prüfer für gefährliche Lebensmittel wurde für die entscheidende erste Minute entwickelt, nachdem ein Hund oder eine Katze etwas Unerlaubtes gefressen hat. Wählen Sie das Tier, öffnen Sie das passende Profil und nutzen Sie die Karte zur Vorbereitung des Telefonats mit der Tierarztpraxis. Die Struktur trennt den Grund der Gefahr von beobachtbaren Symptomen und empfohlenen Handlungen. Das erleichtert die Übersicht in einer anstrengenden Situation und spart wertvolle Minuten vor der Abfahrt in die Praxis.",
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: "Die Wahl der Tierart ist essenziell. Hunde und Katzen verstoffwechseln Substanzen unterschiedlich. Xylit verursacht bei Hunden einen schnellen Abfall des Blutzuckers, während bei Katzen Zwiebeln und Knoblauch durch eine höhere Empfindlichkeit der roten Blutkörperchen auffallen. Eine genaue Einordnung hilft dabei, Fehlinformationen in Foren vorzubeugen und die richtigen Maßnahmen zu ergreifen.",
107
+ },
108
+ {
109
+ type: 'title',
110
+ text: "Häufige Gefahren und wichtige Details",
111
+ level: 2,
112
+ },
113
+ {
114
+ type: 'table',
115
+ headers: ["Lebensmittel oder Zutat","Hauptbedenken","Wichtiger Kontext"],
116
+ rows: [["Schokolade und Koffein","Herz- und Nervensystemwirkungen","Kakaogehalt, Produktart, Menge und Körpergewicht sind entscheidend. Die Dosis bestimmt die Schwere der Vergiftung."],["Xylit","Schneller Blutzuckerabfall bei Hunden","Zuckerfreie Kaugummis, Süßwaren und Gebäck prüfen. Bereits geringe Mengen können lebensbedrohlich sein."],["Weintrauben und Rosinen","Mögliche Nierenschädigung bei Hunden","Auch kleine Mengen nicht als harmlos einstufen. Das Nierenversagen kann verzögert eintreten."],["Zwiebel und Knoblauch","Schädigung roter Blutkörperchen","Gekochte, getrocknete und pulverisierte Formen beachten. Die Anämie entwickelt sich oft erst nach Tagen."],["Roher Hefeteig","Magenausdehnung und Alkoholbildung","Aufgehender Teig erzeugt Druck und Gärungsprodukte. Es droht eine gefährliche Magendrehung."]],
117
+ },
118
+ {
119
+ type: 'paragraph',
120
+ html: "Eine Exposition kann auch aus mechanischen oder physikalischen Gründen gefährlich sein. Hefeteig geht im Magen auf, fettige Speisen können eine Bauchspeicheldrüsenentzündung begünstigen und Knochen bergen Erstickungs- sowie Verletzungsgefahren. Eine sorgfältige Beobachtung ist unerlässlich.",
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: "Maßnahmen nach einer möglichen Exposition",
125
+ level: 2,
126
+ },
127
+ {
128
+ type: 'list',
129
+ items: [
130
+ "Reste entfernen und Verpackung sichern.",
131
+ "Tierart, Gewicht, Produkt, Menge und Zeitpunkt notieren.",
132
+ "Tierarzt oder Giftnotruf anrufen.",
133
+ "Kein Erbrechen ohne tierärztliche Anweisung einleiten.",
134
+ "Bei Kollaps, Atemnot oder Krämpfen sofort die Notfallklinik aufsuchen."
135
+ ],
136
+ },
137
+ {
138
+ type: 'tip',
139
+ title: "Das Wohl des Tieres steht an erster Stelle",
140
+ html: "Symptome können verzögert auftreten. Suchen Sie bei Vergiftungsverdacht stets professionelle Hilfe auf.",
141
+ },
142
+ ];
143
+
144
+ const schemas: PetToxicityLocaleContent['schemas'] = [
145
+ {
146
+ '@context': 'https://schema.org',
147
+ '@type': 'SoftwareApplication',
148
+ name: title,
149
+ description,
150
+ applicationCategory: 'HealthApplication',
151
+ operatingSystem: 'Web',
152
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
153
+ } as WithContext<SoftwareApplication>,
154
+ {
155
+ '@context': 'https://schema.org',
156
+ '@type': 'FAQPage',
157
+ mainEntity: faq.map((item) => ({
158
+ '@type': 'Question',
159
+ name: item.question,
160
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
161
+ })),
162
+ } as WithContext<FAQPage>,
163
+ {
164
+ '@context': 'https://schema.org',
165
+ '@type': 'HowTo',
166
+ name: title,
167
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
168
+ } as WithContext<HowTo>,
169
+ ];
170
+
171
+ export const content: PetToxicityLocaleContent = {
172
+ slug,
173
+ title,
174
+ description,
175
+ ui,
176
+ seo,
177
+ faq,
178
+ bibliography,
179
+ howTo,
180
+ schemas,
181
+ };
@@ -0,0 +1,175 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
3
+ import type { PetToxicityLocaleContent, PetToxicityUI } from '../entry';
4
+
5
+ const slug = 'pet-food-toxicity-checker';
6
+ const title = 'Pet Food Toxicity Checker';
7
+ const description = 'Check common food exposures for dogs and cats, understand the main warning signs, and know when to contact a veterinarian or animal poison service.';
8
+
9
+ const ui: PetToxicityUI = {
10
+ journeyHint: 'Choose the animal, open the food atlas, and read the species-specific warning before deciding what to do next.',
11
+ speciesLabel: 'Animal',
12
+ speciesDog: 'Dog',
13
+ speciesCat: 'Cat',
14
+ speciesDogMeta: 'Dog profile',
15
+ speciesCatMeta: 'Cat profile',
16
+ foodLabel: 'Food or ingredient',
17
+ foodPlaceholder: 'Choose a food',
18
+ foodMenuHint: 'The list changes with the animal because risk is species-specific.',
19
+ resultEyebrow: 'The food atlas says',
20
+ resultEmpty: 'Choose a food to open its safety card.',
21
+ sceneLabel: 'Exposure map',
22
+ sceneReady: 'Choose a food',
23
+ sceneSelected: 'species-specific card open',
24
+ riskCritical: 'Urgent concern',
25
+ riskHigh: 'High concern',
26
+ riskCaution: 'Caution',
27
+ riskUnknown: 'Not enough data',
28
+ riskLabel: 'Risk level',
29
+ whyLabel: 'Why it matters',
30
+ signsLabel: 'Signs to watch',
31
+ actionLabel: 'What to do',
32
+ callVetLabel: 'The safest next step is professional advice.',
33
+ callVetText: 'A calculator cannot estimate a toxic dose, confirm an exposure, or replace an examination.',
34
+ sourceLabel: 'Evidence used',
35
+ sourceText: 'The food profiles are based on poison control and veterinary toxicology guidance from the ASPCA, FDA, and Merck Veterinary Manual. The guide is educational and does not calculate treatments or safe doses.',
36
+ emergencyTitle: 'If your pet has eaten something concerning',
37
+ emergencyText: 'Call your veterinarian, an emergency animal clinic, or an animal poison service now. Keep the package, ingredient list, estimated amount, and time of exposure. Do not induce vomiting or give a home remedy unless a veterinary professional tells you to.',
38
+ openMenu: 'Open options',
39
+ closeMenu: 'Close options',
40
+ };
41
+
42
+ const faq: PetToxicityLocaleContent['faq'] = [
43
+ {
44
+ question: 'Can this pet food toxicity checker tell me whether my pet is safe?',
45
+ answer: 'No. It is an educational guide to common food hazards, not a diagnosis or dose calculator. The risk depends on the species, product, amount, body size, health history, and time since exposure. If your pet has eaten a concerning food, contact a veterinarian or animal poison service even when the animal looks normal.',
46
+ },
47
+ {
48
+ question: 'What foods are especially dangerous for dogs?',
49
+ answer: 'Common serious concerns include xylitol, chocolate and caffeine, grapes and raisins, onions and garlic, alcohol, macadamia nuts, and raw yeast dough. The list is not complete. A product label and an accurate estimate of the amount help a veterinary professional assess the situation.',
50
+ },
51
+ {
52
+ question: 'Are onions and garlic dangerous for cats?',
53
+ answer: 'Yes. Veterinary toxicology guidance identifies cats as especially susceptible to red blood cell damage from allium plants such as onions, garlic, chives, and leeks. Raw, cooked, dried, powdered, and concentrated forms can matter. Delayed signs are possible, so contact a veterinarian after a known exposure instead of waiting for weakness or pale gums.',
54
+ },
55
+ {
56
+ question: 'Why does xylitol show a different warning for cats and dogs?',
57
+ answer: 'Xylitol is associated with a rapid and potentially life-threatening fall in blood sugar in dogs. FDA guidance describes a much clearer danger for dogs than for cats, but that difference is not a promise that every product is safe for a cat. Check the ingredient list and ask a veterinarian about any exposure.',
58
+ },
59
+ {
60
+ question: 'What should I do if my pet ate a food that is not listed?',
61
+ answer: 'Do not treat an absent entry as proof of safety. Save the packaging, identify the ingredients, note the amount and time, and contact a veterinarian or animal poison service. The guide intentionally keeps its profiles narrow where species-specific evidence is important.',
62
+ },
63
+ ];
64
+
65
+ const howTo: PetToxicityLocaleContent['howTo'] = [
66
+ { name: 'Choose the animal', text: 'Select Dog or Cat so the food atlas shows the relevant species-specific evidence and warning.' },
67
+ { name: 'Choose the food', text: 'Open the food or ingredient menu and choose the closest match. Read the detail line because concentrated, cooked, powdered, and mixed products can change the context.' },
68
+ { name: 'Read the safety card', text: 'Review why the food matters, which general signs may appear, and the recommended next step. A caution label is not a safe-dose calculation.' },
69
+ { name: 'Contact a professional when needed', text: 'If exposure happened, contact a veterinarian, emergency animal clinic, or animal poison service with the product, amount, time, and pet details. Do not use a home remedy unless instructed.' },
70
+ ];
71
+
72
+ const seo: PetToxicityLocaleContent['seo'] = [
73
+ {
74
+ type: 'summary',
75
+ title: 'A quick food safety check for dogs and cats',
76
+ items: [
77
+ 'Choose the species first because the same ingredient can create different concerns for dogs and cats.',
78
+ 'Use the food cards to understand the hazard, common warning signs, and the appropriate urgency.',
79
+ 'Treat xylitol exposure in dogs as an urgent concern and do not wait for symptoms.',
80
+ 'Contact a veterinarian or animal poison service for a real exposure. The checker does not calculate doses or treatments.',
81
+ ],
82
+ },
83
+ {
84
+ type: 'title',
85
+ text: 'How to use a pet food toxicity checker responsibly',
86
+ level: 2,
87
+ },
88
+ {
89
+ type: 'paragraph',
90
+ html: 'This pet food toxicity checker is built for the anxious first minute after a dog or cat finds something it should not eat. Choose the animal, open the closest food profile, and use the card to organize the next conversation with a veterinary professional. The result separates the reason a food matters from the signs an owner might notice and the action that makes sense. That structure is more useful than a single green or red label because food exposures are not determined by the name of an ingredient alone.',
91
+ },
92
+ {
93
+ type: 'paragraph',
94
+ html: 'The species selector is essential. Dogs and cats do not process every substance in the same way, and a difference in evidence must not be mistaken for a guarantee of safety. Xylitol is a clear example: it can cause a rapid and dangerous blood sugar problem in dogs, while available public guidance describes a less established risk for cats. Onions and garlic show the opposite kind of nuance because cats are especially susceptible to red blood cell damage. The food list therefore changes with the animal rather than pretending that one universal table is enough.',
95
+ },
96
+ {
97
+ type: 'title',
98
+ text: 'Common food hazards and the details that change the answer',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'table',
103
+ headers: ['Food or ingredient', 'Main concern', 'Important context'],
104
+ rows: [
105
+ ['Chocolate and caffeine', 'Heart and nervous system effects', 'Cocoa concentration, product type, amount, and body size matter.'],
106
+ ['Xylitol', 'Rapid low blood sugar in dogs', 'Check sugar-free products, gum, sweets, baked goods, and some nut butters.'],
107
+ ['Grapes and raisins', 'Possible kidney injury in dogs', 'Do not assume a small amount is harmless because sensitivity varies.'],
108
+ ['Onion and garlic', 'Red blood cell damage and anemia', 'Raw, cooked, dried, powdered, and concentrated forms can matter.'],
109
+ ['Raw yeast dough', 'Expansion and alcohol production', 'A rising dough can create both pressure and fermentation risk.'],
110
+ ],
111
+ },
112
+ {
113
+ type: 'paragraph',
114
+ html: 'A food exposure can also be dangerous for a reason that is not classic poisoning. Raw dough may expand and ferment. Fatty foods can trigger digestive upset or pancreatitis risk in some animals. Bones, pits, and corn cobs can obstruct the digestive tract. If the item is not in this checker, that is a signal to ask a professional, not permission to wait. Keep the original packaging because brand recipes, sweetener names, cocoa concentration, and serving size can change the assessment.',
115
+ },
116
+ {
117
+ type: 'title',
118
+ text: 'What to do after a possible exposure',
119
+ level: 2,
120
+ },
121
+ {
122
+ type: 'list',
123
+ items: [
124
+ 'Move the remaining food away and keep the package or ingredient list.',
125
+ 'Write down the pet species, approximate weight, food, amount, and time of exposure.',
126
+ 'Call a veterinarian, emergency animal clinic, or animal poison service for case-specific advice.',
127
+ 'Do not induce vomiting, give milk, give charcoal, or use another home remedy unless a professional directs you.',
128
+ 'Seek urgent help for collapse, seizures, breathing trouble, repeated vomiting, pale gums, severe weakness, or a swollen painful abdomen.',
129
+ ],
130
+ },
131
+ {
132
+ type: 'tip',
133
+ title: 'The animal comes before the calendar',
134
+ html: 'Symptoms can be delayed, absent at first, or caused by an ingredient that the checker does not cover. If something happened in real life, professional advice is the result you need. This tool helps you prepare useful information for that call; it does not replace the call.',
135
+ },
136
+ ];
137
+
138
+ const schemas: PetToxicityLocaleContent['schemas'] = [
139
+ {
140
+ '@context': 'https://schema.org',
141
+ '@type': 'SoftwareApplication',
142
+ name: title,
143
+ description,
144
+ applicationCategory: 'HealthApplication',
145
+ operatingSystem: 'Web',
146
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
147
+ } as WithContext<SoftwareApplication>,
148
+ {
149
+ '@context': 'https://schema.org',
150
+ '@type': 'FAQPage',
151
+ mainEntity: faq.map((item) => ({
152
+ '@type': 'Question',
153
+ name: item.question,
154
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
155
+ })),
156
+ } as WithContext<FAQPage>,
157
+ {
158
+ '@context': 'https://schema.org',
159
+ '@type': 'HowTo',
160
+ name: title,
161
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
162
+ } as WithContext<HowTo>,
163
+ ];
164
+
165
+ export const content: PetToxicityLocaleContent = {
166
+ slug,
167
+ title,
168
+ description,
169
+ ui,
170
+ seo,
171
+ faq,
172
+ bibliography,
173
+ howTo,
174
+ schemas,
175
+ };
@@ -0,0 +1,181 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
3
+ import type { PetToxicityLocaleContent, PetToxicityUI } from '../entry';
4
+
5
+ const slug = 'buscador-alimentos-toxicos-perros-gatos';
6
+ const title = 'Buscador de alimentos tóxicos para perros y gatos';
7
+ const description = 'Comprueba alimentos peligrosos para perros y gatos, conoce sus síntomas de alerta y descubre cuándo contactar con un veterinario o urgencias.';
8
+
9
+ const ui: PetToxicityUI = {
10
+ "journeyHint": "Selecciona el animal, abre el atlas de alimentos y consulta la advertencia específica según la especie.",
11
+ "speciesLabel": "Especie",
12
+ "speciesDog": "Perro",
13
+ "speciesCat": "Gato",
14
+ "speciesDogMeta": "Perfil canino",
15
+ "speciesCatMeta": "Perfil felino",
16
+ "foodLabel": "Alimento o ingrediente",
17
+ "foodPlaceholder": "Selecciona un alimento",
18
+ "foodMenuHint": "La lista cambia según la especie porque el riesgo es específico para cada animal.",
19
+ "resultEyebrow": "El atlas de alimentos indica",
20
+ "resultEmpty": "Selecciona un alimento para abrir su ficha de seguridad.",
21
+ "sceneLabel": "Mapa de exposición",
22
+ "sceneReady": "Selecciona un alimento",
23
+ "sceneSelected": "Ficha específica abierta",
24
+ "riskCritical": "Atención urgente",
25
+ "riskHigh": "Riesgo alto",
26
+ "riskCaution": "Precaución",
27
+ "riskUnknown": "Datos insuficientes",
28
+ "riskLabel": "Nivel de riesgo",
29
+ "whyLabel": "Por qué es peligroso",
30
+ "signsLabel": "Síntomas a observar",
31
+ "actionLabel": "Qué debes hacer",
32
+ "callVetLabel": "El paso más seguro es pedir opinión profesional.",
33
+ "callVetText": "Una calculadora no puede estimar dosis tóxicas ni sustituir un examen veterinario.",
34
+ "sourceLabel": "Evidencia utilizada",
35
+ "sourceText": "Los perfiles se basan en guías de toxicología veterinaria de ASPCA, FDA y el Manual Veterinario MSD.",
36
+ "emergencyTitle": "¿Tu mascota ha ingerido algo peligroso?",
37
+ "emergencyText": "Llama inmediatamente a tu veterinario, clínica de urgencias o servicio toxicológico. Guarda el envase, ingredientes y cantidad estimada. No provoques el vómito sin indicación médica.",
38
+ "openMenu": "Abrir opciones",
39
+ "closeMenu": "Cerrar opciones"
40
+ };
41
+
42
+ const faq: PetToxicityLocaleContent['faq'] = [
43
+ {
44
+ "question": "¿Esta herramienta determina si mi mascota está fuera de peligro?",
45
+ "answer": "No. Es una guía educativa sobre peligros alimentarios, no un diagnóstico ni un calculador de dosis. El riesgo depende de la especie, producto, cantidad, peso y tiempo transcurrido. Ante la duda, consulta siempre con un veterinario."
46
+ },
47
+ {
48
+ "question": "¿Qué alimentos son especialmente peligrosos para los perros?",
49
+ "answer": "Entre los más graves destacan el xilitol, chocolate y cafeína, uvas y pasas, cebolla y ajo, alcohol, nueces de macadamia y masa madre cruda. Conservar el envase ayuda al veterinario a valorar el caso."
50
+ },
51
+ {
52
+ "question": "¿Son peligrosos la cebolla y el ajo para los gatos?",
53
+ "answer": "Sí. Los gatos son especialmente sensibles a la destrucción de glóbulos rojos por plantas del género Allium (cebollas, ajos, puerros). Las presentaciones en polvo o deshidratadas también resultan peligrosas."
54
+ },
55
+ {
56
+ "question": "¿Por qué el xilitol muestra una alerta diferente en perros y gatos?",
57
+ "answer": "En perros, el xilitol causa una bajada rápida y grave de azúcar en sangre. En gatos, la evidencia de toxicidad severa no es tan clara según la FDA, pero ello no garantiza la seguridad del producto."
58
+ },
59
+ {
60
+ "question": "¿Qué hago si mi mascota ha ingerido un alimento no listado?",
61
+ "answer": "Que un alimento no aparezca no significa que sea seguro. Guarda el producto, anota la cantidad y contacta con un veterinario o servicio toxicológico animal."
62
+ }
63
+ ];
64
+
65
+ const howTo: PetToxicityLocaleContent['howTo'] = [
66
+ {
67
+ "name": "Selecciona la especie",
68
+ "text": "Elige Perro o Gato para cargar la información y advertencias específicas de esa especie."
69
+ },
70
+ {
71
+ "name": "Elige el alimento",
72
+ "text": "Despliega la lista y selecciona el producto más parecido. Presta atención a ingredientes concentrados o en polvo."
73
+ },
74
+ {
75
+ "name": "Lee la ficha de seguridad",
76
+ "text": "Revisa el nivel de riesgo, los síntomas probables y la recomendación de actuación."
77
+ },
78
+ {
79
+ "name": "Contacta con un profesional",
80
+ "text": "Si ha habido ingesta real, consulta con un veterinario facilitando los detalles del alimento y del animal."
81
+ }
82
+ ];
83
+
84
+ const seo: PetToxicityLocaleContent['seo'] = [
85
+ {
86
+ type: 'summary',
87
+ title: "Comprobación rápida de toxicidad alimentaria en perros y gatos",
88
+ items: [
89
+ "Selecciona primero el animal, ya que el mismo alimento puede provocar riesgos distintos en perros y gatos.",
90
+ "Consulta las fichas para comprender la gravedad, síntomas y nivel de urgencia de la situación.",
91
+ "La ingesta de xilitol en perros debe tratarse siempre como una urgencia veterinaria prioritaria.",
92
+ "Ante una exposición real, contacta de inmediato con un servicio veterinario acreditado."
93
+ ],
94
+ },
95
+ {
96
+ type: 'title',
97
+ text: "Cómo usar este buscador de alimentos tóxicos de forma responsable",
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: "Esta herramienta está diseñada para ofrecer claridad inmediata tras una posible ingesta indebida por parte de un perro o un gato. Permite consultar de forma rápida la peligrosidad de un ingrediente y preparar la información necesaria antes de llamar a la clínica veterinaria. La interfaz separa con precisión el motivo de la peligrosidad de los síntomas observables y de las acciones recomendadas para orientar al propietario de la mascota sin generar pánico injustificado.",
103
+ },
104
+ {
105
+ type: 'paragraph',
106
+ html: "Diferenciar entre perros y gatos es vital en la evaluación de riesgos alimentarios. El xilitol desencadena hipoglucemias severas y daños hepáticos en perros, mientras que las plantas de la familia de la cebolla y el ajo son especialmente dañinas para el sistema sanguíneo de los gatos al destruir sus glóbulos rojos. La selección previa de la especie garantiza que las recomendaciones y advertencias mostradas se adapten rigurosamente al perfil metabólico del animal.",
107
+ },
108
+ {
109
+ type: 'title',
110
+ text: "Principales alimentos peligrosos y factores clave de evaluación",
111
+ level: 2,
112
+ },
113
+ {
114
+ type: 'table',
115
+ headers: ["Alimento o ingrediente","Riesgo principal","Detalles importantes de evaluación"],
116
+ rows: [["Chocolate y cafeína","Alteraciones cardíacas y del sistema nervioso","La concentración de cacao, el tipo de producto y el peso del animal son determinantes."],["Xylitol","Bajada drástica de azúcar en sangre en perros","Presente en chicles sin azúcar, dulces, repostería y algunas mantequillas de frutos secos."],["Uvas y pasas","Daño renal agudo impredecible en perros","Sensibilidad individual variable; ninguna cantidad consumida debe considerarse completamente segura."],["Cebolla y ajo","Anemia por daño directo en glóbulos rojos","Formatos en polvo, deshidratados o concentrados en sopas aumentan exponencialmente el riesgo."],["Masa de levadura cruda","Expansión estomacal y toxicidad por alcohol","La fermentación dentro del aparato digestivo genera presión severa y intoxicación etílica."]],
117
+ },
118
+ {
119
+ type: 'paragraph',
120
+ html: "Además de la toxicidad química clásica, existen riesgos físicos muy importantes que no deben pasarse por alto. Los huesos cocinados, fragmentos de juguetes o frutos secos enteros pueden provocar obstrucciones intestinales graves o perforaciones digestivas. Del mismo modo, las comidas con alto contenido en grasas pueden desencadenar episodios de pancreatitis aguda de evolución muy dolorosa.",
121
+ },
122
+ {
123
+ type: 'title',
124
+ text: "Pasos recomendados a seguir tras una ingesta sospechosa",
125
+ level: 2,
126
+ },
127
+ {
128
+ type: 'list',
129
+ items: [
130
+ "Retira de inmediato los restos del alimento y conserva el envase o la etiqueta del producto.",
131
+ "Anota la especie, el peso aproximado de la mascota, el alimento exacto, la cantidad estimada y la hora de la ingesta.",
132
+ "Llama urgentemente a tu veterinario habitual, a la clínica de urgencias más cercana o a un servicio de toxicología.",
133
+ "No intentes provocar el vómito ni administres remedios caseros sin la indicación expresa de un veterinario.",
134
+ "Acude inmediatamente al centro veterinario ante signos de convulsiones, colapso, dificultad para respirar o palidez de mucosas."
135
+ ],
136
+ },
137
+ {
138
+ type: 'tip',
139
+ title: "La salud y seguridad de tu mascota son lo primero",
140
+ html: "Algunos síntomas tóxicos tardan varias horas o incluso días en manifestarse. No esperes a que el animal empeore manifiestamente para solicitar ayuda profesional cualificada.",
141
+ },
142
+ ];
143
+
144
+ const schemas: PetToxicityLocaleContent['schemas'] = [
145
+ {
146
+ '@context': 'https://schema.org',
147
+ '@type': 'SoftwareApplication',
148
+ name: title,
149
+ description,
150
+ applicationCategory: 'HealthApplication',
151
+ operatingSystem: 'Web',
152
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
153
+ } as WithContext<SoftwareApplication>,
154
+ {
155
+ '@context': 'https://schema.org',
156
+ '@type': 'FAQPage',
157
+ mainEntity: faq.map((item) => ({
158
+ '@type': 'Question',
159
+ name: item.question,
160
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
161
+ })),
162
+ } as WithContext<FAQPage>,
163
+ {
164
+ '@context': 'https://schema.org',
165
+ '@type': 'HowTo',
166
+ name: title,
167
+ step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })),
168
+ } as WithContext<HowTo>,
169
+ ];
170
+
171
+ export const content: PetToxicityLocaleContent = {
172
+ slug,
173
+ title,
174
+ description,
175
+ ui,
176
+ seo,
177
+ faq,
178
+ bibliography,
179
+ howTo,
180
+ schemas,
181
+ };