@jjlmoya/utils-cooking 1.28.0 → 1.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/category/index.ts +2 -0
- package/src/entries.ts +3 -1
- package/src/index.ts +1 -0
- package/src/tests/i18n-titles.test.ts +3 -2
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/spherification-bath-calculator.test.ts +57 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/spherification-bath-calculator/bibliography.astro +6 -0
- package/src/tool/spherification-bath-calculator/bibliography.ts +10 -0
- package/src/tool/spherification-bath-calculator/component.astro +213 -0
- package/src/tool/spherification-bath-calculator/components/PrecisionControls.astro +85 -0
- package/src/tool/spherification-bath-calculator/components/RecipeSummary.astro +60 -0
- package/src/tool/spherification-bath-calculator/components/SpherificationReactor.astro +73 -0
- package/src/tool/spherification-bath-calculator/entry.ts +26 -0
- package/src/tool/spherification-bath-calculator/i18n/de.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/en.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/es.ts +179 -0
- package/src/tool/spherification-bath-calculator/i18n/fr.ts +179 -0
- package/src/tool/spherification-bath-calculator/i18n/id.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/it.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/ja.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/ko.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/nl.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/pl.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/pt.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/ru.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/sv.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/tr.ts +180 -0
- package/src/tool/spherification-bath-calculator/i18n/zh.ts +180 -0
- package/src/tool/spherification-bath-calculator/index.ts +11 -0
- package/src/tool/spherification-bath-calculator/logic.ts +54 -0
- package/src/tool/spherification-bath-calculator/seo.astro +15 -0
- package/src/tool/spherification-bath-calculator/spherification-bath-calculator.css +568 -0
- package/src/tools.ts +2 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
|
|
4
|
+
const title = "Sferifieringsbad Kalkylator Precision Molekylar Gastronomi Guide";
|
|
5
|
+
const description = "Berakna exakta forhallanden av natriumalginat och kalciumlaktat for direkt och omvand sferifiering. Korrigera viskositet och surhet med xantangummi och citrat.";
|
|
6
|
+
|
|
7
|
+
const faq = [
|
|
8
|
+
{
|
|
9
|
+
question: "Vad ar skillnaden mellan direkt och omvand sferifiering?",
|
|
10
|
+
answer: "Vid direkt sferifiering tillsatts natriumalginat till den aromatiserade basen och droppas i ett kalciumbad, vilket skapar ett tunt membran som fortsatter att gelas inat. Vid omvand sferifiering tillsatts kalcium till basen och droppas i ett alginatbad, vilket skapar ett membran som vaxer utat och stoppar gelprocessen nar du skoljer av det."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
question: "Varför blir mina sfärer platta eller sjunker de inte?",
|
|
14
|
+
answer: "Om den aromatiserade basvatskan ar mindre tat an natriumalginatbadet flyter den istallet for att bilda en sfar. Genom att tillsatta en liten mangd xantangummi okar du basens viskositet, vilket gor att den sjunker och bildar perfekta sfärer."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: "Vad gor natriumcitrat vid sferifiering?",
|
|
18
|
+
answer: "Natriumcitrat ar ett sekvestreringsmedel som binder kalciumjoner och hojer pH-vardet. Om en basvatska ar mycket sur (pH under 4,5) eller innehaller kalcium, kommer natriumalginatet att gelas i fortid. Att tillsatta citrat neutraliserar denna surhet."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
question: "Kan jag anvanda vilket vatten som helst till kalciumbadet?",
|
|
22
|
+
answer: "Kranvatten med hog mineralhalt kan orsaka att natriumalginat klumpar sig eller gelas i fortid. Anvand helst destillerat vatten eller kalciumfattigt flaskvatten."
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const howTo = [
|
|
27
|
+
{
|
|
28
|
+
name: "Välj sferifieringsmetod",
|
|
29
|
+
text: "Välj Direkt for tunn, omedelbar gelning, eller Omvand for vatskor som innehaller alkohol, mejeriprodukter eller kalcium."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "Ange vatskemangder",
|
|
33
|
+
text: "Ange vikten av din aromatiserade basvatska och vattenbadet i dina foredragna enheter."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "Lagg till textur- och surhetskorrigeringar",
|
|
37
|
+
text: "Aktivera Xantangummi om din basvatska ar tunn, eller Natriumcitrat om den ar mycket sur."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "Mat upp ingredienser",
|
|
41
|
+
text: "Vag upp de exakta mangderna natriumalginat, kalciumlaktat eller klorid, och korrigeringsmedel som visas i sammanfattningen."
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
const faqSchema = {
|
|
46
|
+
'@context': 'https://schema.org' as const,
|
|
47
|
+
'@type': 'FAQPage' as const,
|
|
48
|
+
mainEntity: faq.map((item) => ({
|
|
49
|
+
'@type': 'Question' as const,
|
|
50
|
+
name: item.question,
|
|
51
|
+
acceptedAnswer: { '@type': 'Answer' as const, text: item.answer },
|
|
52
|
+
})),
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const howToSchema = {
|
|
56
|
+
'@context': 'https://schema.org' as const,
|
|
57
|
+
'@type': 'HowTo' as const,
|
|
58
|
+
name: title,
|
|
59
|
+
description,
|
|
60
|
+
step: howTo.map((step) => ({
|
|
61
|
+
'@type': 'HowToStep' as const,
|
|
62
|
+
name: step.name,
|
|
63
|
+
text: step.text,
|
|
64
|
+
})),
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const appSchema = {
|
|
68
|
+
'@context': 'https://schema.org' as const,
|
|
69
|
+
'@type': 'SoftwareApplication' as const,
|
|
70
|
+
name: title,
|
|
71
|
+
description,
|
|
72
|
+
applicationCategory: 'UtilitiesApplication',
|
|
73
|
+
operatingSystem: 'Web',
|
|
74
|
+
offers: { '@type': 'Offer' as const, price: '0', priceCurrency: 'EUR' },
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export const content: ToolLocaleContent = {
|
|
78
|
+
slug: 'sferifieringsbad-kalkylator',
|
|
79
|
+
title: 'Sferifieringsbad Kalkylator',
|
|
80
|
+
description: 'Berakna exakta forhallanden av natriumalginat och kalciumlaktat for direkt och omvand sferifiering. Korrigera viskositet och surhet med xantangummi och citrat.',
|
|
81
|
+
faqTitle: 'Vanliga Fragor',
|
|
82
|
+
ui: {
|
|
83
|
+
title: "Sferifieringsbad Kalkylator",
|
|
84
|
+
subtitle: "Precisionskontroll av forhallanden for direkt och omvand sferifiering",
|
|
85
|
+
unitLabel: "Matsystem",
|
|
86
|
+
metricUnit: "Metriskt (g / gram)",
|
|
87
|
+
imperialUnit: "Imperialiskt (oz / uns)",
|
|
88
|
+
methodLabel: "Sferifieringsmetod",
|
|
89
|
+
directMethod: "Direkt Sferifiering",
|
|
90
|
+
reverseMethod: "Omvand Sferifiering",
|
|
91
|
+
baseWeightLabel: "Basvatskans Vikt",
|
|
92
|
+
bathWeightLabel: "Badvattnets Vikt",
|
|
93
|
+
xanthanLabel: "Aktivera Xantangummi (Viskositetskorrigering)",
|
|
94
|
+
citrateLabel: "Aktivera Natriumcitrat (Surhet / pH Sekvestreringsmedel)",
|
|
95
|
+
recipeTitle: "Beraknad Receptsammandragning",
|
|
96
|
+
baseGellingAgent: "Gelningsmedel for Bas",
|
|
97
|
+
bathGellingAgent: "Gelningsmedel for Bad",
|
|
98
|
+
xanthanGum: "Xantangummi (Förtjockningsmedel)",
|
|
99
|
+
sodiumCitrate: "Natriumcitrat (Buffert)",
|
|
100
|
+
warningLabel: "Loslighetsvarning",
|
|
101
|
+
warningDesc: "Den erforderliga vikten av medlet ar nara eller overstiger loslighetsgransen for denna vatskevolym. Upplosning kan ta langre tid eller krava forsiktig uppvärmning.",
|
|
102
|
+
directDesc: "Idealisk for latta vatskor med lag kalciumhalt. Skapar delikata sfärer med tunn hinna som maste serveras omedelbart.",
|
|
103
|
+
reverseDesc: "Idealisk for mejeriprodukter, alkohol, kalciumrika eller sura vatskor. Skapar stabila sfärer som inte fortsatter att gelas efter skoljning.",
|
|
104
|
+
},
|
|
105
|
+
faq,
|
|
106
|
+
howTo,
|
|
107
|
+
seo: [
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Vetenskapen bakom Molekylar Sferifiering och Hydrokolloidgelning',
|
|
111
|
+
level: 2,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'Sferifiering ar en revolutionerande kulinarisk teknik som inkapslar en flytande karne i ett tunt, gelat membran. Ursprungligen utvecklad inom industriell forpackning pa 1940-talet, anpassades den for det moderna köket i borjan av 2000-talet. Den underliggande kemin bygger pa vaxelverkan mellan hydrokolloider, specifikt tvarbindningen av natriumalginatpolymerer nar de exponeras for divalenta kalciumkatjoner.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Den Molekylara Kemin: Natriumalginat och Kalciumjoner',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Natriumalginat ar en polysackarid utvunnen ur bruna alger, bestaende av linjara kedjor av beta-D-mannuronsyra (M-block) och alfa-L-guluronsyra (G-block). I sin natriumsaltform ar den fullt loslig i vatten och bildar en viskos losning. Nar kalciumjoner (som kalciumklorid eller kalciumlaktatglukonat) tillfors, ersatter de divalenta kalciumjonerna (Ca2+) de monovalenta natriumjonerna (Na+). Eftersom kalcium har tva positiva laddningar binder det till tva G-block pa angransande polymerkedjor och bryggar samman dem. Denna process, vetenskapligt beskriven som <strong>aggkartongsmodellen</strong> for gelning, forbinder de oberoende polysackaridkedjorna till ett stelt, tredimensionellt hydrogelnatverk som fangar vatten och smakmolekyler.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Direkt kontra Omvand Sferifieringsmekanismer',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'De tva huvudmetoderna for sferifiering skiljer sig at i var gelmedlet och kalciumtillsatserna placeras, vilket leder till olika mekaniska egenskaper:',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'list',
|
|
137
|
+
items: [
|
|
138
|
+
'<strong>Direkt Sferifiering:</strong> Natriumalginat los i den aromatiserade basvatskan, som sedan droppas i ett kalciumbad (vanligtvis 1,0% kalciumklorid). Gelningen borjar omedelbart vid gransytan. Eftersom kalciumjoner ar sma och rorliga, vandrar de kontinuerligt fran badet in i sfarrens karne, vilket far gelmembranet att vaxa inat. Om sfarren inte skoljs av och serveras omedelbart, kommer den sa smaningom att gelas helt igenom och forvandlas till en fast, gummiartad pärla.',
|
|
139
|
+
'<strong>Omvand Sferifiering:</strong> Kalciumlaktatglukonat (2,0%) los i den aromatiserade basvatskan, som sedan droppas i ett natriumalginatbad (0,5%). Eftersom alginatmolekyler ar stora och langsamma, kan de inte enkelt korsa den nybildade gelbarriaren. I stallet vandrar kalciumjoner utat i badet och later membranet vaxa utat. Detta stoppar gelningen omedelbart nar sfarren tas ur badet och skoljs i klart vatten, vilket bevarar en helt flytande karne pa obestamd tid.'
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Overvinna Surhets- och pH Barriarer med Natriumcitrat',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Natriumalginat ar mycket känsligt for syra. Nar pH-vardet i en aromatiserad basvatska sjunker under 4,5 kan alginatmolekylerna inte hydratiseras ordentligt. I stallet for att losas upp faller alginatkedjorna ut som oloslig alginsyra och bildar tradliknande klumpar. For att losa detta anvander kockar <strong>natriumcitrat</strong> som buffertmedel. Natriumcitrat neutraliserar vatejonerna och hojer pH-vardet i sura ingredienser som passionsfrukt eller limejuice over den kritiska troskeln pa 4,5, vilket gor att alginatet kan hydratiseras fullstandigt och bilda rena, sfariska former.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'title',
|
|
153
|
+
text: 'Justera Vatskedensitet och Viskositet med Xantangummi',
|
|
154
|
+
level: 3,
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: 'For att bilda en sfar maste droppen av aromatiserad basvatska vara helt nedsankt i gelningsbadet. Om den aromatiserade basvatskan ar mindre tat an badet (som en latt alkohol eller vattenbaserad juice i ett tjockt natriumalginatbad under omvand sferifiering) kommer den att flyta pa ytan och bli tillplattad. Genom att tillsatta en ytterst liten mangd <strong>xantangummi</strong> (vanligtvis 0,1% till 0,2%) okar basvatskans viskositet. Denna extra kropp ger droppen den rorelseenergi som behovs for att sjunka i badet, sa att ytspanningen kan forma droppen till en perfekt sfar.',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'table',
|
|
162
|
+
headers: ['Sferifieringsmetod', 'Ideala Ingredienser', 'Erforderliga Tillsatser', 'Forvaringsegenskaper', 'Gelns Tillvaxtriktning'],
|
|
163
|
+
rows: [
|
|
164
|
+
['Direkt Metod', 'Kalciumfattiga fruktjuicer, klara buljonger, sota siraper', '0,5% Natriumalginat i basen, 1,0% Kalciumklorid i badet', 'Maste serveras omedelbart, gelas igenom med tiden', 'Inat (mot centrum)'],
|
|
165
|
+
['Omvand Metod', 'Mejeriprodukter, alkohol, kalciumrika eller mycket sura vatskor', '2,0% Kalciumlaktat i basen, 0,5% Natriumalginat i badet', 'Mycket stabil, kan forvaras i olja eller vatten i timmar', 'Utat (fran centrum)'],
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'title',
|
|
170
|
+
text: 'Skoljning och Sista Konserveringssteg',
|
|
171
|
+
level: 3,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'paragraph',
|
|
175
|
+
html: 'Skolja alltid de fardiga sfarrena i ett bad med rent, kallt vatten omedelbart efter att du tagit upp dem ur gelningsbadet. Detta tvattar bort eventuellt kvarvarande kalcium eller alginat pa utsidan, stoppar den kemiska reaktionen och forhindrar bismaker (sarskilt den nagot bittra smaken av kalciumklorid). Vid forvaring, sank ned sfarrena i en vatska med motsvarande den (som den aromatiserade basvatskan utan tillsatser, eller en latt sockersirap) for att forhindra att vatten ror sig over membranet via osmos, vilket annars skulle kunna fa sfarrena att skrumpna eller spricka.',
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
bibliography,
|
|
179
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
180
|
+
};
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
|
|
4
|
+
const title = "Küreleştirme Banyo Hesaplayıcı Hassas Moleküler Gastronomi Rehberi";
|
|
5
|
+
const description = "Doğrudan ve ters küreleştirme için sodyum aljinat ve kalsiyum laktatın tam oranlarını hesaplayın. Ksantan ve sitrat ile viskozite ve asitliği düzeltin.";
|
|
6
|
+
|
|
7
|
+
const faq = [
|
|
8
|
+
{
|
|
9
|
+
question: "Doğrudan ve ters küreleştirme arasındaki fark nedir?",
|
|
10
|
+
answer: "Doğrudan küreleştirme, sodyum aljinatı aromalı tabana ekler ve kalsiyum banyosuna damlatır, içe doğru jelleşmeye devam eden ince bir zar oluşturur. Ters küreleştirme, tabana kalsiyum ekler ve aljinat banyosuna damlatır, dışa doğru büyüyen bir zar oluşturur ve durulandığında jelleşme sürecini durdurur."
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
question: "Kürelerim neden düz çıkıyor veya batmıyor?",
|
|
14
|
+
answer: "Aromalı taban sıvısı, sodyum aljinat banyosundan daha az yoğunsa, küre oluşturmak yerine yüzeyde yüzer. Az miktarda ksantan sakızı eklemek taban viskozitesini artırarak batmasını ve mükemmel küreler oluşturmasını sağlar."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: "Küreleştirmede sodyum sitrat ne işe yarar?",
|
|
18
|
+
answer: "Sodyum sitrat, kalsiyum iyonlarını bağlayan ve pH'ı yükselten bir sekestrandır. Taban sıvısı yüksek asidikse (pH 4.5'in altında) veya kalsiyum içeriyorsa, sodyum aljinat erken jelleşir. Sitrat eklemek bu asitliği nötralize eder."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
question: "Kalsiyum banyosu için herhangi bir su kullanabilir miyim?",
|
|
22
|
+
answer: "Yüksek mineral içeriğine sahip musluk suyu, sodyum aljinatın topaklanmasına veya erken jelleşmesine neden olabilir. Damıtılmış veya düşük kalsiyumlu şişe suyu kullanmak en iyisidir."
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const howTo = [
|
|
27
|
+
{
|
|
28
|
+
name: "Küreleştirme yöntemini seçin",
|
|
29
|
+
text: "İnce ve anında jelleşme için Doğrudan'ı veya alkol, süt ürünleri ya da kalsiyum içeren sıvılar için Ters'i seçin."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "Sıvı ağırlıklarını girin",
|
|
33
|
+
text: "Aromalı taban sıvınızın ve su banyosunun ağırlığını tercih ettiğiniz birimlerde girin."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "Doku ve asitlik düzeltmeleri ekleyin",
|
|
37
|
+
text: "Taban sıvınız çok inceyse Ksantan Sakızı'nı veya yüksek asidikse Sodyum Sitrat'ı etkinleştirin."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "Malzemeleri ölçün",
|
|
41
|
+
text: "Özet ekranında gösterilen tam miktarlarda sodyum aljinat, kalsiyum laktat veya klorür ve düzeltme ajanlarını tartın."
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
const faqSchema = {
|
|
46
|
+
'@context': 'https://schema.org' as const,
|
|
47
|
+
'@type': 'FAQPage' as const,
|
|
48
|
+
mainEntity: faq.map((item) => ({
|
|
49
|
+
'@type': 'Question' as const,
|
|
50
|
+
name: item.question,
|
|
51
|
+
acceptedAnswer: { '@type': 'Answer' as const, text: item.answer },
|
|
52
|
+
})),
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const howToSchema = {
|
|
56
|
+
'@context': 'https://schema.org' as const,
|
|
57
|
+
'@type': 'HowTo' as const,
|
|
58
|
+
name: title,
|
|
59
|
+
description,
|
|
60
|
+
step: howTo.map((step) => ({
|
|
61
|
+
'@type': 'HowToStep' as const,
|
|
62
|
+
name: step.name,
|
|
63
|
+
text: step.text,
|
|
64
|
+
})),
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const appSchema = {
|
|
68
|
+
'@context': 'https://schema.org' as const,
|
|
69
|
+
'@type': 'SoftwareApplication' as const,
|
|
70
|
+
name: title,
|
|
71
|
+
description,
|
|
72
|
+
applicationCategory: 'UtilitiesApplication',
|
|
73
|
+
operatingSystem: 'Web',
|
|
74
|
+
offers: { '@type': 'Offer' as const, price: '0', priceCurrency: 'EUR' },
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export const content: ToolLocaleContent = {
|
|
78
|
+
slug: 'kurelestirme-banyo-hesaplayici',
|
|
79
|
+
title: 'Küreleştirme Banyo Hesaplayıcı',
|
|
80
|
+
description: 'Doğrudan ve ters küreleştirme için sodyum aljinat ve kalsiyum laktatın tam oranlarını hesaplayın. Ksantan ve sitrat ile viskozite ve asitliği düzeltin.',
|
|
81
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
82
|
+
ui: {
|
|
83
|
+
title: "Küreleştirme Banyo Hesaplayıcı",
|
|
84
|
+
subtitle: "Doğrudan ve ters küreleştirme için hassas oran kontrolü",
|
|
85
|
+
unitLabel: "Ölçüm Sistemi",
|
|
86
|
+
metricUnit: "Metrik (g / gram)",
|
|
87
|
+
imperialUnit: "Imperial (oz / ons)",
|
|
88
|
+
methodLabel: "Küreleştirme Yöntemi",
|
|
89
|
+
directMethod: "Doğrudan Küreleştirme",
|
|
90
|
+
reverseMethod: "Ters Küreleştirme",
|
|
91
|
+
baseWeightLabel: "Taban Sıvı Ağırlığı",
|
|
92
|
+
bathWeightLabel: "Banyo Su Ağırlığı",
|
|
93
|
+
xanthanLabel: "Ksantan Sakızını Etkinleştir (Viskozite Düzeltmesi)",
|
|
94
|
+
citrateLabel: "Sodyum Sitratı Etkinleştir (Asitlik / pH Sekestrantı)",
|
|
95
|
+
recipeTitle: "Hesaplanan Tarif Özeti",
|
|
96
|
+
baseGellingAgent: "Taban Jelleştirme Ajanı",
|
|
97
|
+
bathGellingAgent: "Banyo Jelleştirme Ajanı",
|
|
98
|
+
xanthanGum: "Ksantan Sakızı (Koyulaştırıcı)",
|
|
99
|
+
sodiumCitrate: "Sodyum Sitrat (Tampon)",
|
|
100
|
+
warningLabel: "Çözünürlük Uyarısı",
|
|
101
|
+
warningDesc: "Gerekli ajan ağırlığı, bu sıvı hacmi için çözünürlük sınırına yakın veya üzerindedir. Çözünme daha uzun sürebilir veya hafif ısıtma gerektirebilir.",
|
|
102
|
+
directDesc: "Düşük kalsiyumlu hafif sıvılar için idealdir. Hemen servis edilmesi gereken hassas, ince kabuklu küreler oluşturur.",
|
|
103
|
+
reverseDesc: "Süt ürünleri, alkol, kalsiyum açısından zengin veya asidik sıvılar için idealdir. Durulamadan sonra jelleşmeye devam etmeyen stabil küreler oluşturur.",
|
|
104
|
+
},
|
|
105
|
+
faq,
|
|
106
|
+
howTo,
|
|
107
|
+
seo: [
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: 'Moleküler Küreleştirme ve Hidrokolloid Jelleşme Bilimi',
|
|
111
|
+
level: 2,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: 'Küreleştirme, sıvı bir çekirdeği ince bir jel zarın içine hapseden devrim niteliğinde bir mutfak tekniğidir. 1940\'larda endüstriyel paketleme sektöründe ortaya çıkmış, 2000\'lerin başında modernist mutfak için uyarlanmıştır. Temel kimya, hidrokolloidlerin etkileşimlerine, özellikle de sodyum aljinat polimerlerinin iki değerlikli kalsiyum katyonlarına maruz kaldığında çapraz bağlanmasına dayanır.',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Moleküler Kimya: Sodyum Aljinat ve Kalsiyum İyonları',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: 'Sodyum aljinat, beta-D-mannuronik asit (M blokları) ve alfa-L-guluronik asit (G blokları) doğrusal zincirlerinden oluşan, kahverengi deniz yosunlarından ekstrakte edilen bir polisakkarittir. Sodyum tuzu formunda suda tamamen çözünür ve viskoz bir çözelti oluşturur. Kalsiyum iyonları (kalsiyum klorür veya kalsiyum laktat glukonat gibi) eklendiğinde, iki değerlikli kalsiyum iyonları (Ca2+), tek değerlikli sodyum iyonlarının (Na+) yerini alır. Kalsiyumun iki pozitif yükü olduğu için, bitişik polimer zincirlerindeki iki G bloğuna bağlanarak onları birbirine köprüler. Bilimsel olarak <strong>yumurta kutusu modeli</strong> olarak tanımlanan bu jelleşme süreci, bağımsız polisakkarit zincirlerini, su ve aroma moleküllerini hapseden sert, üç boyutlu bir hidrojel ağına dönüştürür.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Doğrudan ve Ters Küreleştirme Mekanizmaları',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: 'İki ana küreleştirme yöntemi, jelleştirme ajanının ve kalsiyum tuzlarının nereye yerleştirildiği konusunda farklılık gösterir ve bu da farklı mekanik özelliklere yol açar:',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'list',
|
|
137
|
+
items: [
|
|
138
|
+
'<strong>Doğrudan Küreleştirme:</strong> Sodyum aljinat aromalı taban sıvısında çözülür ve ardından bir kalsiyum banyosuna (genellikle %1.0 kalsiyum klorür) damlatılır. Jelleşme sınırda anında başlar. Kalsiyum iyonları küçük ve hareketli olduğu için banyodan kürenin çekirdeğine sürekli göç eder ve jel zarın içe doğru büyümesine neden olur. Hemen durulanıp servis edilmezse, küre zamanla tamamen jelleşerek katı, lastiksi bir boncuğa dönüşür.',
|
|
139
|
+
'<strong>Ters Küreleştirme:</strong> Kalsiyum laktat glukonat (%2.0) aromalı taban sıvısında çözülür ve ardından bir sodyum aljinat banyosuna (%0.5) damlatılır. Aljinat molekülleri büyük ve yavaş hareket ettiği için yeni oluşan jel bariyerini kolayca geçemez. Bunun yerine kalsiyum iyonları dışa doğru banyoya göç ederek zarı dışa doğru büyütür. Bu, küre çıkarılıp temiz suda durulanır durulanmaz jelleşmeyi durdurur ve tamamen sıvı bir çekirdeği süresiz olarak korur.'
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Sodyum Sitrat ile Asitlik ve pH Engellerini Aşmak',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: 'Sodyum aljinat aside karşı oldukça hassastır. Aromalı taban sıvısının pH\'ı 4.5\'in altına düştüğünde, aljinat molekülleri düzgün şekilde hidrate olamaz. Çözünmek yerine, aljinat zincirleri çözünmeyen aljinik asit olarak çökelir ve ipliksi topaklar oluşturur. Bunu çözmek için şefler <strong>sodyum sitratı</strong> tamponlayıcı ajan olarak kullanır. Sodyum sitrat hidrojen iyonlarını nötralize ederek çarkıfelek meyvesi veya limon suyu gibi asidik malzemelerin pH\'ını kritik 4.5 eşiğinin üzerine çıkarır ve aljinatın tamamen hidrate olmasını ve temiz, küresel şekiller oluşturmasını sağlar.',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'title',
|
|
153
|
+
text: 'Ksantan Sakızı ile Sıvı Yoğunluğu ve Viskozitesini Ayarlama',
|
|
154
|
+
level: 3,
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: 'Bir küre oluşturmak için aromalı taban sıvısı damlasının jelleşme banyosuna tamamen dalması gerekir. Aromalı taban sıvısı banyodan daha az yoğunsa (ters küreleştirme sırasında kalın bir sodyum aljinat banyosundaki hafif bir alkol veya su bazlı meyve suyu gibi), yüzeyde yüzer ve düzleşir. Az miktarda <strong>ksantan sakızı</strong> (tipik olarak %0.1 ila %0.2) eklemek taban sıvısının viskozitesini artırır. Bu ekstra kıvam, damlanın banyoya batması için gereken momentumu sağlar ve yüzey geriliminin damlayı mükemmel bir küre haline getirmesine olanak tanır.',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'table',
|
|
162
|
+
headers: ['Küreleştirme Yöntemi', 'İdeal Malzemeler', 'Gerekli Katkı Maddeleri', 'Saklama Özellikleri', 'Jel Büyüme Yönü'],
|
|
163
|
+
rows: [
|
|
164
|
+
['Doğrudan Yöntem', 'Düşük kalsiyumlu meyve suları, berrak et suları, tatlı şuruplar', 'Tabanda %0.5 Sodyum Aljinat, banyoda %1.0 Kalsiyum Klorür', 'Hemen servis edilmeli, zamanla katılaşır', 'İçe doğru (merkeze)'],
|
|
165
|
+
['Ters Yöntem', 'Süt ürünleri, alkol, yüksek kalsiyumlu veya asidik sıvılar', 'Tabanda %2.0 Kalsiyum Laktat, banyoda %0.5 Sodyum Aljinat', 'Oldukça stabil, saatlerce yağda veya suda saklanabilir', 'Dışa doğru (merkezden uzağa)'],
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'title',
|
|
170
|
+
text: 'Durulama ve Son Koruma Adımları',
|
|
171
|
+
level: 3,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'paragraph',
|
|
175
|
+
html: 'Bitmiş küreleri jelleşme banyosundan çıkardıktan hemen sonra temiz, soğuk su banyosunda durulayın. Bu, dışarıya yapışan kalıntı kalsiyum veya aljinatı temizleyerek kimyasal reaksiyonu durdurur ve kötü tatları (özellikle kalsiyum klorürün hafif acı tadını) önler. Saklamak için, küreleri eşleşen yoğunlukta bir sıvıya (katkı maddesi içermeyen aromalı taban sıvısı veya hafif bir şeker şurubu gibi) batırın. Bu, ozmoz yoluyla suyun zar boyunca hareket etmesini önleyerek kürelerin büzüşmesini veya patlamasını engeller.',
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
bibliography,
|
|
179
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
180
|
+
};
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
|
|
4
|
+
const title = "球化浴计算器 精准分子美食指南";
|
|
5
|
+
const description = "计算直接和反向球化过程中海藻酸钠和乳酸钙的精确比例。使用黄原胶和柠檬酸钠校正粘度和酸度。";
|
|
6
|
+
|
|
7
|
+
const faq = [
|
|
8
|
+
{
|
|
9
|
+
question: "直接球化和反向球化有什么区别?",
|
|
10
|
+
answer: "直接球化是将海藻酸钠加入调味基液中,滴入钙浴,形成一层薄膜并持续向内凝胶。反向球化是将钙加入基液中,滴入藻酸盐浴,形成向外生长的薄膜,冲洗时凝胶过程即停止。"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
question: "为什么我的球体变扁或无法下沉?",
|
|
14
|
+
answer: "如果调味基液密度低于海藻酸钠浴,它会浮在表面而无法形成球体。加入少量黄原胶可增加基液粘度,使其下沉并形成完美的球体。"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
question: "柠檬酸钠在球化中起什么作用?",
|
|
18
|
+
answer: "柠檬酸钠是一种螯合剂,可结合钙离子并提高pH值。如果基液呈强酸性(pH低于4.5)或含有钙,海藻酸钠会提前凝胶。加入柠檬酸可中和这种酸度。"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
question: "钙浴可以用任何水吗?",
|
|
22
|
+
answer: "矿物质含量高的自来水会导致海藻酸钠结块或提前凝胶。最好使用蒸馏水或低钙瓶装水。"
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
const howTo = [
|
|
27
|
+
{
|
|
28
|
+
name: "选择球化方法",
|
|
29
|
+
text: "选择「直接法」可获得薄而即时的凝胶效果,或选择「反向法」用于含酒精、乳制品或钙的液体。"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "输入液体重量",
|
|
33
|
+
text: "以首选单位输入调味基液和水浴的重量。"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "添加质地和酸度校正",
|
|
37
|
+
text: "如果基液过稀,启用黄原胶;如果基液呈强酸性,启用柠檬酸钠。"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "称量材料",
|
|
41
|
+
text: "按照摘要显示上显示的精确重量,称量海藻酸钠、乳酸钙或氯化钙以及校正剂。"
|
|
42
|
+
}
|
|
43
|
+
];
|
|
44
|
+
|
|
45
|
+
const faqSchema = {
|
|
46
|
+
'@context': 'https://schema.org' as const,
|
|
47
|
+
'@type': 'FAQPage' as const,
|
|
48
|
+
mainEntity: faq.map((item) => ({
|
|
49
|
+
'@type': 'Question' as const,
|
|
50
|
+
name: item.question,
|
|
51
|
+
acceptedAnswer: { '@type': 'Answer' as const, text: item.answer },
|
|
52
|
+
})),
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
const howToSchema = {
|
|
56
|
+
'@context': 'https://schema.org' as const,
|
|
57
|
+
'@type': 'HowTo' as const,
|
|
58
|
+
name: title,
|
|
59
|
+
description,
|
|
60
|
+
step: howTo.map((step) => ({
|
|
61
|
+
'@type': 'HowToStep' as const,
|
|
62
|
+
name: step.name,
|
|
63
|
+
text: step.text,
|
|
64
|
+
})),
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const appSchema = {
|
|
68
|
+
'@context': 'https://schema.org' as const,
|
|
69
|
+
'@type': 'SoftwareApplication' as const,
|
|
70
|
+
name: title,
|
|
71
|
+
description,
|
|
72
|
+
applicationCategory: 'UtilitiesApplication',
|
|
73
|
+
operatingSystem: 'Web',
|
|
74
|
+
offers: { '@type': 'Offer' as const, price: '0', priceCurrency: 'EUR' },
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export const content: ToolLocaleContent = {
|
|
78
|
+
slug: 'spherification-bath-calculator',
|
|
79
|
+
title: '球化浴计算器',
|
|
80
|
+
description: '计算直接和反向球化过程中海藻酸钠和乳酸钙的精确比例。使用黄原胶和柠檬酸钠校正粘度和酸度。',
|
|
81
|
+
faqTitle: '常见问题',
|
|
82
|
+
ui: {
|
|
83
|
+
title: "球化浴计算器",
|
|
84
|
+
subtitle: "直接和反向球化的精确比例控制",
|
|
85
|
+
unitLabel: "测量系统",
|
|
86
|
+
metricUnit: "公制 (g / 克)",
|
|
87
|
+
imperialUnit: "英制 (oz / 盎司)",
|
|
88
|
+
methodLabel: "球化方法",
|
|
89
|
+
directMethod: "直接球化",
|
|
90
|
+
reverseMethod: "反向球化",
|
|
91
|
+
baseWeightLabel: "基液重量",
|
|
92
|
+
bathWeightLabel: "浴水重量",
|
|
93
|
+
xanthanLabel: "启用黄原胶 (粘度校正)",
|
|
94
|
+
citrateLabel: "启用柠檬酸钠 (酸度 / pH螯合剂)",
|
|
95
|
+
recipeTitle: "计算结果摘要",
|
|
96
|
+
baseGellingAgent: "基液胶凝剂",
|
|
97
|
+
bathGellingAgent: "浴液胶凝剂",
|
|
98
|
+
xanthanGum: "黄原胶 (增稠剂)",
|
|
99
|
+
sodiumCitrate: "柠檬酸钠 (缓冲剂)",
|
|
100
|
+
warningLabel: "溶解度警告",
|
|
101
|
+
warningDesc: "所需试剂重量接近或超过该液体体积的溶解度极限。溶解可能需要更长时间或需要轻微加热。",
|
|
102
|
+
directDesc: "适用于低钙轻质液体。可制作出细腻薄皮的球体,需立即食用。",
|
|
103
|
+
reverseDesc: "适用于乳制品、酒精、高钙或酸性液体。可制作出稳定的球体,冲洗后不会继续凝胶。",
|
|
104
|
+
},
|
|
105
|
+
faq,
|
|
106
|
+
howTo,
|
|
107
|
+
seo: [
|
|
108
|
+
{
|
|
109
|
+
type: 'title',
|
|
110
|
+
text: '分子球化与水状胶体凝胶的科学',
|
|
111
|
+
level: 2,
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
type: 'paragraph',
|
|
115
|
+
html: '球化是一种革命性的烹饪技术,将液体核心封装在薄薄的凝胶膜内。它起源于1940年代的工业包装领域,在2000年代初期被引入现代料理。其基础化学依赖于水状胶体的相互作用,特别是海藻酸钠聚合物在接触二价钙离子时的交联反应。',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: '分子化学:海藻酸钠与钙离子',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: '海藻酸钠是一种从褐色海藻中提取的多糖,由β-D-甘露糖醛酸(M嵌段)和α-L-古罗糖醛酸(G嵌段)的线性链组成。在其钠盐形式下,它完全溶于水,形成粘稠溶液。当引入钙离子(如氯化钙或乳酸葡萄糖酸钙)时,二价钙离子(Ca2+)取代单价钠离子(Na+)。由于钙带有两个正电荷,它与相邻聚合物链上的两个G嵌段结合,将它们桥接在一起。这一在科学上被称为<strong>蛋盒模型</strong>的凝胶化过程,将独立的多糖链连接成一个刚性的三维水凝胶网络,从而锁住水和风味分子。',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: '直接球化与反向球化的机制对比',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'paragraph',
|
|
133
|
+
html: '两种主要的球化方法在胶凝剂和钙盐的放置位置上有所不同,从而导致不同的机械特性:',
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'list',
|
|
137
|
+
items: [
|
|
138
|
+
'<strong>直接球化:</strong>将海藻酸钠溶解在调味基液中,然后滴入钙浴(通常为1.0%氯化钙)。凝胶从边界立即开始。由于钙离子体积小且易于移动,它们会不断从浴液迁移到球体核心,导致凝胶膜向内生长。如果未立即冲洗和食用,球体最终会完全凝胶化,变成坚硬、有弹性的珠子。',
|
|
139
|
+
'<strong>反向球化:</strong>将乳酸葡萄糖酸钙(2.0%)溶解在调味基液中,然后滴入海藻酸钠浴(0.5%)。由于藻酸盐分子大且移动缓慢,它们很难穿过新形成的凝胶屏障。相反,钙离子向外迁移至浴液,使膜向外生长。一旦将球体取出并在清水中冲洗,凝胶过程立即停止,从而无限期地保留完全液态的核心。'
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: '利用柠檬酸钠克服酸度和pH障碍',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'paragraph',
|
|
149
|
+
html: '海藻酸钠对酸高度敏感。当调味基液的pH降至4.5以下时,藻酸盐分子无法正常水合。它们不会溶解,反而会沉淀为不溶性藻酸,形成丝状团块。为了解决这个问题,厨师使用<strong>柠檬酸钠</strong>作为缓冲剂。柠檬酸钠中和氢离子,将百香果汁或青柠汁等酸性食材的pH提升至临界值4.5以上,使藻酸盐能够完全水合并形成干净的球形。',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'title',
|
|
153
|
+
text: '使用黄原胶调节液体密度和粘度',
|
|
154
|
+
level: 3,
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
type: 'paragraph',
|
|
158
|
+
html: '要形成球体,调味基液的液滴必须完全浸没在凝胶浴中。如果调味基液的密度低于浴液(例如反向球化过程中,轻质酒精或水性果汁在浓稠的海藻酸钠浴中),它会浮在表面并变扁。添加极少量的<strong>黄原胶</strong>(通常为0.1%至0.2%)可增加基液的粘度。这种额外的稠度提供了液滴沉入浴液所需的动量,使表面张力将液滴拉成完美的球形。',
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'table',
|
|
162
|
+
headers: ['球化方法', '理想食材', '所需添加剂', '储存特性', '凝胶生长方向'],
|
|
163
|
+
rows: [
|
|
164
|
+
['直接法', '低钙果汁、清汤、甜糖浆', '基液中0.5%海藻酸钠,浴液中1.0%氯化钙', '需立即食用,随时间完全凝胶', '向内(朝向中心)'],
|
|
165
|
+
['反向法', '乳制品、酒精、高钙或高酸性液体', '基液中2.0%乳酸钙,浴液中0.5%海藻酸钠', '高度稳定,可在油或水中保存数小时', '向外(远离中心)'],
|
|
166
|
+
],
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: 'title',
|
|
170
|
+
text: '冲洗和最终保存步骤',
|
|
171
|
+
level: 3,
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
type: 'paragraph',
|
|
175
|
+
html: '从凝胶浴中取出成品球体后,务必立即在干净的冷水中冲洗。这样可以洗掉附着在外部的残留钙或藻酸盐,停止化学反应并防止异味(尤其是氯化钙的微苦味)。储存时,将球体浸入密度匹配的液体中(例如不含添加剂的调味基液或淡糖浆),以防止水分通过渗透作用穿过膜,从而导致球体萎缩或破裂。',
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
bibliography,
|
|
179
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
180
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ToolDefinition } from '../../types';
|
|
2
|
+
import { spherificationBath } from './entry';
|
|
3
|
+
|
|
4
|
+
export * from './entry';
|
|
5
|
+
|
|
6
|
+
export const SPHERIFICATION_BATH_TOOL: ToolDefinition = {
|
|
7
|
+
entry: spherificationBath,
|
|
8
|
+
Component: () => import('./component.astro'),
|
|
9
|
+
SEOComponent: () => import('./seo.astro'),
|
|
10
|
+
BibliographyComponent: () => import('./bibliography.astro'),
|
|
11
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface SpherificationInput {
|
|
2
|
+
baseWeight: number;
|
|
3
|
+
bathWeight: number;
|
|
4
|
+
method: 'direct' | 'reverse';
|
|
5
|
+
useXanthan: boolean;
|
|
6
|
+
useCitrate: boolean;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface SpherificationResult {
|
|
10
|
+
baseAgentName: string;
|
|
11
|
+
baseAgentGrams: number;
|
|
12
|
+
bathAgentName: string;
|
|
13
|
+
bathAgentGrams: number;
|
|
14
|
+
xanthanGrams: number;
|
|
15
|
+
citrateGrams: number;
|
|
16
|
+
solubilityWarning: boolean;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export class SpherificationLogic {
|
|
20
|
+
static calculate(input: SpherificationInput): SpherificationResult {
|
|
21
|
+
let baseAgentName = '';
|
|
22
|
+
let baseAgentGrams = 0;
|
|
23
|
+
let bathAgentName = '';
|
|
24
|
+
let bathAgentGrams = 0;
|
|
25
|
+
|
|
26
|
+
if (input.method === 'direct') {
|
|
27
|
+
baseAgentName = 'Sodium Alginate';
|
|
28
|
+
baseAgentGrams = parseFloat((input.baseWeight * 0.005).toFixed(3));
|
|
29
|
+
bathAgentName = 'Calcium Chloride';
|
|
30
|
+
bathAgentGrams = parseFloat((input.bathWeight * 0.01).toFixed(3));
|
|
31
|
+
} else {
|
|
32
|
+
baseAgentName = 'Calcium Lactate Gluconate';
|
|
33
|
+
baseAgentGrams = parseFloat((input.baseWeight * 0.02).toFixed(3));
|
|
34
|
+
bathAgentName = 'Sodium Alginate';
|
|
35
|
+
bathAgentGrams = parseFloat((input.bathWeight * 0.005).toFixed(3));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const xanthanGrams = input.useXanthan ? parseFloat((input.baseWeight * 0.002).toFixed(3)) : 0;
|
|
39
|
+
const citrateGrams = input.useCitrate ? parseFloat((input.baseWeight * 0.005).toFixed(3)) : 0;
|
|
40
|
+
|
|
41
|
+
const solubilityWarning = (input.method === 'direct' && baseAgentGrams > 5) ||
|
|
42
|
+
(input.method === 'reverse' && bathAgentGrams > 10);
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
baseAgentName,
|
|
46
|
+
baseAgentGrams,
|
|
47
|
+
bathAgentName,
|
|
48
|
+
bathAgentGrams,
|
|
49
|
+
xanthanGrams,
|
|
50
|
+
citrateGrams,
|
|
51
|
+
solubilityWarning,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { spherificationBath } from './entry';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'en' } = Astro.props;
|
|
11
|
+
const content = await spherificationBath.i18n[locale]?.();
|
|
12
|
+
if (!content) return null;
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|