@jjlmoya/utils-alcohol 1.25.0 → 1.26.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 (139) hide show
  1. package/package.json +1 -1
  2. package/src/entries.ts +7 -1
  3. package/src/index.ts +1 -0
  4. package/src/pages/[locale]/[slug].astro +7 -3
  5. package/src/tests/locale_completeness.test.ts +4 -9
  6. package/src/tests/tool_validation.test.ts +2 -2
  7. package/src/tool/alcoholClearance/bibliography.ts +6 -0
  8. package/src/tool/alcoholClearance/entry.ts +1 -0
  9. package/src/tool/alcoholClearance/i18n/de.ts +1 -12
  10. package/src/tool/alcoholClearance/i18n/en.ts +1 -12
  11. package/src/tool/alcoholClearance/i18n/es.ts +1 -12
  12. package/src/tool/alcoholClearance/i18n/fr.ts +1 -12
  13. package/src/tool/alcoholClearance/i18n/id.ts +1 -12
  14. package/src/tool/alcoholClearance/i18n/it.ts +1 -12
  15. package/src/tool/alcoholClearance/i18n/ja.ts +1 -12
  16. package/src/tool/alcoholClearance/i18n/ko.ts +1 -12
  17. package/src/tool/alcoholClearance/i18n/nl.ts +1 -12
  18. package/src/tool/alcoholClearance/i18n/pl.ts +1 -12
  19. package/src/tool/alcoholClearance/i18n/pt.ts +1 -12
  20. package/src/tool/alcoholClearance/i18n/ru.ts +1 -12
  21. package/src/tool/alcoholClearance/i18n/sv.ts +1 -12
  22. package/src/tool/alcoholClearance/i18n/tr.ts +1 -12
  23. package/src/tool/alcoholClearance/i18n/zh.ts +1 -12
  24. package/src/tool/beerCooler/bibliography.ts +6 -0
  25. package/src/tool/beerCooler/entry.ts +1 -0
  26. package/src/tool/beerCooler/i18n/de.ts +1 -12
  27. package/src/tool/beerCooler/i18n/en.ts +1 -12
  28. package/src/tool/beerCooler/i18n/es.ts +1 -12
  29. package/src/tool/beerCooler/i18n/fr.ts +1 -12
  30. package/src/tool/beerCooler/i18n/id.ts +1 -12
  31. package/src/tool/beerCooler/i18n/it.ts +1 -12
  32. package/src/tool/beerCooler/i18n/ja.ts +1 -12
  33. package/src/tool/beerCooler/i18n/ko.ts +1 -12
  34. package/src/tool/beerCooler/i18n/nl.ts +1 -12
  35. package/src/tool/beerCooler/i18n/pl.ts +1 -12
  36. package/src/tool/beerCooler/i18n/pt.ts +1 -12
  37. package/src/tool/beerCooler/i18n/ru.ts +1 -12
  38. package/src/tool/beerCooler/i18n/sv.ts +1 -12
  39. package/src/tool/beerCooler/i18n/tr.ts +1 -12
  40. package/src/tool/beerCooler/i18n/zh.ts +1 -12
  41. package/src/tool/carbonationCalculator/bibliography.ts +6 -0
  42. package/src/tool/carbonationCalculator/entry.ts +1 -0
  43. package/src/tool/carbonationCalculator/i18n/de.ts +1 -12
  44. package/src/tool/carbonationCalculator/i18n/en.ts +1 -12
  45. package/src/tool/carbonationCalculator/i18n/es.ts +1 -12
  46. package/src/tool/carbonationCalculator/i18n/fr.ts +1 -12
  47. package/src/tool/carbonationCalculator/i18n/id.ts +1 -12
  48. package/src/tool/carbonationCalculator/i18n/it.ts +1 -12
  49. package/src/tool/carbonationCalculator/i18n/ja.ts +1 -12
  50. package/src/tool/carbonationCalculator/i18n/ko.ts +1 -12
  51. package/src/tool/carbonationCalculator/i18n/nl.ts +1 -12
  52. package/src/tool/carbonationCalculator/i18n/pl.ts +1 -12
  53. package/src/tool/carbonationCalculator/i18n/pt.ts +1 -12
  54. package/src/tool/carbonationCalculator/i18n/ru.ts +1 -12
  55. package/src/tool/carbonationCalculator/i18n/sv.ts +1 -12
  56. package/src/tool/carbonationCalculator/i18n/tr.ts +1 -12
  57. package/src/tool/carbonationCalculator/i18n/zh.ts +1 -12
  58. package/src/tool/cocktailBalancer/bibliography.ts +7 -0
  59. package/src/tool/cocktailBalancer/entry.ts +1 -0
  60. package/src/tool/cocktailBalancer/i18n/de.ts +1 -16
  61. package/src/tool/cocktailBalancer/i18n/en.ts +1 -16
  62. package/src/tool/cocktailBalancer/i18n/es.ts +1 -16
  63. package/src/tool/cocktailBalancer/i18n/fr.ts +1 -16
  64. package/src/tool/cocktailBalancer/i18n/id.ts +1 -16
  65. package/src/tool/cocktailBalancer/i18n/it.ts +1 -16
  66. package/src/tool/cocktailBalancer/i18n/ja.ts +1 -16
  67. package/src/tool/cocktailBalancer/i18n/ko.ts +1 -16
  68. package/src/tool/cocktailBalancer/i18n/nl.ts +1 -16
  69. package/src/tool/cocktailBalancer/i18n/pl.ts +1 -16
  70. package/src/tool/cocktailBalancer/i18n/pt.ts +1 -16
  71. package/src/tool/cocktailBalancer/i18n/ru.ts +1 -16
  72. package/src/tool/cocktailBalancer/i18n/sv.ts +1 -16
  73. package/src/tool/cocktailBalancer/i18n/tr.ts +1 -16
  74. package/src/tool/cocktailBalancer/i18n/zh.ts +1 -16
  75. package/src/tool/fortifiedWine/bibliography.astro +14 -0
  76. package/src/tool/fortifiedWine/bibliography.ts +7 -0
  77. package/src/tool/fortifiedWine/component.astro +331 -0
  78. package/src/tool/fortifiedWine/entry.ts +62 -0
  79. package/src/tool/fortifiedWine/fortified-wine-builder.css +534 -0
  80. package/src/tool/fortifiedWine/i18n/de.ts +66 -0
  81. package/src/tool/fortifiedWine/i18n/en.ts +140 -0
  82. package/src/tool/fortifiedWine/i18n/es.ts +140 -0
  83. package/src/tool/fortifiedWine/i18n/fr.ts +91 -0
  84. package/src/tool/fortifiedWine/i18n/id.ts +91 -0
  85. package/src/tool/fortifiedWine/i18n/it.ts +91 -0
  86. package/src/tool/fortifiedWine/i18n/ja.ts +91 -0
  87. package/src/tool/fortifiedWine/i18n/ko.ts +91 -0
  88. package/src/tool/fortifiedWine/i18n/nl.ts +91 -0
  89. package/src/tool/fortifiedWine/i18n/pl.ts +91 -0
  90. package/src/tool/fortifiedWine/i18n/pt.ts +91 -0
  91. package/src/tool/fortifiedWine/i18n/ru.ts +91 -0
  92. package/src/tool/fortifiedWine/i18n/sv.ts +91 -0
  93. package/src/tool/fortifiedWine/i18n/tr.ts +91 -0
  94. package/src/tool/fortifiedWine/i18n/zh.ts +91 -0
  95. package/src/tool/fortifiedWine/index.ts +8 -0
  96. package/src/tool/fortifiedWine/logic.ts +46 -0
  97. package/src/tool/fortifiedWine/seo.astro +41 -0
  98. package/src/tool/jelloShotLab/bibliography.astro +14 -0
  99. package/src/tool/jelloShotLab/bibliography.ts +8 -0
  100. package/src/tool/jelloShotLab/component.astro +183 -0
  101. package/src/tool/jelloShotLab/entry.ts +62 -0
  102. package/src/tool/jelloShotLab/i18n/de.ts +156 -0
  103. package/src/tool/jelloShotLab/i18n/en.ts +156 -0
  104. package/src/tool/jelloShotLab/i18n/es.ts +156 -0
  105. package/src/tool/jelloShotLab/i18n/fr.ts +156 -0
  106. package/src/tool/jelloShotLab/i18n/id.ts +156 -0
  107. package/src/tool/jelloShotLab/i18n/it.ts +156 -0
  108. package/src/tool/jelloShotLab/i18n/ja.ts +156 -0
  109. package/src/tool/jelloShotLab/i18n/ko.ts +156 -0
  110. package/src/tool/jelloShotLab/i18n/nl.ts +156 -0
  111. package/src/tool/jelloShotLab/i18n/pl.ts +156 -0
  112. package/src/tool/jelloShotLab/i18n/pt.ts +156 -0
  113. package/src/tool/jelloShotLab/i18n/ru.ts +156 -0
  114. package/src/tool/jelloShotLab/i18n/sv.ts +156 -0
  115. package/src/tool/jelloShotLab/i18n/tr.ts +156 -0
  116. package/src/tool/jelloShotLab/i18n/zh.ts +156 -0
  117. package/src/tool/jelloShotLab/index.ts +11 -0
  118. package/src/tool/jelloShotLab/jello-shot-lab.css +229 -0
  119. package/src/tool/jelloShotLab/logic.ts +29 -0
  120. package/src/tool/jelloShotLab/seo.astro +53 -0
  121. package/src/tool/partyKeg/bibliography.ts +6 -0
  122. package/src/tool/partyKeg/entry.ts +1 -0
  123. package/src/tool/partyKeg/i18n/de.ts +1 -12
  124. package/src/tool/partyKeg/i18n/en.ts +1 -12
  125. package/src/tool/partyKeg/i18n/es.ts +1 -12
  126. package/src/tool/partyKeg/i18n/fr.ts +1 -12
  127. package/src/tool/partyKeg/i18n/id.ts +1 -12
  128. package/src/tool/partyKeg/i18n/it.ts +1 -12
  129. package/src/tool/partyKeg/i18n/ja.ts +1 -12
  130. package/src/tool/partyKeg/i18n/ko.ts +1 -12
  131. package/src/tool/partyKeg/i18n/nl.ts +1 -12
  132. package/src/tool/partyKeg/i18n/pl.ts +1 -12
  133. package/src/tool/partyKeg/i18n/pt.ts +1 -12
  134. package/src/tool/partyKeg/i18n/ru.ts +1 -12
  135. package/src/tool/partyKeg/i18n/sv.ts +1 -12
  136. package/src/tool/partyKeg/i18n/tr.ts +1 -12
  137. package/src/tool/partyKeg/i18n/zh.ts +1 -12
  138. package/src/tools.ts +5 -0
  139. package/src/types.ts +1 -1
@@ -0,0 +1,156 @@
1
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { JelloShotLabUI, JelloShotLabLocaleContent } from '../entry';
4
+
5
+ const slug = 'jello-shot-calculator';
6
+ const title = 'Jello Shot Calculator: De perfecte calculator voor alcohol en gelatine verhouding';
7
+ const description = 'Bereken precies hoeveel sterkedrank en gelatine je nodig hebt voor jello shots die echt stollen. Vermijd vloeibare of rubberachtige mislukkingen met wetenschappelijk onderbouwde verhoudingen voor elke alcoholsterkte.';
8
+
9
+ const ui: JelloShotLabUI = {
10
+ title: 'Jello Shot Calculator',
11
+ description: 'Krijg de perfecte verhouding van gelatine, water en alcohol zodat jouw shots elke keer stollen.',
12
+ liquorBaseLabel: 'Type drank',
13
+ liquorAbvLabel: 'Alcoholsterkte (%)',
14
+ gelatinLabel: 'Type gelatine',
15
+ diluentLabel: 'Waterbasis',
16
+ calculateBtn: 'Berekenen',
17
+ modePrecision: 'Precisiemodus',
18
+ modeIntensity: 'Shot sterkte',
19
+ modeIntensityLight: 'Licht (Makkelijk)',
20
+ modeIntensityBalanced: 'Standaard',
21
+ modeIntensityLimit: 'Maximum (Sterk)',
22
+ partyPlannerTitle: 'Party planner',
23
+ partyPlannerGuestLabel: 'Gasten',
24
+ partyPlannerShotsPerGuest: 'Shots per persoon',
25
+ multiLayerTitle: 'Meerdere lagen',
26
+ howToTitle: 'Hoe maak je ze',
27
+ proTipsTitle: 'Pro tips',
28
+ resultsTitle: 'Jouw recept',
29
+ totalVolumeLabel: 'Totaal volume',
30
+ boilingWaterLabel: 'Heet water',
31
+ alcoholVolumeLabel: 'Sterkedrank',
32
+ packetsNeededLabel: 'Gelatinezakjes',
33
+ chillingTimeLabel: 'Koeltijd',
34
+ unitMm: 'ml',
35
+ unitOz: 'oz',
36
+ unitGrams: 'g',
37
+ unitPackets: 'zakjes',
38
+ modeParty: 'Feestmodus',
39
+ modeRecipe: 'Receptmodus',
40
+ };
41
+
42
+ const faqTitle = 'Veelgestelde vragen';
43
+
44
+ const faq: JelloShotLabLocaleContent['faq'] = [
45
+ {
46
+ question: 'Waarom voorkomt sterk alcohol dat jello shots stollen?',
47
+ answer: 'Ethanol verstoort de waterstofbruggen die de drievoudige helixstructuur van het eiwit in gelatine bij elkaar houden. Wanneer de sterkedrank meer dan circa 35% van het totale volume uitmaakt, kan de eiwitmatrix geen stabiel netwerk vormen en blijft de shot vloeibaar. Hoe hoger het alcoholgehalte van de drank, hoe minder volume je kunt toevoegen voordat je deze grens bereikt.',
48
+ },
49
+ {
50
+ question: 'Wat is de maximale alcoholverhouding voordat jello shots niet meer stollen?',
51
+ answer: 'De veilige bovengrens is ongeveer 30–35% van het totale vloeistofvolume als pure sterkedrank (bij 40% vol). Met een neutrale alcohol van 96% daalt die grens naar ongeveer 15–18% van het totale volume. Onze calculator houdt rekening met het alcoholgehalte van de drank zodat je de stoldrempel nooit overschrijdt.',
52
+ },
53
+ {
54
+ question: 'Maakt het uit welke sterkedrank je gebruikt — wodka, rum of tequila?',
55
+ answer: 'Wat telt is het alcoholgehalte, niet het type drank. Wodka van 40% en rum van 40% gedragen zich identiek in de gelatinematrix. Dranken met een hoger suikergehalte (zoals sommige rums of likeuren) kunnen de textuur licht verbeteren omdat suiker concurreert met ethanol om de waterstofbindingen in het gelatinenetwerk.',
56
+ },
57
+ {
58
+ question: 'Hoe lang blijven jello shots goed in de koelkast?',
59
+ answer: 'Goed gemaakte jello shots zijn 3–5 dagen houdbaar in de koelkast, afgedekt met plasticfolie. Het hoge alcoholgehalte werkt als natuurlijk conserveermiddel. Laat ze niet langer dan 2 uur op kamertemperatuur staan, want de gelatine wordt zacht en bacteriën kunnen zich vermenigvuldigen.',
60
+ },
61
+ {
62
+ question: 'Kan ik mijn jello shots steviger of zachter maken?',
63
+ answer: 'Ja. Gebruik meer gelatine (of een half zakje extra) voor stevigere shots die netjes uit de bekers glijden. Gebruik iets minder voor een zachtere, waggelende textuur. Vervang gelatine nooit door agar-agar als je een smelt-in-de-mond textuur wilt — agar stolt harder en smelt bij een hogere temperatuur.',
64
+ },
65
+ {
66
+ question: 'Kan ik jello shots invriezen om het koelen te versnellen?',
67
+ answer: 'Nee. Invriezen breekt het gelatinenetwerk, wat resulteert in een waterige, korrelige textuur na het ontdooien. Altijd minimaal 4 uur in de koelkast bewaren. Maak ze voor feestjes de avond van tevoren — 8+ uur geeft de beste textuur.',
68
+ },
69
+ ];
70
+
71
+ const howTo: JelloShotLabLocaleContent['howTo'] = [
72
+ { name: 'Kies je sterkedrank', text: 'Voer het alcoholgehalte van je drank in en kies de gewenste shot sterkte. De calculator toont je de maximale hoeveelheid drank die je gelatine kan bevatten.' },
73
+ { name: 'Meng de gelatine', text: 'Giet de berekende hoeveelheid kokend water in een kom. Voeg het gelatinepoeder toe en roer 2 minuten krachtig tot het volledig is opgelost. Voeg nog geen alcohol toe.' },
74
+ { name: 'Voeg de sterkedrank toe', text: 'Laat het gelatinemengsel 5–10 minuten afkoelen totdat het warm maar niet heet is (onder 50 °C). Voeg je sterkedrank toe en roer voorzichtig om bubbels te vermijden.' },
75
+ { name: 'Giet en koel', text: 'Giet in plastic bekers, siliconen vormpjes of kleine shotglaasjes. Zet minimaal 4 uur in de koelkast — een nacht is ideaal. Niet invriezen.' },
76
+ ];
77
+
78
+
79
+ const seo: JelloShotLabLocaleContent['seo'] = [
80
+ { type: 'title', text: 'De chemie achter een perfecte jello shot', level: 2 },
81
+ {
82
+ type: 'paragraph',
83
+ html: 'Een jello shot is niet zomaar gearomatiseerde gelatine met alcohol erin — het is een <strong>delicate colloïdale suspensie</strong> waarbij eiwitpolymeren, water en ethanol strijden om waterstofbruggen. De verhouding fout en je eindigt met een plas zoete vloeistof of een rubberachtige schijf die van de tafel ketst. De verhouding goed en je hebt een perfect waggelende shot die in één vloeiende beweging uit het bekertje glijdt.',
84
+ },
85
+ {
86
+ type: 'stats',
87
+ items: [
88
+ { label: 'Licht (Makkelijk)', value: '~30% sterkedrank', icon: 'mdi:emoticon-happy-outline' },
89
+ { label: 'Standaard', value: '~45% sterkedrank', icon: 'mdi:flask-outline' },
90
+ { label: 'Maximum', value: '~55% sterkedrank', icon: 'mdi:fire' },
91
+ ],
92
+ columns: 3,
93
+ },
94
+ {
95
+ type: 'card',
96
+ title: 'Wat is Bloom sterkte?',
97
+ icon: 'mdi:molecule',
98
+ html: 'Bloom meet de gelersterkte van een gelatine, typisch variërend van 50 tot 300 Bloom. Supermarktbladgelatine is gewoonlijk 150–200 Bloom. Een hogere Bloom betekent een stevigere gel met dezelfde hoeveelheid poeder, wat inhoudt dat het iets meer alcohol kan verdragen voordat het niet meer stolt. Standaard gelatinezakjes (7 g) zijn gekalibreerd voor circa 240 ml vloeistof.',
99
+ },
100
+ {
101
+ type: 'card',
102
+ title: 'De ethanollimiet',
103
+ icon: 'mdi:alert-circle-outline',
104
+ html: 'Ethanol concurreert met water om de waterstofbindingsplaatsen op de aminozuurketens van collageen. Wanneer ethanol te veel van die plaatsen bezet, kan het eiwit niet meer de stabiele drievoudige helix vormen die gelatine zijn structuur geeft. De praktische limiet is ongeveer <strong>1 deel 40% sterkedrank op 1 deel water</strong> — daarboven stolt je shot niet, hoelang je ook wacht.',
105
+ },
106
+ {
107
+ type: 'tip',
108
+ title: 'Voeg nooit alcohol toe aan kokende gelatine',
109
+ html: 'Alcohol verdampt snel boven 78 °C. Laat je opgeloste gelatine altijd afkoelen tot onder 50 °C voordat je de sterkedrank toevoegt. Deze ene stap is verantwoordelijk voor meer mislukte jello shots dan welke andere fout dan ook.',
110
+ },
111
+ { type: 'title', text: 'Veelvoorkomende fouten oplossen', level: 2 },
112
+ {
113
+ type: 'proscons',
114
+ title: 'Tekenen en oplossingen',
115
+ items: [
116
+ { pro: 'Shot is vloeibaar na 4 uur → Te veel alcohol of verhouding overschreden. Verlaag het volume sterkedrank.', con: 'Shot heeft geen alcoholsmaak → Sterkedrank toegevoegd terwijl vloeistof nog te heet was. Eerst laten afkoelen.' },
117
+ { pro: 'Shot is te rubberachtig → Te veel gelatine. Gebruik de volgende keer een half zakje minder.', con: 'Shot is troebel → Luchtbellen gevangen tijdens het mengen. Voorzichtig roeren en laten rusten voor het gieten.' },
118
+ { pro: 'Shot heeft korrelige textuur → Gelatine niet volledig opgelost. Langer roeren in heet water.', con: 'Shot stolt niet na 8 uur → Ethanollimiet overschreden. Gebruik minder sterkedrank of een lager ABV.' },
119
+ ],
120
+ },
121
+ {
122
+ type: 'summary',
123
+ title: 'Voor wie is dit hulpmiddel?',
124
+ items: [
125
+ 'Feestorganisatoren: Bereken precies hoeveel zakjes en hoeveel sterkedrank je nodig hebt voordat je gaat winkelen.',
126
+ 'Bartenders: Opschalen naar grootschalige productie met consistente resultaten elke keer.',
127
+ 'Thuiskoks: Vermijd de meest voorkomende fouten — vloeibare shots, rubberachtige textuur of nul alcoholsmaak.',
128
+ ],
129
+ },
130
+ ];
131
+
132
+ const schemas: JelloShotLabLocaleContent['schemas'] = [
133
+ {
134
+ '@context': 'https://schema.org',
135
+ '@type': 'FAQPage',
136
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
137
+ } as WithContext<FAQPage>,
138
+ {
139
+ '@context': 'https://schema.org',
140
+ '@type': 'HowTo',
141
+ name: title,
142
+ description,
143
+ step: howTo.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
144
+ } as WithContext<HowTo>,
145
+ {
146
+ '@context': 'https://schema.org',
147
+ '@type': 'SoftwareApplication',
148
+ name: title,
149
+ description,
150
+ applicationCategory: 'UtilityApplication',
151
+ operatingSystem: 'Web',
152
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
153
+ } as WithContext<SoftwareApplication>,
154
+ ];
155
+
156
+ export const content: JelloShotLabLocaleContent = { slug, title, description, ui, seo, faqTitle, faq, bibliography, howTo, schemas };
@@ -0,0 +1,156 @@
1
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { JelloShotLabUI, JelloShotLabLocaleContent } from '../entry';
4
+
5
+ const slug = 'kalkulator-jello-shots';
6
+ const title = 'Kalkulator Jello Shots: Doskonały kalkulator proporcji alkoholu i żelatyny';
7
+ const description = 'Oblicz dokładnie, ile alkoholu i żelatyny użyć do jello shotów, które naprawdę tężeją. Unikaj wodnistych lub gumowatych porażek dzięki proporcjom opartym na nauce dla każdej mocy alkoholu.';
8
+
9
+ const ui: JelloShotLabUI = {
10
+ title: 'Kalkulator Jello Shots',
11
+ description: 'Uzyskaj idealne proporcje żelatyny, wody i alkoholu, aby Twoje shoty tężały za każdym razem.',
12
+ liquorBaseLabel: 'Rodzaj alkoholu',
13
+ liquorAbvLabel: 'Moc alkoholu (%)',
14
+ gelatinLabel: 'Rodzaj żelatyny',
15
+ diluentLabel: 'Baza wodna',
16
+ calculateBtn: 'Oblicz',
17
+ modePrecision: 'Tryb precyzyjny',
18
+ modeIntensity: 'Moc shota',
19
+ modeIntensityLight: 'Lekki (Łatwy)',
20
+ modeIntensityBalanced: 'Standard',
21
+ modeIntensityLimit: 'Maksimum (Mocny)',
22
+ partyPlannerTitle: 'Planer imprezy',
23
+ partyPlannerGuestLabel: 'Goście',
24
+ partyPlannerShotsPerGuest: 'Shoty na osobę',
25
+ multiLayerTitle: 'Wielowarstwowy',
26
+ howToTitle: 'Jak je zrobić',
27
+ proTipsTitle: 'Porady eksperta',
28
+ resultsTitle: 'Twój przepis',
29
+ totalVolumeLabel: 'Łączna objętość',
30
+ boilingWaterLabel: 'Gorąca woda',
31
+ alcoholVolumeLabel: 'Alkohol',
32
+ packetsNeededLabel: 'Saszetki żelatyny',
33
+ chillingTimeLabel: 'Czas chłodzenia',
34
+ unitMm: 'ml',
35
+ unitOz: 'oz',
36
+ unitGrams: 'g',
37
+ unitPackets: 'saszetki',
38
+ modeParty: 'Tryb imprezowy',
39
+ modeRecipe: 'Tryb przepisu',
40
+ };
41
+
42
+ const faqTitle = 'Często zadawane pytania';
43
+
44
+ const faq: JelloShotLabLocaleContent['faq'] = [
45
+ {
46
+ question: 'Dlaczego wysokoprocentowy alkohol uniemożliwia tężenie jello shotów?',
47
+ answer: 'Etanol zakłóca wiązania wodorowe utrzymujące potrójną helisę struktury białkowej żelatyny. Gdy spirytus stanowi ok. 35% całkowitej objętości, matryca białkowa nie może utworzyć stabilnej sieci i shot pozostaje ciekły. Im wyższy ABV alkoholu, tym mniej można go dodać przed osiągnięciem tego limitu.',
48
+ },
49
+ {
50
+ question: 'Jaki jest maksymalny stosunek alkoholu, zanim jello shoty przestają tężeć?',
51
+ answer: 'Bezpieczna górna granica to ok. 30–35% całkowitej objętości płynu jako czysty spirytus (przy 40% ABV). Przy 96% alkoholu neutralnym limit spada do ok. 15–18% całkowitej objętości. Nasz kalkulator uwzględnia ABV alkoholu, dzięki czemu nigdy nie przekroczysz progu tężenia.',
52
+ },
53
+ {
54
+ question: 'Czy ma znaczenie, jaki alkohol użyję — wódkę, rum czy tequilę?',
55
+ answer: 'Liczy się ABV, a nie rodzaj alkoholu. Wódka 40% i rum 40% zachowują się identycznie w matrycy żelatyny. Alkohole z wyższą zawartością cukru (jak niektóre rumy czy likiery) mogą nieznacznie poprawić teksturę, gdyż cukier konkuruje z etanolem o wiązania wodorowe w sieci żelatyny.',
56
+ },
57
+ {
58
+ question: 'Jak długo jello shoty są trwałe w lodówce?',
59
+ answer: 'Prawidłowo przygotowane jello shoty wytrzymują 3–5 dni w lodówce przykryte folią spożywczą. Wysoka zawartość alkoholu działa jako naturalny konserwant. Nie zostawiaj ich w temperaturze pokojowej dłużej niż 2 godziny, gdyż żelatyna mięknie i mogą namnażać się bakterie.',
60
+ },
61
+ {
62
+ question: 'Czy mogę sprawić, by moje jello shoty były twardsze lub miększe?',
63
+ answer: 'Tak. Użyj więcej żelatyny (lub pół saszetki więcej) dla twardszych shotów, które czysto wyślizgują się z kubków. Użyj nieco mniej dla miękkiej, trzęsącej się tekstury. Nigdy nie zastępuj żelatyny agar-agarem, jeśli chcesz tekstury rozpuszczającej się w ustach — agar twardnieje bardziej i topi się w wyższej temperaturze.',
64
+ },
65
+ {
66
+ question: 'Czy mogę zamrozić jello shoty, aby przyspieszyć chłodzenie?',
67
+ answer: 'Nie. Zamrożenie niszczy sieć żelatyny, powodując wodnistą, ziarnistą teksturę po rozmrożeniu. Zawsze chłodź co najmniej 4 godziny. Na imprezy przygotuj je poprzedniego wieczoru — 8+ godzin daje najlepszą teksturę.',
68
+ },
69
+ ];
70
+
71
+ const howTo: JelloShotLabLocaleContent['howTo'] = [
72
+ { name: 'Wybierz swój alkohol', text: 'Wpisz ABV swojego alkoholu i wybierz pożądaną moc shota. Kalkulator pokaże Ci maksymalną ilość alkoholu, którą Twoja żelatyna może pomieścić.' },
73
+ { name: 'Przygotuj żelatynę', text: 'Wlej obliczoną ilość wrzącej wody do miski. Dodaj proszek żelatynowy i mieszaj energicznie przez 2 minuty do całkowitego rozpuszczenia. Jeszcze nie dodawaj alkoholu.' },
74
+ { name: 'Dodaj alkohol', text: 'Pozostaw mieszaninę żelatynową do ostygnięcia przez 5–10 minut, aż będzie ciepła, ale nie gorąca (poniżej 50 °C). Dodaj swój alkohol i mieszaj delikatnie, aby uniknąć pęcherzyków.' },
75
+ { name: 'Wlej i schłodź', text: 'Wlej do plastikowych kubeczków, foremek silikonowych lub małych kieliszków do shotów. Chłodź co najmniej 4 godziny — przez noc jest idealne. Nie zamrażaj.' },
76
+ ];
77
+
78
+
79
+ const seo: JelloShotLabLocaleContent['seo'] = [
80
+ { type: 'title', text: 'Chemia stojąca za doskonałym jello shotem', level: 2 },
81
+ {
82
+ type: 'paragraph',
83
+ html: 'Jello shot to nie tylko aromatyzowana żelatyna z alkoholem — to <strong>delikatna zawiesina koloidalna</strong>, w której polimery białkowe, woda i etanol konkurują o wiązania wodorowe. Zły stosunek i masz kałużę słodkiej cieczy lub gumowy krążek, który odbija się od stołu. Właściwy stosunek daje idealnie trzęsący się shot, który wyślizguje się z kubka jednym czystym ruchem.',
84
+ },
85
+ {
86
+ type: 'stats',
87
+ items: [
88
+ { label: 'Lekki (Łatwy)', value: '~30% alkoholu', icon: 'mdi:emoticon-happy-outline' },
89
+ { label: 'Standard', value: '~45% alkoholu', icon: 'mdi:flask-outline' },
90
+ { label: 'Maksimum', value: '~55% alkoholu', icon: 'mdi:fire' },
91
+ ],
92
+ columns: 3,
93
+ },
94
+ {
95
+ type: 'card',
96
+ title: 'Czym jest siła Bloom?',
97
+ icon: 'mdi:molecule',
98
+ html: 'Bloom mierzy siłę żelowania żelatyny, zazwyczaj od 50 do 300 Bloom. Żelatyna listewkowa z supermarketu to zwykle 150–200 Bloom. Wyższy Bloom oznacza twardszy żel przy tej samej ilości proszku, co oznacza, że wytrzymuje nieco więcej alkoholu przed utratą zdolności tężenia. Standardowe saszetki żelatyny w proszku (7 g) są skalibrowane na ok. 240 ml płynu.',
99
+ },
100
+ {
101
+ type: 'card',
102
+ title: 'Limit etanolu',
103
+ icon: 'mdi:alert-circle-outline',
104
+ html: 'Etanol konkuruje z wodą o miejsca wiązań wodorowych na łańcuchach aminokwasowych kolagenu. Gdy etanol zajmie zbyt wiele tych miejsc, białko nie może złożyć się w stabilną potrójną helisę dającą żelatynie strukturę. Praktyczny limit to mniej więcej <strong>1 część 40% alkoholu na 1 część wody</strong> — powyżej tego Twój shot nie stężeje bez względu na czas oczekiwania.',
105
+ },
106
+ {
107
+ type: 'tip',
108
+ title: 'Nigdy nie dodawaj alkoholu do wrzącej żelatyny',
109
+ html: 'Alkohol szybko paruje powyżej 78 °C. Zawsze odczekaj, aż rozpuszczona żelatyna ostygnie poniżej 50 °C przed dodaniem alkoholu. Ten jeden krok odpowiada za więcej nieudanych jello shotów niż jakikolwiek inny błąd.',
110
+ },
111
+ { type: 'title', text: 'Rozwiązywanie typowych problemów', level: 2 },
112
+ {
113
+ type: 'proscons',
114
+ title: 'Objawy i rozwiązania',
115
+ items: [
116
+ { pro: 'Shot jest ciekły po 4 godzinach → Za dużo alkoholu lub przekroczony stosunek. Zmniejsz objętość alkoholu.', con: 'Shot nie smakuje alkoholem → Alkohol dodano do zbyt gorącej cieczy. Najpierw ją ostudź.' },
117
+ { pro: 'Shot jest zbyt gumowaty → Za dużo żelatyny. Następnym razem zmniejsz o pół saszetki.', con: 'Shot jest mętny → Pęcherzyki uwięzione podczas mieszania. Mieszaj delikatnie i odczekaj przed wlewaniem.' },
118
+ { pro: 'Shot ma ziarnistą teksturę → Żelatyna nie w pełni rozpuszczona. Dłużej mieszaj w gorącej wodzie.', con: 'Shot nie twardnieje po 8 godzinach → Przekroczono limit etanolu. Użyj mniej alkoholu lub o niższej zawartości ABV.' },
119
+ ],
120
+ },
121
+ {
122
+ type: 'summary',
123
+ title: 'Dla kogo jest to narzędzie?',
124
+ items: [
125
+ 'Organizatorzy imprez: Oblicz dokładnie, ile saszetek i ile alkoholu potrzebujesz przed zakupem.',
126
+ 'Barmani: Skaluj do dużej produkcji z konsekwentnymi wynikami za każdym razem.',
127
+ 'Domowi kucharze: Unikaj najczęstszych błędów — ciekłych shotów, gumowatej tekstury lub zerowego smaku alkoholu.',
128
+ ],
129
+ },
130
+ ];
131
+
132
+ const schemas: JelloShotLabLocaleContent['schemas'] = [
133
+ {
134
+ '@context': 'https://schema.org',
135
+ '@type': 'FAQPage',
136
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
137
+ } as WithContext<FAQPage>,
138
+ {
139
+ '@context': 'https://schema.org',
140
+ '@type': 'HowTo',
141
+ name: title,
142
+ description,
143
+ step: howTo.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
144
+ } as WithContext<HowTo>,
145
+ {
146
+ '@context': 'https://schema.org',
147
+ '@type': 'SoftwareApplication',
148
+ name: title,
149
+ description,
150
+ applicationCategory: 'UtilityApplication',
151
+ operatingSystem: 'Web',
152
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
153
+ } as WithContext<SoftwareApplication>,
154
+ ];
155
+
156
+ export const content: JelloShotLabLocaleContent = { slug, title, description, ui, seo, faqTitle, faq, bibliography, howTo, schemas };
@@ -0,0 +1,156 @@
1
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { JelloShotLabUI, JelloShotLabLocaleContent } from '../entry';
4
+
5
+ const slug = 'laboratorio-jello-shots';
6
+ const title = 'Laboratório Jello Shots: O calculador perfeito da proporção entre álcool e gelatina';
7
+ const description = 'Calcule exatamente quanta bebida e gelatina usar para jello shots que realmente solidificam. Evite os fracassos líquidos ou borrachudos com proporções baseadas na ciência para qualquer teor alcoólico.';
8
+
9
+ const ui: JelloShotLabUI = {
10
+ title: 'Laboratório Jello Shots',
11
+ description: 'Obtenha a proporção perfeita de gelatina, água e álcool para que os seus shots solidifiquem sempre.',
12
+ liquorBaseLabel: 'Tipo de bebida',
13
+ liquorAbvLabel: 'Teor alcoólico (%)',
14
+ gelatinLabel: 'Tipo de gelatina',
15
+ diluentLabel: 'Base de água',
16
+ calculateBtn: 'Calcular',
17
+ modePrecision: 'Modo precisão',
18
+ modeIntensity: 'Força do shot',
19
+ modeIntensityLight: 'Leve (Fácil)',
20
+ modeIntensityBalanced: 'Standard',
21
+ modeIntensityLimit: 'Máximo (Forte)',
22
+ partyPlannerTitle: 'Planeador de festa',
23
+ partyPlannerGuestLabel: 'Convidados',
24
+ partyPlannerShotsPerGuest: 'Shots por pessoa',
25
+ multiLayerTitle: 'Multi-camadas',
26
+ howToTitle: 'Como prepará-los',
27
+ proTipsTitle: 'Dicas de pro',
28
+ resultsTitle: 'A sua receita',
29
+ totalVolumeLabel: 'Volume total',
30
+ boilingWaterLabel: 'Água quente',
31
+ alcoholVolumeLabel: 'Bebida',
32
+ packetsNeededLabel: 'Saquetas de gelatina',
33
+ chillingTimeLabel: 'Tempo de refrigeração',
34
+ unitMm: 'ml',
35
+ unitOz: 'oz',
36
+ unitGrams: 'g',
37
+ unitPackets: 'saquetas',
38
+ modeParty: 'Modo festa',
39
+ modeRecipe: 'Modo receita',
40
+ };
41
+
42
+ const faqTitle = 'Perguntas frequentes';
43
+
44
+ const faq: JelloShotLabLocaleContent['faq'] = [
45
+ {
46
+ question: 'Por que o álcool de alta graduação impede os jello shots de solidificar?',
47
+ answer: 'O etanol perturba as ligações de hidrogénio que mantêm a estrutura proteica de tripla hélice da gelatina. Quando o destilado representa cerca de 35% do volume total, a matriz proteica não consegue formar uma rede estável e o shot permanece líquido. Quanto maior o teor alcoólico da bebida, menos volume se pode adicionar antes de atingir este limite.',
48
+ },
49
+ {
50
+ question: 'Qual é a proporção máxima de álcool antes de os jello shots pararem de solidificar?',
51
+ answer: 'O limite superior seguro é de cerca de 30 a 35% do volume total de líquido sendo bebida pura (a 40% vol). Com um álcool neutro a 96%, esse limite desce para cerca de 15 a 18% do volume total. A nossa calculadora tem em conta o teor alcoólico da bebida para que nunca ultrapasse o limite de solidificação.',
52
+ },
53
+ {
54
+ question: 'Importa o tipo de bebida utilizada — vodka, rum ou tequila?',
55
+ answer: 'O que importa é o teor alcoólico, não o tipo de bebida. Vodka a 40% e rum a 40% comportam-se de forma idêntica na matriz de gelatina. No entanto, bebidas com maior teor de açúcar (como alguns rons ou licores) podem melhorar ligeiramente a textura, pois o açúcar compete com o etanol pelas ligações de hidrogénio na rede de gelatina.',
56
+ },
57
+ {
58
+ question: 'Quanto tempo duram os jello shots no frigorífico?',
59
+ answer: 'Os jello shots bem preparados duram 3 a 5 dias no frigorífico cobertos com película aderente. O alto teor alcoólico funciona como conservante natural. Evite deixá-los à temperatura ambiente por mais de 2 horas, pois a gelatina amolece e as bactérias podem multiplicar-se.',
60
+ },
61
+ {
62
+ question: 'Posso tornar os meus jello shots mais firmes ou mais macios?',
63
+ answer: 'Sim. Use mais gelatina (ou meia saqueta extra) para shots mais firmes que saem facilmente dos copos. Use ligeiramente menos para uma textura mais mole e trêmula. Nunca substitua a gelatina por ágar-ágar se quiser uma textura que se derrete na boca — o ágar solidifica mais e derrete a uma temperatura mais elevada.',
64
+ },
65
+ {
66
+ question: 'Posso congelar os jello shots para acelerar o arrefecimento?',
67
+ answer: 'Não. O congelamento quebra a rede de gelatina, resultando numa textura aquosa e granulada após descongelar. Refrigere sempre durante um mínimo de 4 horas. Para festas, prepare-os na noite anterior — 8 horas ou mais dão a melhor textura.',
68
+ },
69
+ ];
70
+
71
+ const howTo: JelloShotLabLocaleContent['howTo'] = [
72
+ { name: 'Escolha a sua bebida', text: 'Introduza o teor alcoólico da sua bebida e escolha a força do shot desejada. A calculadora mostrará a quantidade máxima de bebida que a sua gelatina consegue suportar.' },
73
+ { name: 'Prepare a gelatina', text: 'Deite a quantidade calculada de água a ferver numa tigela. Adicione o pó de gelatina e mexa vigorosamente durante 2 minutos até dissolver completamente. Não adicione álcool ainda.' },
74
+ { name: 'Adicione a bebida', text: 'Deixe a mistura de gelatina arrefecer durante 5 a 10 minutos até estar morna mas não quente (abaixo de 50 °C). Adicione a sua bebida e mexa suavemente para evitar criar bolhas.' },
75
+ { name: 'Deite e refrigere', text: 'Deite em copos de plástico, moldes de silicone ou pequenos copos de shot. Refrigere durante pelo menos 4 horas — uma noite inteira é ideal. Não congele.' },
76
+ ];
77
+
78
+
79
+ const seo: JelloShotLabLocaleContent['seo'] = [
80
+ { type: 'title', text: 'A química por trás de um jello shot perfeito', level: 2 },
81
+ {
82
+ type: 'paragraph',
83
+ html: 'Um jello shot não é apenas gelatina aromatizada com álcool — é uma <strong>suspensão coloidal delicada</strong> onde polímeros proteicos, água e etanol competem por ligações de hidrogénio. Errar a proporção resulta numa poça de líquido doce ou num disco borrachudo que ressalta na mesa. Acertar significa ter um shot perfeitamente trémulo que desliza para fora do copo num único movimento limpo.',
84
+ },
85
+ {
86
+ type: 'stats',
87
+ items: [
88
+ { label: 'Leve (Fácil)', value: '~30% bebida', icon: 'mdi:emoticon-happy-outline' },
89
+ { label: 'Standard', value: '~45% bebida', icon: 'mdi:flask-outline' },
90
+ { label: 'Máximo', value: '~55% bebida', icon: 'mdi:fire' },
91
+ ],
92
+ columns: 3,
93
+ },
94
+ {
95
+ type: 'card',
96
+ title: 'O que é a força Bloom?',
97
+ icon: 'mdi:molecule',
98
+ html: 'O Bloom mede a força de gelificação de uma gelatina, tipicamente entre 50 e 300 Bloom. A gelatina em folhas do supermercado é normalmente 150–200 Bloom. Um Bloom mais alto significa um gel mais firme com a mesma quantidade de pó, o que significa que pode tolerar ligeiramente mais álcool antes de não solidificar. As saquetas padrão de gelatina em pó (7 g) estão calibradas para cerca de 240 ml de líquido.',
99
+ },
100
+ {
101
+ type: 'card',
102
+ title: 'O limite do etanol',
103
+ icon: 'mdi:alert-circle-outline',
104
+ html: 'O etanol compete com a água pelos locais de ligação de hidrogénio nas cadeias de aminoácidos do colagénio. Quando o etanol ocupa demasiados desses locais, a proteína não consegue dobrar-se na tripla hélice estável que dá estrutura à gelatina. O limite prático é de aproximadamente <strong>1 parte de bebida a 40% para 1 parte de água</strong> — além disso, o seu shot não solidificará independentemente do tempo de espera.',
105
+ },
106
+ {
107
+ type: 'tip',
108
+ title: 'Nunca adicione álcool à gelatina a ferver',
109
+ html: 'O álcool evapora rapidamente acima dos 78 °C. Deixe sempre a gelatina dissolvida arrefecer abaixo dos 50 °C antes de adicionar a bebida. Este único passo é responsável por mais jello shots falhados do que qualquer outro erro.',
110
+ },
111
+ { type: 'title', text: 'Resolver falhas comuns', level: 2 },
112
+ {
113
+ type: 'proscons',
114
+ title: 'Sintomas e soluções',
115
+ items: [
116
+ { pro: 'Shot líquido após 4 horas → Demasiado álcool ou proporção excedida. Reduzir o volume de bebida.', con: 'Shot sem sabor a álcool → Bebida adicionada a líquido ainda demasiado quente. Deixar arrefecer primeiro.' },
117
+ { pro: 'Shot demasiado borrachudo → Demasiada gelatina. Reduzir meia saqueta na próxima vez.', con: 'Shot turvo → Bolhas presas durante a mistura. Mexer suavemente e deixar repousar antes de deitar.' },
118
+ { pro: 'Shot com textura granulada → Gelatina não completamente dissolvida. Mexer mais tempo em água quente.', con: 'Shot não solidifica após 8 horas → Limite de etanol ultrapassado. Usar menos bebida ou com ABV mais baixo.' },
119
+ ],
120
+ },
121
+ {
122
+ type: 'summary',
123
+ title: 'Para quem é esta ferramenta?',
124
+ items: [
125
+ 'Anfitriões de festas: Calcule exatamente quantas saquetas e quanta bebida precisa antes de comprar.',
126
+ 'Bartenders: Escale para produção em grande quantidade com resultados consistentes sempre.',
127
+ 'Cozinheiros caseiros: Evite os erros mais comuns — shots líquidos, textura borrachuda ou zero sabor a álcool.',
128
+ ],
129
+ },
130
+ ];
131
+
132
+ const schemas: JelloShotLabLocaleContent['schemas'] = [
133
+ {
134
+ '@context': 'https://schema.org',
135
+ '@type': 'FAQPage',
136
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
137
+ } as WithContext<FAQPage>,
138
+ {
139
+ '@context': 'https://schema.org',
140
+ '@type': 'HowTo',
141
+ name: title,
142
+ description,
143
+ step: howTo.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
144
+ } as WithContext<HowTo>,
145
+ {
146
+ '@context': 'https://schema.org',
147
+ '@type': 'SoftwareApplication',
148
+ name: title,
149
+ description,
150
+ applicationCategory: 'UtilityApplication',
151
+ operatingSystem: 'Web',
152
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
153
+ } as WithContext<SoftwareApplication>,
154
+ ];
155
+
156
+ export const content: JelloShotLabLocaleContent = { slug, title, description, ui, seo, faqTitle, faq, bibliography, howTo, schemas };
@@ -0,0 +1,156 @@
1
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { JelloShotLabUI, JelloShotLabLocaleContent } from '../entry';
4
+
5
+ const slug = 'raschet-jello-shots';
6
+ const title = 'Расчёт Джелло Шотов: Идеальный калькулятор соотношения алкоголя и желатина';
7
+ const description = 'Рассчитайте точно, сколько алкоголя и желатина использовать для джелло шотов, которые действительно застывают. Избегайте жидких или резиновых неудач с научно обоснованными пропорциями для любой крепости алкоголя.';
8
+
9
+ const ui: JelloShotLabUI = {
10
+ title: 'Расчёт Джелло Шотов',
11
+ description: 'Получите идеальное соотношение желатина, воды и алкоголя, чтобы ваши шоты застывали каждый раз.',
12
+ liquorBaseLabel: 'Вид напитка',
13
+ liquorAbvLabel: 'Крепость напитка (%)',
14
+ gelatinLabel: 'Вид желатина',
15
+ diluentLabel: 'Водная основа',
16
+ calculateBtn: 'Рассчитать',
17
+ modePrecision: 'Точный режим',
18
+ modeIntensity: 'Крепость шота',
19
+ modeIntensityLight: 'Лёгкий (Простой)',
20
+ modeIntensityBalanced: 'Стандартный',
21
+ modeIntensityLimit: 'Максимум (Крепкий)',
22
+ partyPlannerTitle: 'Планировщик вечеринки',
23
+ partyPlannerGuestLabel: 'Гости',
24
+ partyPlannerShotsPerGuest: 'Шотов на человека',
25
+ multiLayerTitle: 'Многослойный',
26
+ howToTitle: 'Как их приготовить',
27
+ proTipsTitle: 'Советы профи',
28
+ resultsTitle: 'Ваш рецепт',
29
+ totalVolumeLabel: 'Общий объём',
30
+ boilingWaterLabel: 'Горячая вода',
31
+ alcoholVolumeLabel: 'Алкоголь',
32
+ packetsNeededLabel: 'Пакетики желатина',
33
+ chillingTimeLabel: 'Время охлаждения',
34
+ unitMm: 'ml',
35
+ unitOz: 'oz',
36
+ unitGrams: 'g',
37
+ unitPackets: 'пакетики',
38
+ modeParty: 'Режим вечеринки',
39
+ modeRecipe: 'Режим рецепта',
40
+ };
41
+
42
+ const faqTitle = 'Часто задаваемые вопросы';
43
+
44
+ const faq: JelloShotLabLocaleContent['faq'] = [
45
+ {
46
+ question: 'Почему крепкий алкоголь мешает джелло шотам застывать?',
47
+ answer: 'Этанол нарушает водородные связи, удерживающие тройную спиральную белковую структуру желатина. Когда спиртной напиток составляет около 35% общего объёма, белковая матрица не может сформировать стабильную сеть и шот остаётся жидким. Чем выше ABV алкоголя, тем меньше объём, который можно добавить до достижения этого предела.',
48
+ },
49
+ {
50
+ question: 'Каково максимальное соотношение алкоголя, при котором джелло шоты перестают застывать?',
51
+ answer: 'Безопасный верхний предел — около 30–35% от общего объёма жидкости в виде чистого спиртного (при 40% ABV). При нейтральном спирте 96% этот предел снижается до примерно 15–18% от общего объёма. Наш калькулятор учитывает ABV алкоголя, чтобы вы никогда не превысили порог застывания.',
52
+ },
53
+ {
54
+ question: 'Важно ли, какой алкоголь использовать — водку, ром или текилу?',
55
+ answer: 'Важен ABV, а не вид алкоголя. Водка 40% и ром 40% ведут себя одинаково в матрице желатина. Напитки с более высоким содержанием сахара (как некоторые ромы или ликёры) могут немного улучшить текстуру, так как сахар конкурирует с этанолом за водородные связи в сети желатина.',
56
+ },
57
+ {
58
+ question: 'Сколько хранятся джелло шоты в холодильнике?',
59
+ answer: 'Правильно приготовленные джелло шоты хранятся 3–5 дней в холодильнике, накрытые пищевой плёнкой. Высокое содержание алкоголя действует как натуральный консервант. Не оставляйте их при комнатной температуре более 2 часов: желатин размягчается и могут размножаться бактерии.',
60
+ },
61
+ {
62
+ question: 'Можно ли сделать джелло шоты тверже или мягче?',
63
+ answer: 'Да. Используйте больше желатина (или дополнительный полпакетика) для более плотных шотов, которые чисто выскальзывают из стаканчиков. Используйте чуть меньше для мягкой, дрожащей текстуры. Никогда не заменяйте желатин агар-агаром, если хотите текстуры, тающей во рту — агар застывает тверже и плавится при более высокой температуре.',
64
+ },
65
+ {
66
+ question: 'Можно ли заморозить джелло шоты, чтобы ускорить охлаждение?',
67
+ answer: 'Нет. Заморозка разрушает сеть желатина, что даёт водянистую, зернистую текстуру после оттаивания. Всегда охлаждайте не менее 4 часов. Для вечеринок готовьте накануне — 8+ часов дают наилучшую текстуру.',
68
+ },
69
+ ];
70
+
71
+ const howTo: JelloShotLabLocaleContent['howTo'] = [
72
+ { name: 'Выберите напиток', text: 'Введите ABV вашего напитка и выберите желаемую крепость шота. Калькулятор покажет максимальный объём алкоголя, который может удержать ваш желатин.' },
73
+ { name: 'Приготовьте желатин', text: 'Налейте рассчитанное количество кипятка в миску. Добавьте желатиновый порошок и энергично помешивайте 2 минуты до полного растворения. Алкоголь пока не добавляйте.' },
74
+ { name: 'Добавьте алкоголь', text: 'Дайте желатиновой смеси остыть 5–10 минут, пока она не станет тёплой, но не горячей (ниже 50 °C). Добавьте алкоголь и осторожно перемешайте, чтобы не образовались пузырьки.' },
75
+ { name: 'Разлейте и охладите', text: 'Разлейте по пластиковым стаканчикам, силиконовым формочкам или маленьким рюмкам. Охлаждайте не менее 4 часов — ночь в холодильнике идеально. Не замораживайте.' },
76
+ ];
77
+
78
+
79
+ const seo: JelloShotLabLocaleContent['seo'] = [
80
+ { type: 'title', text: 'Химия идеального джелло шота', level: 2 },
81
+ {
82
+ type: 'paragraph',
83
+ html: 'Джелло шот — это не просто ароматизированный желатин с добавленным алкоголем, а <strong>деликатная коллоидная суспензия</strong>, в которой белковые полимеры, вода и этанол конкурируют за водородные связи. Неправильное соотношение — и получаешь лужицу сладкой жидкости или резиновый диск, отскакивающий от стола. Правильное соотношение — и получаешь идеально дрожащий шот, который выскальзывает из стаканчика одним чистым движением.',
84
+ },
85
+ {
86
+ type: 'stats',
87
+ items: [
88
+ { label: 'Лёгкий (Простой)', value: '~30% алкоголя', icon: 'mdi:emoticon-happy-outline' },
89
+ { label: 'Стандартный', value: '~45% алкоголя', icon: 'mdi:flask-outline' },
90
+ { label: 'Максимум', value: '~55% алкоголя', icon: 'mdi:fire' },
91
+ ],
92
+ columns: 3,
93
+ },
94
+ {
95
+ type: 'card',
96
+ title: 'Что такое прочность по Блуму?',
97
+ icon: 'mdi:molecule',
98
+ html: 'Блум измеряет студнеобразующую способность желатина, обычно от 50 до 300 единиц. Листовой желатин из супермаркета, как правило, 150–200 Блум. Более высокий Блум означает более плотный гель при той же массе порошка, то есть он выдерживает чуть больше алкоголя до потери способности застывать. Стандартные пакетики желатинового порошка (7 г) рассчитаны примерно на 240 мл жидкости.',
99
+ },
100
+ {
101
+ type: 'card',
102
+ title: 'Предел этанола',
103
+ icon: 'mdi:alert-circle-outline',
104
+ html: 'Этанол конкурирует с водой за места водородных связей на аминокислотных цепях коллагена. Когда этанол занимает слишком много таких мест, белок не может свернуться в стабильную тройную спираль, дающую желатину структуру. Практический предел — примерно <strong>1 часть 40% алкоголя на 1 часть воды</strong> — за этим ваш шот не застынет сколько бы вы ни ждали.',
105
+ },
106
+ {
107
+ type: 'tip',
108
+ title: 'Никогда не добавляйте алкоголь в кипящий желатин',
109
+ html: 'Алкоголь быстро испаряется выше 78 °C. Всегда давайте растворённому желатину остыть до менее 50 °C перед добавлением алкоголя. Именно этот шаг является причиной большего числа неудачных джелло шотов, чем любая другая ошибка.',
110
+ },
111
+ { type: 'title', text: 'Устранение типичных ошибок', level: 2 },
112
+ {
113
+ type: 'proscons',
114
+ title: 'Признаки и решения',
115
+ items: [
116
+ { pro: 'Шот жидкий через 4 часа → Слишком много алкоголя или превышено соотношение. Уменьшите объём алкоголя.', con: 'Шот не ощущается алкоголем → Алкоголь добавлен в слишком горячую жидкость. Сначала охладите смесь.' },
117
+ { pro: 'Шот слишком резиновый → Слишком много желатина. В следующий раз уменьшите на полпакетика.', con: 'Шот мутный → Пузырьки, захваченные при перемешивании. Мешайте осторожно и дайте постоять перед разливом.' },
118
+ { pro: 'Шот с зернистой текстурой → Желатин не полностью растворён. Дольше мешайте в горячей воде.', con: 'Шот не застывает через 8 часов → Превышен предел этанола. Используйте меньше алкоголя или меньший ABV.' },
119
+ ],
120
+ },
121
+ {
122
+ type: 'summary',
123
+ title: 'Для кого этот инструмент?',
124
+ items: [
125
+ 'Организаторы вечеринок: рассчитайте точно, сколько пакетиков и сколько алкоголя нужно перед покупкой.',
126
+ 'Бармены: масштабируйте до крупного производства с неизменно стабильным результатом.',
127
+ 'Домашние кулинары: избегайте самых частых ошибок — жидких шотов, резиновой текстуры или нулевого вкуса алкоголя.',
128
+ ],
129
+ },
130
+ ];
131
+
132
+ const schemas: JelloShotLabLocaleContent['schemas'] = [
133
+ {
134
+ '@context': 'https://schema.org',
135
+ '@type': 'FAQPage',
136
+ mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })),
137
+ } as WithContext<FAQPage>,
138
+ {
139
+ '@context': 'https://schema.org',
140
+ '@type': 'HowTo',
141
+ name: title,
142
+ description,
143
+ step: howTo.map((step, i) => ({ '@type': 'HowToStep', position: i + 1, name: step.name, text: step.text })),
144
+ } as WithContext<HowTo>,
145
+ {
146
+ '@context': 'https://schema.org',
147
+ '@type': 'SoftwareApplication',
148
+ name: title,
149
+ description,
150
+ applicationCategory: 'UtilityApplication',
151
+ operatingSystem: 'Web',
152
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
153
+ } as WithContext<SoftwareApplication>,
154
+ ];
155
+
156
+ export const content: JelloShotLabLocaleContent = { slug, title, description, ui, seo, faqTitle, faq, bibliography, howTo, schemas };