@jjlmoya/utils-alcohol 1.24.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 (144) 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/alcohol-clearance-calculator.css +23 -23
  8. package/src/tool/alcoholClearance/bibliography.ts +6 -0
  9. package/src/tool/alcoholClearance/entry.ts +1 -0
  10. package/src/tool/alcoholClearance/i18n/de.ts +1 -12
  11. package/src/tool/alcoholClearance/i18n/en.ts +1 -12
  12. package/src/tool/alcoholClearance/i18n/es.ts +1 -12
  13. package/src/tool/alcoholClearance/i18n/fr.ts +1 -12
  14. package/src/tool/alcoholClearance/i18n/id.ts +1 -12
  15. package/src/tool/alcoholClearance/i18n/it.ts +1 -12
  16. package/src/tool/alcoholClearance/i18n/ja.ts +1 -12
  17. package/src/tool/alcoholClearance/i18n/ko.ts +1 -12
  18. package/src/tool/alcoholClearance/i18n/nl.ts +1 -12
  19. package/src/tool/alcoholClearance/i18n/pl.ts +1 -12
  20. package/src/tool/alcoholClearance/i18n/pt.ts +1 -12
  21. package/src/tool/alcoholClearance/i18n/ru.ts +1 -12
  22. package/src/tool/alcoholClearance/i18n/sv.ts +1 -12
  23. package/src/tool/alcoholClearance/i18n/tr.ts +1 -12
  24. package/src/tool/alcoholClearance/i18n/zh.ts +1 -12
  25. package/src/tool/beerCooler/beer-cooler.css +22 -22
  26. package/src/tool/beerCooler/bibliography.ts +6 -0
  27. package/src/tool/beerCooler/entry.ts +1 -0
  28. package/src/tool/beerCooler/i18n/de.ts +1 -12
  29. package/src/tool/beerCooler/i18n/en.ts +1 -12
  30. package/src/tool/beerCooler/i18n/es.ts +1 -12
  31. package/src/tool/beerCooler/i18n/fr.ts +1 -12
  32. package/src/tool/beerCooler/i18n/id.ts +1 -12
  33. package/src/tool/beerCooler/i18n/it.ts +1 -12
  34. package/src/tool/beerCooler/i18n/ja.ts +1 -12
  35. package/src/tool/beerCooler/i18n/ko.ts +1 -12
  36. package/src/tool/beerCooler/i18n/nl.ts +1 -12
  37. package/src/tool/beerCooler/i18n/pl.ts +1 -12
  38. package/src/tool/beerCooler/i18n/pt.ts +1 -12
  39. package/src/tool/beerCooler/i18n/ru.ts +1 -12
  40. package/src/tool/beerCooler/i18n/sv.ts +1 -12
  41. package/src/tool/beerCooler/i18n/tr.ts +1 -12
  42. package/src/tool/beerCooler/i18n/zh.ts +1 -12
  43. package/src/tool/carbonationCalculator/beer-carbonation-calculator.css +19 -19
  44. package/src/tool/carbonationCalculator/bibliography.ts +6 -0
  45. package/src/tool/carbonationCalculator/entry.ts +1 -0
  46. package/src/tool/carbonationCalculator/i18n/de.ts +1 -12
  47. package/src/tool/carbonationCalculator/i18n/en.ts +1 -12
  48. package/src/tool/carbonationCalculator/i18n/es.ts +1 -12
  49. package/src/tool/carbonationCalculator/i18n/fr.ts +1 -12
  50. package/src/tool/carbonationCalculator/i18n/id.ts +1 -12
  51. package/src/tool/carbonationCalculator/i18n/it.ts +1 -12
  52. package/src/tool/carbonationCalculator/i18n/ja.ts +1 -12
  53. package/src/tool/carbonationCalculator/i18n/ko.ts +1 -12
  54. package/src/tool/carbonationCalculator/i18n/nl.ts +1 -12
  55. package/src/tool/carbonationCalculator/i18n/pl.ts +1 -12
  56. package/src/tool/carbonationCalculator/i18n/pt.ts +1 -12
  57. package/src/tool/carbonationCalculator/i18n/ru.ts +1 -12
  58. package/src/tool/carbonationCalculator/i18n/sv.ts +1 -12
  59. package/src/tool/carbonationCalculator/i18n/tr.ts +1 -12
  60. package/src/tool/carbonationCalculator/i18n/zh.ts +1 -12
  61. package/src/tool/cocktailBalancer/bibliography.ts +7 -0
  62. package/src/tool/cocktailBalancer/cocktail-balancer.css +59 -59
  63. package/src/tool/cocktailBalancer/entry.ts +1 -0
  64. package/src/tool/cocktailBalancer/i18n/de.ts +1 -16
  65. package/src/tool/cocktailBalancer/i18n/en.ts +1 -16
  66. package/src/tool/cocktailBalancer/i18n/es.ts +1 -16
  67. package/src/tool/cocktailBalancer/i18n/fr.ts +1 -16
  68. package/src/tool/cocktailBalancer/i18n/id.ts +1 -16
  69. package/src/tool/cocktailBalancer/i18n/it.ts +1 -16
  70. package/src/tool/cocktailBalancer/i18n/ja.ts +1 -16
  71. package/src/tool/cocktailBalancer/i18n/ko.ts +1 -16
  72. package/src/tool/cocktailBalancer/i18n/nl.ts +1 -16
  73. package/src/tool/cocktailBalancer/i18n/pl.ts +1 -16
  74. package/src/tool/cocktailBalancer/i18n/pt.ts +1 -16
  75. package/src/tool/cocktailBalancer/i18n/ru.ts +1 -16
  76. package/src/tool/cocktailBalancer/i18n/sv.ts +1 -16
  77. package/src/tool/cocktailBalancer/i18n/tr.ts +1 -16
  78. package/src/tool/cocktailBalancer/i18n/zh.ts +1 -16
  79. package/src/tool/fortifiedWine/bibliography.astro +14 -0
  80. package/src/tool/fortifiedWine/bibliography.ts +7 -0
  81. package/src/tool/fortifiedWine/component.astro +331 -0
  82. package/src/tool/fortifiedWine/entry.ts +62 -0
  83. package/src/tool/fortifiedWine/fortified-wine-builder.css +534 -0
  84. package/src/tool/fortifiedWine/i18n/de.ts +66 -0
  85. package/src/tool/fortifiedWine/i18n/en.ts +140 -0
  86. package/src/tool/fortifiedWine/i18n/es.ts +140 -0
  87. package/src/tool/fortifiedWine/i18n/fr.ts +91 -0
  88. package/src/tool/fortifiedWine/i18n/id.ts +91 -0
  89. package/src/tool/fortifiedWine/i18n/it.ts +91 -0
  90. package/src/tool/fortifiedWine/i18n/ja.ts +91 -0
  91. package/src/tool/fortifiedWine/i18n/ko.ts +91 -0
  92. package/src/tool/fortifiedWine/i18n/nl.ts +91 -0
  93. package/src/tool/fortifiedWine/i18n/pl.ts +91 -0
  94. package/src/tool/fortifiedWine/i18n/pt.ts +91 -0
  95. package/src/tool/fortifiedWine/i18n/ru.ts +91 -0
  96. package/src/tool/fortifiedWine/i18n/sv.ts +91 -0
  97. package/src/tool/fortifiedWine/i18n/tr.ts +91 -0
  98. package/src/tool/fortifiedWine/i18n/zh.ts +91 -0
  99. package/src/tool/fortifiedWine/index.ts +8 -0
  100. package/src/tool/fortifiedWine/logic.ts +46 -0
  101. package/src/tool/fortifiedWine/seo.astro +41 -0
  102. package/src/tool/jelloShotLab/bibliography.astro +14 -0
  103. package/src/tool/jelloShotLab/bibliography.ts +8 -0
  104. package/src/tool/jelloShotLab/component.astro +183 -0
  105. package/src/tool/jelloShotLab/entry.ts +62 -0
  106. package/src/tool/jelloShotLab/i18n/de.ts +156 -0
  107. package/src/tool/jelloShotLab/i18n/en.ts +156 -0
  108. package/src/tool/jelloShotLab/i18n/es.ts +156 -0
  109. package/src/tool/jelloShotLab/i18n/fr.ts +156 -0
  110. package/src/tool/jelloShotLab/i18n/id.ts +156 -0
  111. package/src/tool/jelloShotLab/i18n/it.ts +156 -0
  112. package/src/tool/jelloShotLab/i18n/ja.ts +156 -0
  113. package/src/tool/jelloShotLab/i18n/ko.ts +156 -0
  114. package/src/tool/jelloShotLab/i18n/nl.ts +156 -0
  115. package/src/tool/jelloShotLab/i18n/pl.ts +156 -0
  116. package/src/tool/jelloShotLab/i18n/pt.ts +156 -0
  117. package/src/tool/jelloShotLab/i18n/ru.ts +156 -0
  118. package/src/tool/jelloShotLab/i18n/sv.ts +156 -0
  119. package/src/tool/jelloShotLab/i18n/tr.ts +156 -0
  120. package/src/tool/jelloShotLab/i18n/zh.ts +156 -0
  121. package/src/tool/jelloShotLab/index.ts +11 -0
  122. package/src/tool/jelloShotLab/jello-shot-lab.css +229 -0
  123. package/src/tool/jelloShotLab/logic.ts +29 -0
  124. package/src/tool/jelloShotLab/seo.astro +53 -0
  125. package/src/tool/partyKeg/bibliography.ts +6 -0
  126. package/src/tool/partyKeg/entry.ts +1 -0
  127. package/src/tool/partyKeg/i18n/de.ts +1 -12
  128. package/src/tool/partyKeg/i18n/en.ts +1 -12
  129. package/src/tool/partyKeg/i18n/es.ts +1 -12
  130. package/src/tool/partyKeg/i18n/fr.ts +1 -12
  131. package/src/tool/partyKeg/i18n/id.ts +1 -12
  132. package/src/tool/partyKeg/i18n/it.ts +1 -12
  133. package/src/tool/partyKeg/i18n/ja.ts +1 -12
  134. package/src/tool/partyKeg/i18n/ko.ts +1 -12
  135. package/src/tool/partyKeg/i18n/nl.ts +1 -12
  136. package/src/tool/partyKeg/i18n/pl.ts +1 -12
  137. package/src/tool/partyKeg/i18n/pt.ts +1 -12
  138. package/src/tool/partyKeg/i18n/ru.ts +1 -12
  139. package/src/tool/partyKeg/i18n/sv.ts +1 -12
  140. package/src/tool/partyKeg/i18n/tr.ts +1 -12
  141. package/src/tool/partyKeg/i18n/zh.ts +1 -12
  142. package/src/tool/partyKeg/party-stock-calculator.css +23 -23
  143. package/src/tools.ts +5 -0
  144. 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 = 'kalkulator-jello-shot';
6
+ const title = 'Kalkulator Jello Shot: Kalkulator Rasio Alkohol dan Gelatin yang Sempurna';
7
+ const description = 'Hitung dengan tepat berapa banyak minuman keras dan gelatin yang dibutuhkan untuk jello shot yang benar-benar mengeras. Hindari kegagalan yang encer atau kenyal dengan rasio berbasis sains untuk setiap kekuatan alkohol.';
8
+
9
+ const ui: JelloShotLabUI = {
10
+ title: 'Kalkulator Jello Shot',
11
+ description: 'Dapatkan rasio gelatin, air, dan alkohol yang sempurna agar shot Anda mengeras setiap saat.',
12
+ liquorBaseLabel: 'Jenis Minuman Keras',
13
+ liquorAbvLabel: 'Kekuatan Alkohol (%)',
14
+ gelatinLabel: 'Jenis Gelatin',
15
+ diluentLabel: 'Basis Air',
16
+ calculateBtn: 'Hitung',
17
+ modePrecision: 'Mode Presisi',
18
+ modeIntensity: 'Kekuatan Shot',
19
+ modeIntensityLight: 'Ringan (Mudah)',
20
+ modeIntensityBalanced: 'Standar',
21
+ modeIntensityLimit: 'Maksimum (Kuat)',
22
+ partyPlannerTitle: 'Perencana Pesta',
23
+ partyPlannerGuestLabel: 'Tamu',
24
+ partyPlannerShotsPerGuest: 'Shot per orang',
25
+ multiLayerTitle: 'Multi-Lapis',
26
+ howToTitle: 'Cara Membuatnya',
27
+ proTipsTitle: 'Tips Pro',
28
+ resultsTitle: 'Resep Anda',
29
+ totalVolumeLabel: 'Total Volume',
30
+ boilingWaterLabel: 'Air Panas',
31
+ alcoholVolumeLabel: 'Minuman Keras',
32
+ packetsNeededLabel: 'Bungkus Gelatin',
33
+ chillingTimeLabel: 'Waktu Pendinginan',
34
+ unitMm: 'ml',
35
+ unitOz: 'oz',
36
+ unitGrams: 'g',
37
+ unitPackets: 'bungkus',
38
+ modeParty: 'Mode Pesta',
39
+ modeRecipe: 'Mode Resep',
40
+ };
41
+
42
+ const faqTitle = 'Pertanyaan yang Sering Diajukan';
43
+
44
+ const faq: JelloShotLabLocaleContent['faq'] = [
45
+ {
46
+ question: 'Mengapa alkohol berkadar tinggi mencegah jello shot mengeras?',
47
+ answer: 'Etanol mengganggu ikatan hidrogen yang menjaga struktur protein triple helix gelatin. Ketika minuman keras mencapai sekitar 35% dari total volume, matriks protein tidak dapat membentuk jaringan yang stabil dan shot tetap cair. Semakin tinggi ABV minuman keras, semakin sedikit volume yang bisa ditambahkan sebelum mencapai batas ini.',
48
+ },
49
+ {
50
+ question: 'Berapa rasio alkohol maksimum sebelum jello shot berhenti mengeras?',
51
+ answer: 'Batas aman atas adalah sekitar 30–35% dari total volume cairan sebagai minuman keras murni (pada ABV 40%). Dengan alkohol netral 96%, batas itu turun menjadi sekitar 15–18% dari total volume. Kalkulator kami memperhitungkan ABV minuman keras sehingga Anda tidak pernah melampaui ambang pengerasan.',
52
+ },
53
+ {
54
+ question: 'Apakah penting minuman keras apa yang digunakan — vodka, rum, atau tequila?',
55
+ answer: 'Yang penting adalah ABV, bukan jenis minuman keras. Vodka 40% dan rum 40% berperilaku identik dalam matriks gelatin. Namun, minuman keras dengan kandungan gula lebih tinggi (seperti beberapa rum atau likeur) dapat sedikit meningkatkan tekstur karena gula bersaing dengan etanol untuk ikatan hidrogen dalam jaringan gelatin.',
56
+ },
57
+ {
58
+ question: 'Berapa lama jello shot bertahan di kulkas?',
59
+ answer: 'Jello shot yang dibuat dengan benar bertahan 3–5 hari di kulkas dengan ditutup plastik wrap. Kandungan alkohol yang tinggi bertindak sebagai pengawet alami. Hindari membiarkannya pada suhu ruangan lebih dari 2 jam karena gelatin melunak dan bakteri dapat berkembang biak.',
60
+ },
61
+ {
62
+ question: 'Bisakah saya membuat jello shot lebih keras atau lebih lembut?',
63
+ answer: 'Ya. Gunakan lebih banyak gelatin (atau setengah bungkus ekstra) untuk shot yang lebih keras yang keluar dari cangkir dengan bersih. Gunakan sedikit lebih sedikit untuk tekstur yang lebih lembut dan bergoyang. Jangan pernah mengganti gelatin dengan agar-agar jika Anda ingin tekstur yang meleleh di mulut — agar mengeras lebih keras dan meleleh pada suhu yang lebih tinggi.',
64
+ },
65
+ {
66
+ question: 'Bisakah saya membekukan jello shot untuk mempercepat pendinginan?',
67
+ answer: 'Tidak. Pembekuan merusak jaringan gelatin, menghasilkan tekstur berair dan berbulir saat dicairkan. Selalu dinginkan setidaknya 4 jam. Untuk pesta, buat malam sebelumnya — 8 jam atau lebih memberikan tekstur terbaik.',
68
+ },
69
+ ];
70
+
71
+ const howTo: JelloShotLabLocaleContent['howTo'] = [
72
+ { name: 'Pilih minuman keras Anda', text: 'Masukkan ABV minuman keras Anda dan pilih kekuatan shot yang diinginkan. Kalkulator akan menunjukkan jumlah maksimum minuman keras yang dapat ditampung gelatin Anda.' },
73
+ { name: 'Campurkan gelatin', text: 'Tuangkan jumlah air mendidih yang telah dihitung ke dalam mangkuk. Tambahkan bubuk gelatin dan aduk dengan kuat selama 2 menit hingga benar-benar larut. Jangan tambahkan alkohol dulu.' },
74
+ { name: 'Tambahkan minuman keras', text: 'Biarkan campuran gelatin mendingin selama 5–10 menit hingga hangat tetapi tidak panas (di bawah 50°C). Tambahkan minuman keras Anda dan aduk perlahan untuk menghindari gelembung.' },
75
+ { name: 'Tuang dan dinginkan', text: 'Tuang ke dalam cangkir plastik, cetakan silikon, atau gelas shot kecil. Dinginkan setidaknya 4 jam — semalaman adalah yang ideal. Jangan dibekukan.' },
76
+ ];
77
+
78
+
79
+ const seo: JelloShotLabLocaleContent['seo'] = [
80
+ { type: 'title', text: 'Kimia di Balik Jello Shot yang Sempurna', level: 2 },
81
+ {
82
+ type: 'paragraph',
83
+ html: 'Jello shot bukan sekadar gelatin beraroma dengan alkohol di dalamnya — ini adalah <strong>suspensi koloid yang halus</strong> di mana polimer protein, air, dan etanol bersaing untuk ikatan hidrogen. Salah rasio dan Anda berakhir dengan genangan cairan manis atau cakram kenyal yang memantul dari meja. Benar rasionya dan Anda memiliki shot yang bergoyang sempurna yang meluncur keluar dari cangkir dalam satu gerakan bersih.',
84
+ },
85
+ {
86
+ type: 'stats',
87
+ items: [
88
+ { label: 'Ringan (Mudah)', value: '~30% minuman keras', icon: 'mdi:emoticon-happy-outline' },
89
+ { label: 'Standar', value: '~45% minuman keras', icon: 'mdi:flask-outline' },
90
+ { label: 'Maksimum', value: '~55% minuman keras', icon: 'mdi:fire' },
91
+ ],
92
+ columns: 3,
93
+ },
94
+ {
95
+ type: 'card',
96
+ title: 'Apa itu Kekuatan Bloom?',
97
+ icon: 'mdi:molecule',
98
+ html: 'Bloom mengukur kekuatan pembentukan gel suatu gelatin, biasanya berkisar dari 50 hingga 300 Bloom. Gelatin lembaran dari supermarket biasanya 150–200 Bloom. Bloom yang lebih tinggi berarti gel yang lebih keras dengan jumlah bubuk yang sama, yang berarti dapat mentoleransi sedikit lebih banyak alkohol sebelum gagal mengeras. Bungkus gelatin bubuk standar (7 g) dikalibrasi untuk sekitar 240 ml cairan.',
99
+ },
100
+ {
101
+ type: 'card',
102
+ title: 'Batas Etanol',
103
+ icon: 'mdi:alert-circle-outline',
104
+ html: 'Etanol bersaing dengan air untuk situs ikatan hidrogen pada rantai asam amino kolagen. Ketika etanol menempati terlalu banyak situs tersebut, protein tidak dapat terlipat ke dalam triple helix stabil yang memberi gelatin strukturnya. Batas praktisnya adalah sekitar <strong>1 bagian minuman keras 40% berbanding 1 bagian air</strong> — lebih dari itu, shot Anda tidak akan mengeras berapa pun lamanya Anda menunggu.',
105
+ },
106
+ {
107
+ type: 'tip',
108
+ title: 'Jangan pernah menambahkan alkohol ke gelatin mendidih',
109
+ html: 'Alkohol menguap dengan cepat di atas 78°C. Selalu biarkan gelatin yang sudah larut mendingin hingga di bawah 50°C sebelum menambahkan minuman keras. Satu langkah ini bertanggung jawab atas lebih banyak kegagalan jello shot daripada kesalahan lainnya.',
110
+ },
111
+ { type: 'title', text: 'Mengatasi Kegagalan Umum', level: 2 },
112
+ {
113
+ type: 'proscons',
114
+ title: 'Tanda dan Solusi',
115
+ items: [
116
+ { pro: 'Shot masih cair setelah 4 jam → Terlalu banyak alkohol atau rasio terlampaui. Kurangi volume minuman keras.', con: 'Shot tidak berasa alkohol → Minuman keras ditambahkan saat cairan masih terlalu panas. Biarkan dingin dulu.' },
117
+ { pro: 'Shot terlalu kenyal → Terlalu banyak gelatin. Kurangi setengah bungkus pada percobaan berikutnya.', con: 'Shot keruh → Gelembung udara terperangkap saat pengadukan. Aduk perlahan dan biarkan sebelum dituang.' },
118
+ { pro: 'Shot bertekstur berbutir → Gelatin tidak larut sepenuhnya. Aduk lebih lama dalam air panas.', con: 'Shot tidak mengeras setelah 8 jam → Batas etanol terlampaui. Gunakan lebih sedikit minuman keras atau ABV lebih rendah.' },
119
+ ],
120
+ },
121
+ {
122
+ type: 'summary',
123
+ title: 'Untuk siapa alat ini?',
124
+ items: [
125
+ 'Penyelenggara pesta: Hitung dengan tepat berapa bungkus dan berapa banyak minuman keras yang dibutuhkan sebelum membeli.',
126
+ 'Bartender: Skala hingga produksi batch besar dengan hasil yang konsisten setiap saat.',
127
+ 'Koki rumahan: Hindari kegagalan paling umum — shot yang encer, tekstur kenyal, atau nol rasa alkohol.',
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-shot';
6
+ const title = 'Laboratorio Jello Shot: Il calcolatore perfetto del rapporto tra alcol e gelatina';
7
+ const description = 'Calcola esattamente quanta acquavite e gelatina usare per jello shot che si solidificano davvero. Evita i fallimenti liquidi o gommosi con rapporti basati sulla scienza per qualsiasi gradazione alcolica.';
8
+
9
+ const ui: JelloShotLabUI = {
10
+ title: 'Laboratorio Jello Shot',
11
+ description: 'Ottieni il rapporto perfetto di gelatina, acqua e alcol affinché i tuoi shot si solidifichino ogni volta.',
12
+ liquorBaseLabel: 'Tipo di liquore',
13
+ liquorAbvLabel: 'Gradazione alcolica (%)',
14
+ gelatinLabel: 'Tipo di gelatina',
15
+ diluentLabel: 'Base acquosa',
16
+ calculateBtn: 'Calcola',
17
+ modePrecision: 'Modalità precisione',
18
+ modeIntensity: 'Intensità del shot',
19
+ modeIntensityLight: 'Leggero (Facile)',
20
+ modeIntensityBalanced: 'Standard',
21
+ modeIntensityLimit: 'Massimo (Forte)',
22
+ partyPlannerTitle: 'Pianificatore di festa',
23
+ partyPlannerGuestLabel: 'Ospiti',
24
+ partyPlannerShotsPerGuest: 'Shot per persona',
25
+ multiLayerTitle: 'Multi-strato',
26
+ howToTitle: 'Come prepararli',
27
+ proTipsTitle: 'Consigli pro',
28
+ resultsTitle: 'La tua ricetta',
29
+ totalVolumeLabel: 'Volume totale',
30
+ boilingWaterLabel: 'Acqua calda',
31
+ alcoholVolumeLabel: 'Liquore',
32
+ packetsNeededLabel: 'Bustine di gelatina',
33
+ chillingTimeLabel: 'Tempo di raffreddamento',
34
+ unitMm: 'ml',
35
+ unitOz: 'oz',
36
+ unitGrams: 'g',
37
+ unitPackets: 'bustine',
38
+ modeParty: 'Modalità festa',
39
+ modeRecipe: 'Modalità ricetta',
40
+ };
41
+
42
+ const faqTitle = 'Domande frequenti';
43
+
44
+ const faq: JelloShotLabLocaleContent['faq'] = [
45
+ {
46
+ question: 'Perché l\'alcol ad alta gradazione impedisce ai jello shot di solidificarsi?',
47
+ answer: 'L\'etanolo disturba i legami idrogeno che tengono insieme la struttura proteica a tripla elica della gelatina. Quando il liquore supera circa il 35% del volume totale, la matrice proteica non riesce a formare una rete stabile e il shot rimane liquido. Più alta è la gradazione alcolica del liquore, meno volume si può aggiungere prima di raggiungere questo limite.',
48
+ },
49
+ {
50
+ question: 'Qual è il rapporto massimo di alcol prima che i jello shot smettano di solidificarsi?',
51
+ answer: 'Il limite superiore sicuro è di circa il 30–35% del volume totale di liquido come liquore puro (a 40% vol). Con un alcol neutro al 96%, quel limite scende a circa il 15–18% del volume totale. Il nostro calcolatore tiene conto della gradazione alcolica del liquore in modo che non si superi mai la soglia di solidificazione.',
52
+ },
53
+ {
54
+ question: 'Il tipo di liquore utilizzato — vodka, rum o tequila — fa differenza?',
55
+ answer: 'Ciò che conta è la gradazione alcolica, non il tipo di liquore. Vodka al 40% e rum al 40% si comportano in modo identico nella matrice di gelatina. Tuttavia, i liquori con un contenuto di zucchero più elevato (come alcuni rum o liquori) possono migliorare leggermente la consistenza perché lo zucchero compete con l\'etanolo per i legami idrogeno nella rete di gelatina.',
56
+ },
57
+ {
58
+ question: 'Quanto durano i jello shot in frigorifero?',
59
+ answer: 'I jello shot preparati correttamente durano 3–5 giorni in frigorifero coperti con pellicola trasparente. L\'alto contenuto alcolico funge da conservante naturale. Evitare di lasciarli a temperatura ambiente per più di 2 ore poiché la gelatina si ammorbidisce e i batteri possono moltiplicarsi.',
60
+ },
61
+ {
62
+ question: 'Posso rendere i miei jello shot più sodi o più morbidi?',
63
+ answer: 'Sì. Usa più gelatina (o mezza bustina in più) per shot più sodi che escono pulitamente dai bicchieri. Usa leggermente meno per una consistenza più morbida e tremolante. Non sostituire mai la gelatina con agar-agar se vuoi una consistenza che si scioglie in bocca — l\'agar si solidifica più duramente e si scioglie a una temperatura più elevata.',
64
+ },
65
+ {
66
+ question: 'Posso congelare i jello shot per accelerare il raffreddamento?',
67
+ answer: 'No. Il congelamento rompe la rete di gelatina, risultando in una consistenza acquosa e granulosa quando scongelata. Conservare sempre in frigorifero per un minimo di 4 ore. Per le feste, prepararli la sera prima — 8 ore o più garantiscono la migliore consistenza.',
68
+ },
69
+ ];
70
+
71
+ const howTo: JelloShotLabLocaleContent['howTo'] = [
72
+ { name: 'Scegli il tuo liquore', text: 'Inserisci la gradazione alcolica del tuo liquore e scegli l\'intensità del shot desiderata. Il calcolatore ti mostrerà la quantità massima di liquore che la tua gelatina può contenere.' },
73
+ { name: 'Prepara la gelatina', text: 'Versa la quantità calcolata di acqua bollente in una ciotola. Aggiungi la gelatina in polvere e mescola vigorosamente per 2 minuti fino a completo scioglimento. Non aggiungere ancora alcol.' },
74
+ { name: 'Aggiungi il liquore', text: 'Lascia raffreddare il composto di gelatina per 5–10 minuti fino a quando è caldo ma non bollente (sotto i 50 °C). Aggiungi il tuo liquore e mescola delicatamente per evitare bolle.' },
75
+ { name: 'Versa e refrigera', text: 'Versa in bicchieri di plastica, stampi in silicone o piccoli bicchierini da shot. Refrigera per almeno 4 ore — una notte intera è l\'ideale. Non congelare.' },
76
+ ];
77
+
78
+
79
+ const seo: JelloShotLabLocaleContent['seo'] = [
80
+ { type: 'title', text: 'La chimica dietro un jello shot perfetto', level: 2 },
81
+ {
82
+ type: 'paragraph',
83
+ html: 'Un jello shot non è solo gelatina aromatizzata con alcol aggiunto — è una <strong>delicata sospensione colloidale</strong> in cui polimeri proteici, acqua ed etanolo competono per i legami idrogeno. Sbagliare il rapporto significa ritrovarsi con una pozza di liquido dolce o un disco gommoso che rimbalza sul tavolo. Azzeccarlo significa ottenere un shot perfettamente tremolante che scivola fuori dal bicchiere in un unico movimento pulito.',
84
+ },
85
+ {
86
+ type: 'stats',
87
+ items: [
88
+ { label: 'Leggero (Facile)', value: '~30% liquore', icon: 'mdi:emoticon-happy-outline' },
89
+ { label: 'Standard', value: '~45% liquore', icon: 'mdi:flask-outline' },
90
+ { label: 'Massimo', value: '~55% liquore', icon: 'mdi:fire' },
91
+ ],
92
+ columns: 3,
93
+ },
94
+ {
95
+ type: 'card',
96
+ title: 'Cos\'è la forza Bloom?',
97
+ icon: 'mdi:molecule',
98
+ html: 'Il Bloom misura la forza gelificante di una gelatina, tipicamente tra 50 e 300 Bloom. La gelatina in fogli del supermercato è solitamente 150–200 Bloom. Un Bloom più alto significa un gel più sodo con la stessa quantità di polvere, il che significa che può tollerare leggermente più alcol prima di non solidificarsi. Le bustine standard di gelatina in polvere (7 g) sono calibrate per circa 240 ml di liquido.',
99
+ },
100
+ {
101
+ type: 'card',
102
+ title: 'Il limite dell\'etanolo',
103
+ icon: 'mdi:alert-circle-outline',
104
+ html: 'L\'etanolo compete con l\'acqua per i siti di legame idrogeno sulle catene di amminoacidi del collagene. Quando l\'etanolo occupa troppi di quei siti, la proteina non riesce a ripiegarsi nella stabile tripla elica che dà struttura alla gelatina. Il limite pratico è di circa <strong>1 parte di liquore al 40% per 1 parte di acqua</strong> — oltre questo, il tuo shot non si solidificherà, indipendentemente dal tempo di attesa.',
105
+ },
106
+ {
107
+ type: 'tip',
108
+ title: 'Non aggiungere mai alcol alla gelatina bollente',
109
+ html: 'L\'alcol evapora rapidamente sopra i 78 °C. Lascia sempre raffreddare la gelatina disciolta a meno di 50 °C prima di aggiungere il liquore. Questo singolo passaggio è responsabile di più jello shot falliti di qualsiasi altro errore.',
110
+ },
111
+ { type: 'title', text: 'Risolvere i problemi più comuni', level: 2 },
112
+ {
113
+ type: 'proscons',
114
+ title: 'Sintomi e soluzioni',
115
+ items: [
116
+ { pro: 'Shot liquido dopo 4 ore → Troppo alcol o rapporto superato. Ridurre il volume di liquore.', con: 'Shot senza sapore di alcol → Liquore aggiunto a liquido ancora troppo caldo. Lasciare raffreddare prima.' },
117
+ { pro: 'Shot troppo gommoso → Troppa gelatina. Ridurre di mezza bustina la prossima volta.', con: 'Shot torbido → Bolle intrappolate durante la miscelazione. Mescolare delicatamente e lasciare riposare prima di versare.' },
118
+ { pro: 'Shot con consistenza granulosa → Gelatina non completamente disciolta. Mescolare più a lungo in acqua calda.', con: 'Shot non solidifica dopo 8 ore → Limite di etanolo superato. Usare meno liquore o con ABV inferiore.' },
119
+ ],
120
+ },
121
+ {
122
+ type: 'summary',
123
+ title: 'A chi è destinato questo strumento?',
124
+ items: [
125
+ 'Organizzatori di feste: Calcola esattamente quante bustine e quanto liquore ti servono prima di acquistare.',
126
+ 'Barman: Scala a produzioni di grandi quantità con risultati costanti ogni volta.',
127
+ 'Cuochi casalinghi: Evita i fallimenti più comuni — shot liquidi, consistenza gommosa o zero sapore di alcol.',
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 = 'jello-shot-lab';
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: '1人あたりのショット数',
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℃以下)にします。スピリッツを加え、泡が立たないようにやさしくかき混ぜます。' },
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ブルームです。ブルームが高いほど同量の粉で固いゲルが作れるため、固まらなくなる前にわずかに多くのアルコールに対応できます。標準的なゼラチンパウダーのパケット(7g)は約240mlの液体向けに調整されています。',
99
+ },
100
+ {
101
+ type: 'card',
102
+ title: 'エタノールの限界',
103
+ icon: 'mdi:alert-circle-outline',
104
+ html: 'エタノールはコラーゲンのアミノ酸鎖上の水素結合サイトを巡って水と競い合います。エタノールがそれらのサイトの多くを占拠すると、タンパク質はゼラチンに構造を与える安定した三重らせんに折りたたまれなくなります。実際の限界はおよそ<strong>40%スピリッツ1部に対して水1部</strong>で、それを超えると待ち時間に関係なくショットは固まりません。',
105
+ },
106
+ {
107
+ type: 'tip',
108
+ title: '沸騰したゼラチンにアルコールを加えないでください',
109
+ html: 'アルコールは78℃を超えると急速に蒸発します。スピリッツを加える前に、溶かしたゼラチンが50℃以下に冷めるのを常に待ちましょう。このたった一つのステップが、他のどんなミスよりも多くのジェロショットの失敗の原因となっています。',
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 };
@@ -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-lab';
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: '1인당 샷 수',
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 블룸입니다. 블룸이 높을수록 같은 양의 파우더로 더 단단한 겔이 만들어지므로, 굳지 않기 전에 약간 더 많은 알코올을 견딜 수 있습니다. 표준 젤라틴 파우더 봉지(7g)는 약 240ml의 액체에 맞게 조정되어 있습니다.',
99
+ },
100
+ {
101
+ type: 'card',
102
+ title: '에탄올의 한계',
103
+ icon: 'mdi:alert-circle-outline',
104
+ html: '에탄올은 콜라겐의 아미노산 사슬에 있는 수소 결합 부위를 두고 물과 경쟁합니다. 에탄올이 그 부위를 너무 많이 차지하면 단백질이 젤라틴에 구조를 주는 안정적인 삼중 나선으로 접힐 수 없습니다. 실질적인 한계는 대략 <strong>40% 술 1부에 물 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시간 후에도 샷이 굳지 않음 → 에탄올 한계 초과. 술 양을 줄이거나 도수가 낮은 술 사용.' },
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 };