@jjlmoya/utils-cooking 1.31.0 → 1.33.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 (51) hide show
  1. package/package.json +2 -2
  2. package/src/category/index.ts +2 -0
  3. package/src/entries.ts +3 -1
  4. package/src/index.ts +1 -0
  5. package/src/tests/i18n-titles.test.ts +1 -1
  6. package/src/tests/locale_completeness.test.ts +2 -2
  7. package/src/tests/tool_validation.test.ts +2 -2
  8. package/src/tool/meat-binder-transglutaminase-calculator/bibliography.astro +6 -0
  9. package/src/tool/meat-binder-transglutaminase-calculator/bibliography.ts +14 -0
  10. package/src/tool/meat-binder-transglutaminase-calculator/component.astro +249 -0
  11. package/src/tool/meat-binder-transglutaminase-calculator/components/LabReport.astro +59 -0
  12. package/src/tool/meat-binder-transglutaminase-calculator/components/TissueSpecimen.astro +67 -0
  13. package/src/tool/meat-binder-transglutaminase-calculator/components/TissueViewer.astro +137 -0
  14. package/src/tool/meat-binder-transglutaminase-calculator/entry.ts +26 -0
  15. package/src/tool/meat-binder-transglutaminase-calculator/i18n/de.ts +178 -0
  16. package/src/tool/meat-binder-transglutaminase-calculator/i18n/en.ts +178 -0
  17. package/src/tool/meat-binder-transglutaminase-calculator/i18n/es.ts +178 -0
  18. package/src/tool/meat-binder-transglutaminase-calculator/i18n/fr.ts +178 -0
  19. package/src/tool/meat-binder-transglutaminase-calculator/i18n/id.ts +178 -0
  20. package/src/tool/meat-binder-transglutaminase-calculator/i18n/it.ts +178 -0
  21. package/src/tool/meat-binder-transglutaminase-calculator/i18n/ja.ts +178 -0
  22. package/src/tool/meat-binder-transglutaminase-calculator/i18n/ko.ts +178 -0
  23. package/src/tool/meat-binder-transglutaminase-calculator/i18n/nl.ts +178 -0
  24. package/src/tool/meat-binder-transglutaminase-calculator/i18n/pl.ts +178 -0
  25. package/src/tool/meat-binder-transglutaminase-calculator/i18n/pt.ts +178 -0
  26. package/src/tool/meat-binder-transglutaminase-calculator/i18n/ru.ts +178 -0
  27. package/src/tool/meat-binder-transglutaminase-calculator/i18n/sv.ts +178 -0
  28. package/src/tool/meat-binder-transglutaminase-calculator/i18n/tr.ts +178 -0
  29. package/src/tool/meat-binder-transglutaminase-calculator/i18n/zh.ts +178 -0
  30. package/src/tool/meat-binder-transglutaminase-calculator/index.ts +11 -0
  31. package/src/tool/meat-binder-transglutaminase-calculator/logic.ts +66 -0
  32. package/src/tool/meat-binder-transglutaminase-calculator/meat-binder-transglutaminase-calculator.css +785 -0
  33. package/src/tool/meat-binder-transglutaminase-calculator/seo.astro +15 -0
  34. package/src/tool/spherification-bath-calculator/component.astro +2 -2
  35. package/src/tool/spherification-bath-calculator/components/RecipeSummary.astro +2 -2
  36. package/src/tool/spherification-bath-calculator/i18n/de.ts +3 -0
  37. package/src/tool/spherification-bath-calculator/i18n/en.ts +3 -0
  38. package/src/tool/spherification-bath-calculator/i18n/es.ts +3 -0
  39. package/src/tool/spherification-bath-calculator/i18n/fr.ts +3 -0
  40. package/src/tool/spherification-bath-calculator/i18n/id.ts +3 -0
  41. package/src/tool/spherification-bath-calculator/i18n/it.ts +3 -0
  42. package/src/tool/spherification-bath-calculator/i18n/ja.ts +3 -0
  43. package/src/tool/spherification-bath-calculator/i18n/ko.ts +3 -0
  44. package/src/tool/spherification-bath-calculator/i18n/nl.ts +3 -0
  45. package/src/tool/spherification-bath-calculator/i18n/pl.ts +3 -0
  46. package/src/tool/spherification-bath-calculator/i18n/pt.ts +3 -0
  47. package/src/tool/spherification-bath-calculator/i18n/ru.ts +3 -0
  48. package/src/tool/spherification-bath-calculator/i18n/sv.ts +3 -0
  49. package/src/tool/spherification-bath-calculator/i18n/tr.ts +3 -0
  50. package/src/tool/spherification-bath-calculator/i18n/zh.ts +3 -0
  51. package/src/tools.ts +2 -0
@@ -0,0 +1,15 @@
1
+ ---
2
+ import { SEORenderer } from '@jjlmoya/utils-shared';
3
+ import { meatBinder } 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 meatBinder.i18n[locale]?.();
12
+ if (!content) return null;
13
+ ---
14
+
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -83,8 +83,8 @@ const { ui } = Astro.props;
83
83
  }
84
84
 
85
85
  function updateRecipeList(result, displayFactor) {
86
- baseAgentName.textContent = activeMethod === 'direct' ? 'Sodium Alginate' : 'Calcium Lactate';
87
- bathAgentName.textContent = activeMethod === 'direct' ? 'Calcium Chloride' : 'Sodium Alginate';
86
+ baseAgentName.textContent = activeMethod === 'direct' ? ui.sodiumAlginate : ui.calciumLactate;
87
+ bathAgentName.textContent = activeMethod === 'direct' ? ui.calciumChloride : ui.sodiumAlginate;
88
88
 
89
89
  baseAgentVal.textContent = (result.baseAgentGrams * displayFactor).toFixed(2);
90
90
  bathAgentVal.textContent = (result.bathAgentGrams * displayFactor).toFixed(2);
@@ -14,7 +14,7 @@ const { ui } = Astro.props;
14
14
  <div class="recipe-list">
15
15
  <div class="recipe-item">
16
16
  <div class="recipe-item-name">
17
- <span id="base-agent-name-display">{ui.baseGellingAgent}</span>
17
+ <span id="base-agent-name-display">{ui.sodiumAlginate}</span>
18
18
  </div>
19
19
  <div class="recipe-item-val">
20
20
  <span id="base-agent-grams-display">2.50</span>
@@ -24,7 +24,7 @@ const { ui } = Astro.props;
24
24
 
25
25
  <div class="recipe-item">
26
26
  <div class="recipe-item-name">
27
- <span id="bath-agent-name-display">{ui.bathGellingAgent}</span>
27
+ <span id="bath-agent-name-display">{ui.calciumChloride}</span>
28
28
  </div>
29
29
  <div class="recipe-item-val">
30
30
  <span id="bath-agent-grams-display">10.00</span>
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "Das erforderliche Wirkstoffgewicht liegt nahe an oder uber der Loslichkeitsgrenze fur diese Flussigkeitsmenge. Das Auflosen kann langer dauern oder eine sanfte Erwarmung erfordern.",
102
102
  directDesc: "Ideal fur leichte Flussigkeiten mit niedrigem Calciumgehalt. Erzeugt delikate, dunnhautige Kugeln, die sofort serviert werden mussen.",
103
103
  reverseDesc: "Ideal fur Milchprodukte, Alkohol, calciumreiche oder saure Flussigkeiten. Erzeugt stabile Kugeln, die nach dem Abspulen nicht weiter gelieren.",
104
+ sodiumAlginate: "Natriumalginat",
105
+ calciumChloride: "Calciumchlorid",
106
+ calciumLactate: "Calciumlactat",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "The required agent weight is near or exceeds the solubility limit for this volume of liquid. Dissolving may take longer or require gentle warming.",
102
102
  directDesc: "Ideal for light liquids with low calcium content. Creates delicate, thin-skinned spheres that must be served immediately.",
103
103
  reverseDesc: "Ideal for dairy, alcohol, calcium-rich, or acidic liquids. Creates stable spheres that do not continue gelling after rinsing.",
104
+ sodiumAlginate: "Sodium Alginate",
105
+ calciumChloride: "Calcium Chloride",
106
+ calciumLactate: "Calcium Lactate",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -100,6 +100,9 @@ export const content: ToolLocaleContent = {
100
100
  warningDesc: "El peso del agente requerido está cerca o supera el límite de solubilidad para este volumen de líquido. La disolución puede llevar más tiempo o requerir calentamiento suave.",
101
101
  directDesc: "Ideal para líquidos ligeros con bajo contenido de calcio. Crea esferas delicadas de piel fina que deben servirse inmediatamente.",
102
102
  reverseDesc: "Ideal para lácteos, alcohol, líquidos ricos en calcio o ácidos. Crea esferas estables que no continúan gelificándose después del enjuague.",
103
+ sodiumAlginate: "Alginato de Sodio",
104
+ calciumChloride: "Cloruro de Calcio",
105
+ calciumLactate: "Lactato de Calcio",
103
106
  },
104
107
  faq,
105
108
  howTo,
@@ -100,6 +100,9 @@ export const content: ToolLocaleContent = {
100
100
  warningDesc: "Le poids de l'agent requis est proche ou dépasse la limite de solubilité pour ce volume de liquide. La dissolution peut prendre plus de temps ou nécessiter un léger chauffage.",
101
101
  directDesc: "Idéal pour les liquides légers avec faible teneur en calcium. Crée des sphères délicates à peau fine qui doivent être servies immédiatement.",
102
102
  reverseDesc: "Idéal pour les produits laitiers, l'alcool, les liquides riches en calcium ou acides. Crée des sphères stables qui ne continuent pas à gélifier après le rinçage.",
103
+ sodiumAlginate: "Alginate de Sodium",
104
+ calciumChloride: "Chlorure de Calcium",
105
+ calciumLactate: "Lactate de Calcium",
103
106
  },
104
107
  faq,
105
108
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "Berat agen yang diperlukan mendekati atau melebihi batas kelarutan untuk volume cairan ini. Pelarutan mungkin memakan waktu lebih lama atau memerlukan pemanasan ringan.",
102
102
  directDesc: "Ideal untuk cairan ringan dengan kandungan kalsium rendah. Menciptakan bola berlapis tipis dan lembut yang harus segera disajikan.",
103
103
  reverseDesc: "Ideal untuk susu, alkohol, cairan kaya kalsium, atau asam. Menciptakan bola stabil yang tidak terus mengeras setelah dibilas.",
104
+ sodiumAlginate: "Natrium Alginat",
105
+ calciumChloride: "Kalsium Klorida",
106
+ calciumLactate: "Kalsium Laktat",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "Il peso dell'agente richiesto e vicino o supera il limite di solubilita per questo volume di liquido. Lo scioglimento potrebbe richiedere piu tempo o necessitare di un leggero riscaldamento.",
102
102
  directDesc: "Ideale per liquidi leggeri con basso contenuto di calcio. Crea sfere delicate dalla pelle sottile che devono essere servite immediatamente.",
103
103
  reverseDesc: "Ideale per latticini, alcol, liquidi ricchi di calcio o acidi. Crea sfere stabili che non continuano a gelificare dopo il risciacquo.",
104
+ sodiumAlginate: "Alginato di Sodio",
105
+ calciumChloride: "Cloruro di Calcio",
106
+ calciumLactate: "Lattato di Calcio",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "必要な薬剤重量がこの液体量の溶解限界に近いか超過しています。溶解に時間がかかるか、軽く加温する必要がある場合があります。",
102
102
  directDesc: "低カルシウムの軽い液体に最適です。繊細で薄皮のスフィアを作り、すぐに提供する必要があります。",
103
103
  reverseDesc: "乳製品、アルコール、カルシウム豊富または酸性の液体に最適です。すすぎ後もゲル化し続けない安定したスフィアを作ります。",
104
+ sodiumAlginate: "アルギン酸ナトリウム",
105
+ calciumChloride: "塩化カルシウム",
106
+ calciumLactate: "乳酸カルシウム",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "필요한 약제 중량이 이 액체 부피의 용해 한계에 가깝거나 초과합니다. 용해에 시간이 더 걸리거나 가벼운 가온이 필요할 수 있습니다.",
102
102
  directDesc: "저칼슘 가벼운 액체에 이상적입니다. 섬세하고 얇은 껍질의 구체를 만들며 즉시 제공해야 합니다.",
103
103
  reverseDesc: "유제품, 알코올, 고칼슘 또는 산성 액체에 이상적입니다. 헹굼 후에도 겔화가 계속되지 않는 안정적인 구체를 만듭니다.",
104
+ sodiumAlginate: "알긴산나트륨",
105
+ calciumChloride: "염화칼슘",
106
+ calciumLactate: "젖산칼슘",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "Het vereiste gewicht van het middel ligt dicht bij of boven de oplosbaarheidsgrens voor dit vloeistofvolume. Oplossen kan langer duren of zachtjes verwarmen vereisen.",
102
102
  directDesc: "Ideaal voor lichte vloeistoffen met een laag calciumgehalte. Creëert delicate, dunvliesige bollen die onmiddellijk geserveerd moeten worden.",
103
103
  reverseDesc: "Ideaal voor zuivel, alcohol, calciumrijke of zure vloeistoffen. Creëert stabiele bollen die na het afspoelen niet verder geleren.",
104
+ sodiumAlginate: "Natriumalginaat",
105
+ calciumChloride: "Calciumchloride",
106
+ calciumLactate: "Calciumlactaat",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "Wymagana waga srodka jest bliska lub przekracza granice rozpuszczalnosci dla tej objetosci cieczy. Rozpuszczenie moze zajac wiecej czasu lub wymagac delikatnego podgrzania.",
102
102
  directDesc: "Idealny do lekkich cieczy o niskiej zawartosci wapnia. Tworzy delikatne, cienkoskore kule, ktore nalezy serwowac natychmiast.",
103
103
  reverseDesc: "Idealny do nabialu, alkoholu, cieczy bogatych w wapn lub kwasnych. Tworzy stabilne kule, ktore nie zeluja dalej po oplacznu.",
104
+ sodiumAlginate: "Alginian Sodu",
105
+ calciumChloride: "Chlorek Wapnia",
106
+ calciumLactate: "Mleczan Wapnia",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "O peso do agente necessario esta proximo ou excede o limite de solubilidade para este volume de liquido. A dissolucao pode demorar mais ou exigir aquecimento suave.",
102
102
  directDesc: "Ideal para liquidos leves com baixo teor de calcio. Cria esferas delicadas de casca fina que devem ser servidas imediatamente.",
103
103
  reverseDesc: "Ideal para laticinios, alcool, liquidos ricos em calcio ou acidos. Cria esferas estaveis que nao continuam gelificando apos o enxague.",
104
+ sodiumAlginate: "Alginato de Sodio",
105
+ calciumChloride: "Cloreto de Calcio",
106
+ calciumLactate: "Lactato de Calcio",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "Требуемый вес агента близок или превышает предел растворимости для данного объема жидкости. Растворение может занять больше времени или потребовать осторожного подогрева.",
102
102
  directDesc: "Идеально для легких жидкостей с низким содержанием кальция. Создает нежные тонкостенные сферы, которые необходимо подавать немедленно.",
103
103
  reverseDesc: "Идеально для молочных продуктов, алкоголя, жидкостей с высоким содержанием кальция или кислот. Создает стабильные сферы, которые не продолжают желатинизироваться после промывки.",
104
+ sodiumAlginate: "Альгинат натрия",
105
+ calciumChloride: "Хлорид кальция",
106
+ calciumLactate: "Лактат кальция",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
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
102
  directDesc: "Idealisk for latta vatskor med lag kalciumhalt. Skapar delikata sfärer med tunn hinna som maste serveras omedelbart.",
103
103
  reverseDesc: "Idealisk for mejeriprodukter, alkohol, kalciumrika eller sura vatskor. Skapar stabila sfärer som inte fortsatter att gelas efter skoljning.",
104
+ sodiumAlginate: "Natriumalginat",
105
+ calciumChloride: "Kalciumklorid",
106
+ calciumLactate: "Kalciumlaktat",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
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
102
  directDesc: "Düşük kalsiyumlu hafif sıvılar için idealdir. Hemen servis edilmesi gereken hassas, ince kabuklu küreler oluşturur.",
103
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
+ sodiumAlginate: "Sodyum Aljinat",
105
+ calciumChloride: "Kalsiyum Klorür",
106
+ calciumLactate: "Kalsiyum Laktat",
104
107
  },
105
108
  faq,
106
109
  howTo,
@@ -101,6 +101,9 @@ export const content: ToolLocaleContent = {
101
101
  warningDesc: "所需试剂重量接近或超过该液体体积的溶解度极限。溶解可能需要更长时间或需要轻微加热。",
102
102
  directDesc: "适用于低钙轻质液体。可制作出细腻薄皮的球体,需立即食用。",
103
103
  reverseDesc: "适用于乳制品、酒精、高钙或酸性液体。可制作出稳定的球体,冲洗后不会继续凝胶。",
104
+ sodiumAlginate: "海藻酸钠",
105
+ calciumChloride: "氯化钙",
106
+ calciumLactate: "乳酸钙",
104
107
  },
105
108
  faq,
106
109
  howTo,
package/src/tools.ts CHANGED
@@ -17,6 +17,7 @@ import { LACTO_FERMENTATION_SALT_TOOL } from './tool/lacto-fermentation-salt-cal
17
17
  import { SPHERIFICATION_BATH_TOOL } from './tool/spherification-bath-calculator';
18
18
  import { ICE_CREAM_PAC_POD_TOOL } from './tool/ice-cream-pac-pod';
19
19
  import { BOTULISM_CANNING_SAFETY_TOOL } from './tool/botulism-canning-safety';
20
+ import { MEAT_BINDER_TRANSGLUTAMINASE_TOOL } from './tool/meat-binder-transglutaminase-calculator';
20
21
 
21
22
  export const ALL_TOOLS: ToolDefinition[] = [
22
23
  AMERICAN_KITCHEN_CONVERTER_TOOL,
@@ -36,5 +37,6 @@ export const ALL_TOOLS: ToolDefinition[] = [
36
37
  SPHERIFICATION_BATH_TOOL,
37
38
  ICE_CREAM_PAC_POD_TOOL,
38
39
  BOTULISM_CANNING_SAFETY_TOOL,
40
+ MEAT_BINDER_TRANSGLUTAMINASE_TOOL,
39
41
  ];
40
42