@jjlmoya/utils-pets 1.20.0 → 1.22.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 (42) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/entries.ts +4 -1
  4. package/src/index.ts +1 -0
  5. package/src/tests/i18n_coverage.test.ts +5 -2
  6. package/src/tests/locale_completeness.test.ts +1 -1
  7. package/src/tests/qa-test-helpers.ts +32 -0
  8. package/src/tests/qa_bibliography_links.test.ts +40 -0
  9. package/src/tests/qa_claim_evidence.test.ts +69 -0
  10. package/src/tests/qa_logic_reference_coverage.test.ts +46 -0
  11. package/src/tests/qa_runtime_i18n.test.ts +100 -0
  12. package/src/tests/tool_validation.test.ts +3 -3
  13. package/src/tool/petCarrierCrateSizePlanner/bibliography.astro +6 -0
  14. package/src/tool/petCarrierCrateSizePlanner/bibliography.ts +12 -0
  15. package/src/tool/petCarrierCrateSizePlanner/component.astro +89 -0
  16. package/src/tool/petCarrierCrateSizePlanner/controller.ts +128 -0
  17. package/src/tool/petCarrierCrateSizePlanner/dom-views.ts +96 -0
  18. package/src/tool/petCarrierCrateSizePlanner/entry.ts +27 -0
  19. package/src/tool/petCarrierCrateSizePlanner/evaluator.ts +14 -0
  20. package/src/tool/petCarrierCrateSizePlanner/i18n/de.ts +171 -0
  21. package/src/tool/petCarrierCrateSizePlanner/i18n/en.ts +171 -0
  22. package/src/tool/petCarrierCrateSizePlanner/i18n/es.ts +171 -0
  23. package/src/tool/petCarrierCrateSizePlanner/i18n/fr.ts +171 -0
  24. package/src/tool/petCarrierCrateSizePlanner/i18n/id.ts +171 -0
  25. package/src/tool/petCarrierCrateSizePlanner/i18n/it.ts +171 -0
  26. package/src/tool/petCarrierCrateSizePlanner/i18n/ja.ts +171 -0
  27. package/src/tool/petCarrierCrateSizePlanner/i18n/ko.ts +171 -0
  28. package/src/tool/petCarrierCrateSizePlanner/i18n/nl.ts +171 -0
  29. package/src/tool/petCarrierCrateSizePlanner/i18n/pl.ts +171 -0
  30. package/src/tool/petCarrierCrateSizePlanner/i18n/pt.ts +171 -0
  31. package/src/tool/petCarrierCrateSizePlanner/i18n/ru.ts +171 -0
  32. package/src/tool/petCarrierCrateSizePlanner/i18n/sv.ts +171 -0
  33. package/src/tool/petCarrierCrateSizePlanner/i18n/tr.ts +171 -0
  34. package/src/tool/petCarrierCrateSizePlanner/i18n/zh.ts +171 -0
  35. package/src/tool/petCarrierCrateSizePlanner/index.ts +12 -0
  36. package/src/tool/petCarrierCrateSizePlanner/logic.test.ts +49 -0
  37. package/src/tool/petCarrierCrateSizePlanner/logic.ts +77 -0
  38. package/src/tool/petCarrierCrateSizePlanner/pet-carrier-crate-size-planner.css +639 -0
  39. package/src/tool/petCarrierCrateSizePlanner/seo.astro +14 -0
  40. package/src/tool/petCarrierCrateSizePlanner/storage.ts +31 -0
  41. package/src/tool/petCarrierCrateSizePlanner/ui.ts +59 -0
  42. package/src/tools.ts +3 -0
@@ -0,0 +1,171 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
3
+ import type { PetCarrierCrateSizePlannerLocaleContent } from '../entry';
4
+ import type { PetCarrierCrateSizePlannerUI } from '../ui';
5
+
6
+ const slug = 'reismand-transportbox-afmetingen-planner';
7
+ const title = 'Reismand Transportbox Afmetingen Planner';
8
+ const description = 'Bereken de ideale binnenafmetingen van een reismand of transportbox voor uw hond of kat op basis van zes lichaamsmaten.';
9
+
10
+ const ui: PetCarrierCrateSizePlannerUI = {
11
+ heroEyebrow: 'Meet eerst. Koop met vertrouwen.',
12
+ journeyHint: 'Kies het dier en het type reis, voer de maten in en gebruik de schets als leidraad voor de binnenruimte van de transportbox.',
13
+ unitLegend: 'Weergave-eenheden',
14
+ speciesStep: 'Begin bij het dier',
15
+ metricUnit: 'Metrisch',
16
+ imperialUnit: 'Imperiaal',
17
+ speciesLegend: 'Wie reist er mee?',
18
+ speciesDog: 'Hond',
19
+ speciesCat: 'Kat',
20
+ modeLegend: 'Hoe wordt er gereisd?',
21
+ modeCar: 'Auto',
22
+ modeAir: 'Vliegtuig',
23
+ measurementsLegend: 'Meet uw huisdier',
24
+ noseTailLabel: 'Neuspunt tot staartbasis',
25
+ noseTailHint: 'Meet zonder de kromming van de staart',
26
+ elbowHeightLabel: 'Grond tot elleboog',
27
+ shoulderWidthLabel: 'Schouderbreedte',
28
+ standingHeightLabel: 'Hoogte in staande houding',
29
+ beddingLabel: 'Dikte van het kussen of kleed',
30
+ weightLabel: 'Gewicht van het dier',
31
+ cmUnit: 'cm',
32
+ inchUnit: 'in',
33
+ kgUnit: 'kg',
34
+ lbUnit: 'lb',
35
+ snubNosedLabel: 'Kortsnuitig ras',
36
+ snubNosedHint: 'Voor vliegreizen gelden IATA aanpassingen. Raadpleeg uw dierenarts en de luchtvaartmaatschappij.',
37
+ presetLegend: 'Start met een profiel',
38
+ presetCat: 'Kat',
39
+ presetSmallDog: 'Kleine hond',
40
+ presetMediumDog: 'Middelgrote hond',
41
+ presetLargeDog: 'Grote hond',
42
+ resultEyebrow: 'Aanbevolen meetkader',
43
+ resultTitle: 'Voldoende ruimte om te draaien',
44
+ resultDimensionLabel: 'Minimale binnenafmetingen voor de start',
45
+ lengthLabel: 'Lengte',
46
+ widthLabel: 'Breedte',
47
+ heightLabel: 'Hoogte',
48
+ petWeightLabel: 'Gewicht van het dier',
49
+ journeyLabel: 'Type reis',
50
+ statusComfort: 'Basis comfortniveau',
51
+ statusAirReview: 'Controle vliegreis',
52
+ statusSnub: 'Aanpassing kortsnuit',
53
+ resultDetail: 'Controleer de daadwerkelijke binnenruimte, de deuropening, ventilatie en de regels van de maatschappij voor aankoop.',
54
+ checklistTitle: 'De vier lichaamscontroles',
55
+ checklistStand: 'Het dier kan rechtop staan en zitten zonder dat het dak het hoofd raakt.',
56
+ checklistTurn: 'Het dier kan normaal omdraaien terwijl het staat.',
57
+ checklistLie: 'Het dier kan in een natuurlijke houding op het kussen liggen.',
58
+ checklistAirline: 'Controleer bij vliegreizen de regels van de maatschappij, ventilatie, sluiting en vloeistofdichtheid.',
59
+ invalidInput: 'Voer positieve waarden in voor elke afmeting en het gewicht.',
60
+ noteTitle: 'Gebruik dit als richtlijn, niet als vlieggoedkeuring',
61
+ noteText: 'Regels variëren per maatschappij, voertuig en dier. Een dierenarts dient de gezondheid en geschiktheid te beoordelen.',
62
+ methodTitle: 'Berekeningsmethode',
63
+ methodText: 'De berekening volgt de IATA richtlijnen: lengte is neus tot staartbasis plus de helft van de ellebooghoogte, breedte is dubbele schouderbreedte en hoogte is staande hoogte plus kussendikte.',
64
+ blueprintLabel: 'Maatschets van de reismand met het dier erin en richtlijnen voor lengte en hoogte',
65
+ dimensionInside: 'Binnenafmetingen',
66
+ checkMark: 'OK',
67
+ };
68
+
69
+ const faq: PetCarrierCrateSizePlannerLocaleContent['faq'] = [
70
+ {
71
+ question: 'Hoe meet ik mijn hond of kat voor een reismand?',
72
+ answer: 'Meet van de neuspunt tot de staartbasis, van de grond tot het ellebooggewricht, de breedte van de schouders en de hoogte van de grond tot de kop of oren. Voeg de kussendikte apart toe.',
73
+ },
74
+ {
75
+ question: 'Welke binnenafmetingen berekent deze planner?',
76
+ answer: 'De planner schat de minimale binnenlengte op basis van lichaam en elleboog, de binnenbreedte op schouderbreedte en de totale hoogte inclusief het kussen.',
77
+ },
78
+ {
79
+ question: 'Garanties bieden de resultaten voor acceptatie door een luchtvaartmaatschappij?',
80
+ answer: 'Nee. De vliegmodus past IATA referentiewaarden toe, maar elke maatschappij heeft eigen regels. Controleer altijd de officiële voorschriften van de maatschappij.',
81
+ },
82
+ {
83
+ question: 'Waarom hebben kortsnuitige rassen een grotere box nodig tijdens het vliegen?',
84
+ answer: 'IATA richtlijnen adviseren extra ruimte voor brachycefale rassen om oververhitting en ademhalingsproblemen tijdens de vlucht te voorkomen.',
85
+ },
86
+ {
87
+ question: 'Moet een reismand voor in de auto zo groot mogelijk zijn?',
88
+ answer: 'Nee. De mand moet voldoende ruimte bieden om te staan, draaien en liggen, maar moet wel stevig in het voertuig vastgezet kunnen worden.',
89
+ },
90
+ ];
91
+
92
+ const howTo: PetCarrierCrateSizePlannerLocaleContent['howTo'] = [
93
+ { name: 'Kies het type reis', text: 'Selecteer auto of vliegtuig om de juiste controlecriteria toe te passen.' },
94
+ { name: 'Voer de zes maten in', text: 'Meet de afmetingen van het lichaam en het gewicht van het dier in rustige toestand.' },
95
+ { name: 'Lees de binnenafmetingen af', text: 'Gebruik lengte, breedte en hoogte als uitgangspunt om commerciële reismanden te vergelijken.' },
96
+ { name: 'Controleer voorschriften', text: 'Controleer voor aankoop de sluiting, ventilatie en eisen van de maatschappij.' },
97
+ ];
98
+
99
+ const seo: PetCarrierCrateSizePlannerLocaleContent['seo'] = [
100
+ {
101
+ type: 'summary',
102
+ title: 'Handleiding voor het kiezen van de juiste reismand voor uw huisdier',
103
+ items: [
104
+ 'Meet het lichaam van het dier nauwkeurig in plaats van alleen af te gaan op het totale lichaamsgewicht van de hond of kat.',
105
+ 'Gebruik de nuttige binnenafmetingen om echte modellen in de winkel of online op een betrouwbare manier te vergelijken.',
106
+ 'Controleer altijd de sluiting, vergrendeling en ventilatie aan alle zijden van de reismand of transportbox.',
107
+ 'Vliegreizen vereisen specifieke voorbereiding, grondige controle van regelgeving en deskundig advies van de dierenarts.',
108
+ ],
109
+ },
110
+ { type: 'title', text: 'Hoe berekent u de afmetingen van een reismand', level: 2 },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'Een geschikte reismand moet vier natuurlijke bewegingen voor uw hond of kat mogelijk maken: rechtop staan zonder de kop te buigen of oren te drukken, rechtop zitten op een natuurlijke wijze, moeiteloos omdraaien om de eigen as en comfortabel liggen in een ontspannen houding. Deze planner berekent de vereiste binnenmaten op maat en zorgt voor een veilige en comfortabele reis van uw huisdier.',
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'De berekende waarden vertegenwoordigen de daadwerkelijke nuttige binnenruimte van de transportbox. Houd er bij uw aankoop rekening mee dat dikke kussens, drinkbakjes of schuine wanden de beschikbare ruimte verkleinen. Kies bij twijfel altijd de grotere maat om het welzijn te garanderen.',
118
+ },
119
+ { type: 'title', text: 'Belang van de lichaamsmaten voor het dier', level: 2 },
120
+ {
121
+ type: 'table',
122
+ headers: ['Lichaamsmaat', 'Functie voor het dier', 'Toepassing in berekening'],
123
+ rows: [
124
+ ['Neuspunt tot staartbasis', 'Bepaalt de basislengte van het lichaam zonder de staart.', 'Binnenlengte'],
125
+ ['Grond tot elleboog', 'Biedt bewegingsruimte bij het omdraaien van de voorpoten.', 'Binnenlengte'],
126
+ ['Schouderbreedte', 'Garandeert voldoende breedte op het breedste lichaamsdeel.', 'Binnenbreedte'],
127
+ ['Hoogte in staande houding', 'Beschermt kop en oren tegen het dak van de reismand.', 'Binnenhoogte'],
128
+ ['Dikte van het kussen', 'Behoudt de effectieve hoogte na het plaatsen van het bed.', 'Binnenhoogte'],
129
+ ['Lichaamsgewicht', 'Dient om de maximale draagkracht en stevigheid te controleren.', 'Gewichtscontrole'],
130
+ ],
131
+ },
132
+ {
133
+ type: 'paragraph',
134
+ html: 'De formules zijn gebaseerd op de officiële IATA normen voor het vervoer van levende dieren per vliegtuig en voertuig: de binnenlengte combineert de lichaamslengte en de helft van de ellebooghoogte, de breedte is het dubbele van de schouderbreedte en de hoogte omvat de staande hoogte plus de dikte van het kussen.',
135
+ },
136
+ { type: 'title', text: 'Aandachtspunten bij vliegreizen en transport', level: 2 },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Een maatberekening is geen officiële goedkeuring van een luchtvaartmaatschappij. Factoren zoals het type vliegtuig, temperatuur, ventilatie op vier zijden en deurvergrendeling zijn doorslaggevend voor de veiligheid en gezondheid van het huisdier tijdens de vlucht.',
140
+ },
141
+ {
142
+ type: 'tip',
143
+ title: 'Praktische pasvormtest in de praktijk vóór vertrek',
144
+ html: 'Plaats het dier in een rustige omgeving in de reismand en observeer de bewegingsvrijheid gedurende enkele minuten. Kies zonder twijfel een grotere maat als het dier krap zit of moeite heeft met omdraaien om stress te voorkomen.',
145
+ },
146
+ ];
147
+
148
+ const schemas: PetCarrierCrateSizePlannerLocaleContent['schemas'] = [
149
+ {
150
+ '@context': 'https://schema.org',
151
+ '@type': 'SoftwareApplication',
152
+ name: title,
153
+ description,
154
+ applicationCategory: 'LifestyleApplication',
155
+ operatingSystem: 'Web',
156
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
157
+ } as WithContext<SoftwareApplication>,
158
+ {
159
+ '@context': 'https://schema.org',
160
+ '@type': 'FAQPage',
161
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
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: PetCarrierCrateSizePlannerLocaleContent = { slug, title, description, ui, seo, faq, bibliography, howTo, schemas };
@@ -0,0 +1,171 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
3
+ import type { PetCarrierCrateSizePlannerLocaleContent } from '../entry';
4
+ import type { PetCarrierCrateSizePlannerUI } from '../ui';
5
+
6
+ const slug = 'kalkulator-wymiarow-transportera-dla-zwierzat';
7
+ const title = 'Kalkulator Wymiarów Transportera dla Zwierząt Domowych';
8
+ const description = 'Oblicz zalecane wymiary wewnętrzne transportera dla psa lub kota na podstawie sześciu pomiarów ciała, z weryfikacją do podróży samolotem.';
9
+
10
+ const ui: PetCarrierCrateSizePlannerUI = {
11
+ heroEyebrow: 'Najpierw zmierz. Kupuj z pewnością.',
12
+ journeyHint: 'Wybierz zwierzę i tryb podróży, wprowadź pomiary i użyj schematu jako punktu odniesienia do sprawdzenia wnętrza transportera.',
13
+ unitLegend: 'Jednostki wyświetlania',
14
+ speciesStep: 'Zacznij od zwierzęcia',
15
+ metricUnit: 'Metryczne',
16
+ imperialUnit: 'Imperialne',
17
+ speciesLegend: 'Kto podróżuje?',
18
+ speciesDog: 'Pies',
19
+ speciesCat: 'Kot',
20
+ modeLegend: 'Gdzie odbywa się podróż?',
21
+ modeCar: 'Samochód',
22
+ modeAir: 'Samolot',
23
+ measurementsLegend: 'Zmierz swojego pupila',
24
+ noseTailLabel: 'Od czubka nosa do nasady ogona',
25
+ noseTailHint: 'Mierz bez uwzględniania zakrzywienia ogona',
26
+ elbowHeightLabel: 'Od podłoża do łokcia',
27
+ shoulderWidthLabel: 'Szerokość w barkach',
28
+ standingHeightLabel: 'Wysokość w pozycji stojącej',
29
+ beddingLabel: 'Grubość legowiska lub materaca',
30
+ weightLabel: 'Waga zwierzęcia',
31
+ cmUnit: 'cm',
32
+ inchUnit: 'cal',
33
+ kgUnit: 'kg',
34
+ lbUnit: 'funt',
35
+ snubNosedLabel: 'Rasa krótkogłowa lub brachycefaliczna',
36
+ snubNosedHint: 'Podróż samolotem wymaga poprawek IATA. Skonsultuj się z weterynarzem i linią lotniczą.',
37
+ presetLegend: 'Rozpocznij z profilem',
38
+ presetCat: 'Kot',
39
+ presetSmallDog: 'Mały pies',
40
+ presetMediumDog: 'Średni pies',
41
+ presetLargeDog: 'Duży pies',
42
+ resultEyebrow: 'Zalecany schemat pomiarowy',
43
+ resultTitle: 'Odpowiednia przestrzeń do obracania się',
44
+ resultDimensionLabel: 'Minimalne wymiary wewnętrzne',
45
+ lengthLabel: 'Długość',
46
+ widthLabel: 'Szerokość',
47
+ heightLabel: 'Wysokość',
48
+ petWeightLabel: 'Waga zwierzęcia',
49
+ journeyLabel: 'Tryb podróży',
50
+ statusComfort: 'Podstawowy poziom komfortu',
51
+ statusAirReview: 'Weryfikacja transportu lotniczego',
52
+ statusSnub: 'Korekta dla pyska krótkiego',
53
+ resultDetail: 'Sprawdź rzeczywiste wnętrze transportera, otwór drzwiowy, wentylację i przepisy przewoźnika przed zakupem.',
54
+ checklistTitle: 'Cztery kontrole ciała',
55
+ checklistStand: 'Zwierzę może swobodnie stać i siedzieć wyprostowane bez dotykania sufitu głową lub uszami.',
56
+ checklistTurn: 'Zwierzę może swobodnie obrócić się w pozycji stojącej.',
57
+ checklistLie: 'Zwierzę może wygodnie położyć się w naturalnej pozycji na legowisku.',
58
+ checklistAirline: 'W przypadku lotu sprawdź wymogi linii, wentylację, zamknięcia i nieprzepuszczalność podłoża.',
59
+ invalidInput: 'Wprowadź dodatnie wartości dla każdego pomiaru ciała oraz wagi.',
60
+ noteTitle: 'Używaj tego narzędzia jako szacunku przestrzeni, a nie zgody na lot',
61
+ noteText: 'Przepisy różnią się w zależności od linii lotniczej, pojazdu i zwierzęcia. Lekarz weterynarii powinien ocenić stan zdrowia pupila.',
62
+ methodTitle: 'Metoda obliczeniowa',
63
+ methodText: 'Wzór opiera się na wytycznych IATA: długość odpowiada odległości od nosa do ogona plus połowie wysokości łokcia, szerokość to podwójna szerokość barków, a wysokość to wysokość stojąca plus grubość legowiska.',
64
+ blueprintLabel: 'Schemat transportera z wymiarami pokazujący zwierzę wewnątrz oraz linie pomocnicze długości i wysokości',
65
+ dimensionInside: 'Wymiary wewnętrzne',
66
+ checkMark: 'OK',
67
+ };
68
+
69
+ const faq: PetCarrierCrateSizePlannerLocaleContent['faq'] = [
70
+ {
71
+ question: 'Jak prawidłowo zmierzyć psa lub kota do transportera?',
72
+ answer: 'Zmierz odległość od czubka nosa do nasady ogona, od podłoża do stawu łokciowego, szerokość w najszerszym miejscu barków oraz wysokość od podłoża do najwyższego punktu głowy lub uszu. Grubość legowiska dodaj osobno.',
73
+ },
74
+ {
75
+ question: 'Jakie wymiary wewnętrzne oblicza ten kalkulator?',
76
+ answer: 'Szacuje minimalną długość wewnętrzną na podstawie długości ciała i łokcia, szerokość na podstawie barków oraz całkowitą wysokość uwzględniającą legowisko.',
77
+ },
78
+ {
79
+ question: 'Czy wyniki gwarantują akceptację przez linie lotnicze?',
80
+ answer: 'Nie. Tryb lotniczy stosuje referencyjne wzory IATA, jednak każda linia lotnicza może posiadać własne wymogi. Zawsze weryfikuj oficjalne zasady przewoźnika.',
81
+ },
82
+ {
83
+ question: 'Dlaczego rasy z krótkim pyskiem wymagają większego transportera w samolocie?',
84
+ answer: 'Wytyczne IATA zalecają większą przestrzeń dla ras brachycefalicznych, aby zapobiec przegrzaniu i trudnościom w oddychaniu podczas lotu.',
85
+ },
86
+ {
87
+ question: 'Czy transporter do samochodu powinien być jak największy?',
88
+ answer: 'Nie. Powinien zapewniać odpowiednią przestrzeń do wstania, obrócenia się i położenia, ale musi dać się stabilnie zamocować w pojeździe.',
89
+ },
90
+ ];
91
+
92
+ const howTo: PetCarrierCrateSizePlannerLocaleContent['howTo'] = [
93
+ { name: 'Wybierz tryb podróży', text: 'Wybierz samochód lub samolot, aby dostosować kryteria weryfikacji.' },
94
+ { name: 'Wprowadź sześć pomiarów', text: 'Zmierz wymiary ciała oraz wagę zwierzęcia, gdy jest spokojne.' },
95
+ { name: 'Odczytaj wymiary wewnętrzne', text: 'Użyj długości, szerokości i wysokości jako punktu wyjścia do porównania modeli na rynku.' },
96
+ { name: 'Sprawdź zgodność z przepisami', text: 'Przed zakupem skontroluj zamknięcie, wentylację oraz zasady linii lotniczej.' },
97
+ ];
98
+
99
+ const seo: PetCarrierCrateSizePlannerLocaleContent['seo'] = [
100
+ {
101
+ type: 'summary',
102
+ title: 'Poradnik wyboru odpowiedniego transportera dla zwierzęcia domowego',
103
+ items: [
104
+ 'Mierz dokładnie ciało zwierzęcia zamiast kierować się wyłącznie całkowitą wagą ciała psa lub kota.',
105
+ 'Używaj użytkowych wymiarów wewnętrznych do porównywania modeli w sklepach stacjonarnych i internetowych.',
106
+ 'Zawsze sprawdzaj zamknięcie bezpieczeństwa, solidność drzwi, mocowania i wentylację transportera.',
107
+ 'Transport lotniczy wymaga specjalnego przygotowania, weryfikacji przepisów i konsultacji weterynaryjnej.',
108
+ ],
109
+ },
110
+ { type: 'title', text: 'Jak zaplanować wymiary transportera dla zwierząt', level: 2 },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'Odpowiedni transporter musi umożliwiać cztery naturalne ruchy Twojego psa lub kota: stanie wyprostowane bez schylania głowy i uszu, siedzenie w naturalnej pozycji, swobodne obracanie się wokół własnej osi oraz wygodne leżenie w pozycji relaksacyjnej. Ten kalkulator wyznacza niezbędną długość, szerokość i wysokość wewnętrzną w sposób spersonalizowany i precyzyjny, co pozwala na bezpieczną i bezstresową podróż.',
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Obliczone wartości reprezentują rzeczywistą przestrzeń użytkową wewnątrz klatki. Pamiętaj, że grube legowisko, miski na wodę czy pochylone ścianki zmniejszają dostępną przestrzeń użytkową przy zakupie. W przypadku jakichkolwiek wątpliwości zawsze wybieraj większy rozmiar transportera dla wygody.',
118
+ },
119
+ { type: 'title', text: 'Znaczenie poszczególnych pomiarów ciała dla zwierzęcia', level: 2 },
120
+ {
121
+ type: 'table',
122
+ headers: ['Pomiar ciała', 'Znaczenie dla zwierzęcia', 'Zastosowanie w obliczeniach'],
123
+ rows: [
124
+ ['Nos do nasady ogona', 'Wyznacza podstawową długość ciała bez uwzględniania ogona.', 'Długość wewnętrzna'],
125
+ ['Od podłoża do łokcia', 'Zapewnia przestrzeń do obracania kończyn przednich i swobodnych ruchów.', 'Długość wewnętrzna'],
126
+ ['Szerokość w barkach', 'Gwarantuje odpowiednią szerokość w najszerszym miejscu tułowia.', 'Szerokość wewnętrzna'],
127
+ ['Wysokość w pozycji stojącej', 'Chroni głowę i uszy przed uderzaniem o sufit klatki.', 'Wysokość wewnętrzna'],
128
+ ['Grubość legowiska', 'Utrzymuje realną wysokość użytkową po włożeniu miękkiego posłania.', 'Wysokość wewnętrzna'],
129
+ ['Waga ciała', 'Służy do weryfikacji maksymalnego obciążenia i wytrzymałości transportera.', 'Weryfikacja nośności'],
130
+ ],
131
+ },
132
+ {
133
+ type: 'paragraph',
134
+ html: 'Wzory bazują na oficjalnych normach IATA dotyczących transportu żywych zwierząt drogą lotniczą i lądową: długość wewnętrzna łączy długość ciała i połowę wysokości łokcia, szerokość to podwójna szerokość barków, a wysokość obejmuje wysokość stojącą plus grubość legowiska.',
135
+ },
136
+ { type: 'title', text: 'Uwagi dotyczące podróży samolotem i transportu', level: 2 },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Szacunek wymiarów nie zastępuje oficjalnej zgody linii lotniczej. Czynniki takie jak typ samolotu, wentylacja z czterech stron i temperatura są kluczowe dla bezpieczeństwa i zdrowia zwierzęcia w trakcie całego lotu.',
140
+ },
141
+ {
142
+ type: 'tip',
143
+ title: 'Praktyczny test przestrzeni w domu przed wyjazdem',
144
+ html: 'Umieść zwierzę w transporterze w spokojnym otoczeniu i obserwuj jego swobodę ruchów przez kilka minut. Jeśli wygląda na ściśnięte przy obracaniu lub siadaniu, wybierz bez wahania większy rozmiar transportera.',
145
+ },
146
+ ];
147
+
148
+ const schemas: PetCarrierCrateSizePlannerLocaleContent['schemas'] = [
149
+ {
150
+ '@context': 'https://schema.org',
151
+ '@type': 'SoftwareApplication',
152
+ name: title,
153
+ description,
154
+ applicationCategory: 'LifestyleApplication',
155
+ operatingSystem: 'Web',
156
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
157
+ } as WithContext<SoftwareApplication>,
158
+ {
159
+ '@context': 'https://schema.org',
160
+ '@type': 'FAQPage',
161
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
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: PetCarrierCrateSizePlannerLocaleContent = { slug, title, description, ui, seo, faq, bibliography, howTo, schemas };
@@ -0,0 +1,171 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
3
+ import type { PetCarrierCrateSizePlannerLocaleContent } from '../entry';
4
+ import type { PetCarrierCrateSizePlannerUI } from '../ui';
5
+
6
+ const slug = 'calculadora-tamanho-caixa-transporte-animais';
7
+ const title = 'Calculadora de Tamanho de Caixa de Transporte para Animais';
8
+ const description = 'Calcule as dimensões internas ideais da caixa de transporte para cães ou gatos com base em seis medições corporais e verificação para voos.';
9
+
10
+ const ui: PetCarrierCrateSizePlannerUI = {
11
+ heroEyebrow: 'Meça primeiro. Compre com total confiança.',
12
+ journeyHint: 'Escolha o animal e o tipo de viagem, insira as medições e use o esquema gráfico como guia para o espaço interior da caixa.',
13
+ unitLegend: 'Unidades de exibição',
14
+ speciesStep: 'Comece pelo animal',
15
+ metricUnit: 'Métrico',
16
+ imperialUnit: 'Imperial',
17
+ speciesLegend: 'Quem vai viajar?',
18
+ speciesDog: 'Cão',
19
+ speciesCat: 'Gato',
20
+ modeLegend: 'Onde será a viagem?',
21
+ modeCar: 'Carro',
22
+ modeAir: 'Avião',
23
+ measurementsLegend: 'Meça o seu animal de estimação',
24
+ noseTailLabel: 'Focinho até à base da cauda',
25
+ noseTailHint: 'Meça sem incluir a curvatura da cauda',
26
+ elbowHeightLabel: 'Chão até ao cotovelo',
27
+ shoulderWidthLabel: 'Largura dos ombros',
28
+ standingHeightLabel: 'Altura em posição de pé',
29
+ beddingLabel: 'Espessura da almofada ou tapete',
30
+ weightLabel: 'Peso do animal',
31
+ cmUnit: 'cm',
32
+ inchUnit: 'pol',
33
+ kgUnit: 'kg',
34
+ lbUnit: 'lb',
35
+ snubNosedLabel: 'Raça de focinho curto ou braquicefálica',
36
+ snubNosedHint: 'Viagens de avião exigem ajustes IATA. Consulte o seu veterinário e a companhia aérea.',
37
+ presetLegend: 'Inicie com um perfil',
38
+ presetCat: 'Gato',
39
+ presetSmallDog: 'Cão pequeno',
40
+ presetMediumDog: 'Cão médio',
41
+ presetLargeDog: 'Cão grande',
42
+ resultEyebrow: 'Gabarito de medição recomendado',
43
+ resultTitle: 'Espaço suficiente para dar a volta',
44
+ resultDimensionLabel: 'Dimensões internas mínimas iniciais',
45
+ lengthLabel: 'Comprimento',
46
+ widthLabel: 'Largura',
47
+ heightLabel: 'Altura',
48
+ petWeightLabel: 'Peso do animal',
49
+ journeyLabel: 'Tipo de viagem',
50
+ statusComfort: 'Nível básico de conforto',
51
+ statusAirReview: 'Verificação de transporte aéreo',
52
+ statusSnub: 'Ajuste para focinho curto',
53
+ resultDetail: 'Verifique o interior real da caixa, a abertura da porta, a ventilação e os regulamentos da companhia antes de comprar.',
54
+ checklistTitle: 'As quatro verificações corporais',
55
+ checklistStand: 'O animal consegue ficar de pé e sentar-se sem que a cabeça ou as orelhas toquem no teto.',
56
+ checklistTurn: 'O animal consegue dar a volta naturalmente estando de pé.',
57
+ checklistLie: 'O animal consegue deitar-se numa posição natural sobre a almofada.',
58
+ checklistAirline: 'Para voos, confirme os limites da companhia, ventilação, fechos e impermeabilidade do fundo.',
59
+ invalidInput: 'Insira valores positivos para cada medição corporal e peso.',
60
+ noteTitle: 'Use como estimativa de espaço, não como autorização de voo',
61
+ noteText: 'As regras variam de acordo com a companhia aérea, veículo e animal. Um veterinário deve avaliar a saúde e aptidão.',
62
+ methodTitle: 'Método de cálculo',
63
+ methodText: 'O cálculo segue as diretrizes IATA: o comprimento é a distância do focinho à cauda mais metade da altura do cotovelo, a largura é o dobro da largura dos ombros e a altura inclui a altura em pé mais a espessura da almofada.',
64
+ blueprintLabel: 'Desenho cotado da caixa de transporte com o animal dentro e linhas de guia de comprimento e altura',
65
+ dimensionInside: 'Dimensões internas',
66
+ checkMark: 'OK',
67
+ };
68
+
69
+ const faq: PetCarrierCrateSizePlannerLocaleContent['faq'] = [
70
+ {
71
+ question: 'Como devo medir o meu cão ou gato para uma caixa de transporte?',
72
+ answer: 'Meça da ponta do focinho à base da cauda, do chão à articulação do cotovelo, a largura dos ombros no ponto mais largo e a altura do chão ao ponto mais alto da cabeça ou orelhas. Adicione a espessura da almofada separadamente.',
73
+ },
74
+ {
75
+ question: 'Que dimensões internas calcula este simulador?',
76
+ answer: 'Estima o comprimento interno mínimo com base no corpo e cotovelo, a largura interna com base nos ombros e a altura total incluindo a almofada.',
77
+ },
78
+ {
79
+ question: 'Os resultados garantem a aprovação por uma companhia aérea?',
80
+ answer: 'Não. O modo avião aplica as fórmulas de referência da IATA, mas cada companhia aérea tem regulamentos próprios. Verifique sempre as normas oficiais da transportadora.',
81
+ },
82
+ {
83
+ question: 'Por que razões raças de focinho curto precisam de caixas maiores em voos?',
84
+ answer: 'As diretrizes IATA recomendam espaço adicional para raças braquicefálicas de modo a prevenir o superaquecimento e dificuldades respiratórias durante o voo.',
85
+ },
86
+ {
87
+ question: 'Uma caixa de transporte para o carro deve ser o maior possível?',
88
+ answer: 'Não. A caixa deve oferecer espaço suficiente para o animal ficar de pé, virar-se e deitar-se, mas deve ser fixada com segurança no veículo.',
89
+ },
90
+ ];
91
+
92
+ const howTo: PetCarrierCrateSizePlannerLocaleContent['howTo'] = [
93
+ { name: 'Escolha o tipo de viagem', text: 'Selecione carro ou avião para ajustar os critérios de verificação.' },
94
+ { name: 'Insira as seis medições', text: 'Tome as medidas do corpo e o peso do animal quando ele estiver calmo.' },
95
+ { name: 'Leia as dimensões internas', text: 'Utilize o comprimento, largura e altura recomendados para comparar modelos no mercado.' },
96
+ { name: 'Verifique a conformidade', text: 'Antes de comprar, controle o fecho de segurança, a ventilação e as exigências da companhia.' },
97
+ ];
98
+
99
+ const seo: PetCarrierCrateSizePlannerLocaleContent['seo'] = [
100
+ {
101
+ type: 'summary',
102
+ title: 'Guia para escolher a caixa de transporte ideal para o seu animal',
103
+ items: [
104
+ 'Meça o corpo do animal com precisão em vez de se basear apenas no peso corporal total do cão ou gato.',
105
+ 'Utilize as dimensões internas úteis para comparar caixas de transporte reais em lojas físicas ou online.',
106
+ 'Verifique sempre o mecanismo de fecho de segurança, a estabilidade da porta e a ventilação da caixa.',
107
+ 'O transporte aéreo exige uma preparação específica cuidadosa, verificação de regulamentos e conselho veterinário.',
108
+ ],
109
+ },
110
+ { type: 'title', text: 'Como calcular as dimensões de uma caixa de transporte', level: 2 },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'Uma caixa de transporte adequada deve garantir quatro movimentos naturais essenciais ao seu cão ou gato: ficar de pé sem curvar a cabeça nem dobrar as orelhas, sentar-se ereto em posição natural com todo o conforto, dar a volta sobre o seu próprio eixo sem obstáculos laterais e deitar-se confortavelmente numa posição relaxada. Este simulador calcula o comprimento, largura e altura internos necessários de forma personalizada e rigorosa para a segurança do animal.',
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'As dimensões obtidas representam o espaço interno útil e real da caixa de transporte. Certifique-se de que elementos internos indispensáveis, tais como comedouros, bebedouros de água, almofadas espessas ou o formato inclinado das paredes não reduzam esse espaço útil ao efetuar a compra final na loja de animais. Em caso de dúvida escolha sempre o tamanho superior.',
118
+ },
119
+ { type: 'title', text: 'Importância de cada medição corporal para o animal', level: 2 },
120
+ {
121
+ type: 'table',
122
+ headers: ['Medição corporal', 'Utilidade para o animal', 'Aplicação no cálculo'],
123
+ rows: [
124
+ ['Focinho à base da cauda', 'Define o comprimento base do corpo sem incluir a cauda.', 'Comprimento interno'],
125
+ ['Do chão ao cotovelo', 'Adiciona espaço para a rotação das patas dianteiras e mobilidade.', 'Comprimento interno'],
126
+ ['Largura dos ombros', 'Garante largura suficiente no ponto corporal mais largo.', 'Largura interna'],
127
+ ['Altura em posição de pé', 'Protege a cabeça e as orelhas contra impactos no teto.', 'Altura interna'],
128
+ ['Espessura da almofada', 'Mantém a altura útil real após colocar a cama.', 'Altura interna'],
129
+ ['Peso corporal', 'Permite verificar a capacidade máxima de carga do recipiente.', 'Verificação de carga'],
130
+ ],
131
+ },
132
+ {
133
+ type: 'paragraph',
134
+ html: 'As fórmulas baseiam-se nas normas oficiais da IATA para o transporte de animais vivos por via aérea e terrestre: o comprimento interno combina o comprimento do corpo e metade da altura do cotovelo, a largura é o dobro dos ombros e a altura inclui a altura em pé mais a espessura da almofada.',
135
+ },
136
+ { type: 'title', text: 'Cuidados e considerações para viagens de avião', level: 2 },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'A estimativa de tamanho não substitui uma autorização oficial de embarque por parte da companhia aérea. Fatores essenciais como o tipo de aeronave, as condições de temperatura ambiente e o sistema de ventilação nos quatro lados são decisivos para a segurança e saúde do seu animal.',
140
+ },
141
+ {
142
+ type: 'tip',
143
+ title: 'Teste prático de espaço em casa antes de viajar',
144
+ html: 'Coloque o animal na caixa de transporte num ambiente calmo e observe os seus movimentos naturais durante alguns minutos. Se parecer excessivamente apertado ao dar a volta ou sentar-se, opte sem hesitar pelo tamanho superior para garantir o seu bem-estar.',
145
+ },
146
+ ];
147
+
148
+ const schemas: PetCarrierCrateSizePlannerLocaleContent['schemas'] = [
149
+ {
150
+ '@context': 'https://schema.org',
151
+ '@type': 'SoftwareApplication',
152
+ name: title,
153
+ description,
154
+ applicationCategory: 'LifestyleApplication',
155
+ operatingSystem: 'Web',
156
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
157
+ } as WithContext<SoftwareApplication>,
158
+ {
159
+ '@context': 'https://schema.org',
160
+ '@type': 'FAQPage',
161
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
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: PetCarrierCrateSizePlannerLocaleContent = { slug, title, description, ui, seo, faq, bibliography, howTo, schemas };