@jjlmoya/utils-cooking 1.11.0 → 1.13.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 (190) hide show
  1. package/package.json +59 -58
  2. package/src/category/i18n/de.ts +94 -0
  3. package/src/category/i18n/id.ts +94 -0
  4. package/src/category/i18n/it.ts +94 -0
  5. package/src/category/i18n/ja.ts +94 -0
  6. package/src/category/i18n/ko.ts +94 -0
  7. package/src/category/i18n/nl.ts +94 -0
  8. package/src/category/i18n/pl.ts +94 -0
  9. package/src/category/i18n/pt.ts +94 -0
  10. package/src/category/i18n/ru.ts +94 -0
  11. package/src/category/i18n/sv.ts +94 -0
  12. package/src/category/i18n/tr.ts +94 -0
  13. package/src/category/i18n/zh.ts +94 -0
  14. package/src/category/index.ts +12 -0
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +1 -1
  18. package/src/tests/schemas_fulfillment.test.ts +23 -0
  19. package/src/tests/title_quality.test.ts +55 -0
  20. package/src/tool/american-kitchen-converter/i18n/de.ts +356 -0
  21. package/src/tool/american-kitchen-converter/i18n/fr.ts +1 -1
  22. package/src/tool/american-kitchen-converter/i18n/id.ts +356 -0
  23. package/src/tool/american-kitchen-converter/i18n/it.ts +356 -0
  24. package/src/tool/american-kitchen-converter/i18n/ja.ts +356 -0
  25. package/src/tool/american-kitchen-converter/i18n/ko.ts +356 -0
  26. package/src/tool/american-kitchen-converter/i18n/nl.ts +356 -0
  27. package/src/tool/american-kitchen-converter/i18n/pl.ts +356 -0
  28. package/src/tool/american-kitchen-converter/i18n/pt.ts +356 -0
  29. package/src/tool/american-kitchen-converter/i18n/ru.ts +356 -0
  30. package/src/tool/american-kitchen-converter/i18n/sv.ts +356 -0
  31. package/src/tool/american-kitchen-converter/i18n/tr.ts +356 -0
  32. package/src/tool/american-kitchen-converter/i18n/zh.ts +356 -0
  33. package/src/tool/american-kitchen-converter/index.ts +12 -0
  34. package/src/tool/banana-ripeness/i18n/de.ts +248 -0
  35. package/src/tool/banana-ripeness/i18n/id.ts +248 -0
  36. package/src/tool/banana-ripeness/i18n/it.ts +248 -0
  37. package/src/tool/banana-ripeness/i18n/ja.ts +248 -0
  38. package/src/tool/banana-ripeness/i18n/ko.ts +248 -0
  39. package/src/tool/banana-ripeness/i18n/nl.ts +248 -0
  40. package/src/tool/banana-ripeness/i18n/pl.ts +248 -0
  41. package/src/tool/banana-ripeness/i18n/pt.ts +248 -0
  42. package/src/tool/banana-ripeness/i18n/ru.ts +248 -0
  43. package/src/tool/banana-ripeness/i18n/sv.ts +248 -0
  44. package/src/tool/banana-ripeness/i18n/tr.ts +248 -0
  45. package/src/tool/banana-ripeness/i18n/zh.ts +248 -0
  46. package/src/tool/banana-ripeness/index.ts +12 -0
  47. package/src/tool/brine/i18n/de.ts +253 -0
  48. package/src/tool/brine/i18n/id.ts +253 -0
  49. package/src/tool/brine/i18n/it.ts +253 -0
  50. package/src/tool/brine/i18n/ja.ts +253 -0
  51. package/src/tool/brine/i18n/ko.ts +253 -0
  52. package/src/tool/brine/i18n/nl.ts +253 -0
  53. package/src/tool/brine/i18n/pl.ts +253 -0
  54. package/src/tool/brine/i18n/pt.ts +253 -0
  55. package/src/tool/brine/i18n/ru.ts +253 -0
  56. package/src/tool/brine/i18n/sv.ts +253 -0
  57. package/src/tool/brine/i18n/tr.ts +253 -0
  58. package/src/tool/brine/i18n/zh.ts +253 -0
  59. package/src/tool/brine/index.ts +12 -0
  60. package/src/tool/cookware-guide/i18n/de.ts +200 -0
  61. package/src/tool/cookware-guide/i18n/en.ts +2 -2
  62. package/src/tool/cookware-guide/i18n/es.ts +3 -3
  63. package/src/tool/cookware-guide/i18n/fr.ts +2 -2
  64. package/src/tool/cookware-guide/i18n/id.ts +200 -0
  65. package/src/tool/cookware-guide/i18n/it.ts +200 -0
  66. package/src/tool/cookware-guide/i18n/ja.ts +200 -0
  67. package/src/tool/cookware-guide/i18n/ko.ts +200 -0
  68. package/src/tool/cookware-guide/i18n/nl.ts +200 -0
  69. package/src/tool/cookware-guide/i18n/pl.ts +200 -0
  70. package/src/tool/cookware-guide/i18n/pt.ts +200 -0
  71. package/src/tool/cookware-guide/i18n/ru.ts +200 -0
  72. package/src/tool/cookware-guide/i18n/sv.ts +200 -0
  73. package/src/tool/cookware-guide/i18n/tr.ts +200 -0
  74. package/src/tool/cookware-guide/i18n/zh.ts +200 -0
  75. package/src/tool/cookware-guide/index.ts +12 -0
  76. package/src/tool/egg-timer/i18n/de.ts +252 -0
  77. package/src/tool/egg-timer/i18n/id.ts +252 -0
  78. package/src/tool/egg-timer/i18n/it.ts +252 -0
  79. package/src/tool/egg-timer/i18n/ja.ts +252 -0
  80. package/src/tool/egg-timer/i18n/ko.ts +252 -0
  81. package/src/tool/egg-timer/i18n/nl.ts +252 -0
  82. package/src/tool/egg-timer/i18n/pl.ts +252 -0
  83. package/src/tool/egg-timer/i18n/pt.ts +252 -0
  84. package/src/tool/egg-timer/i18n/ru.ts +252 -0
  85. package/src/tool/egg-timer/i18n/sv.ts +252 -0
  86. package/src/tool/egg-timer/i18n/tr.ts +252 -0
  87. package/src/tool/egg-timer/i18n/zh.ts +252 -0
  88. package/src/tool/egg-timer/index.ts +12 -0
  89. package/src/tool/ingredient-rescaler/i18n/de.ts +244 -0
  90. package/src/tool/ingredient-rescaler/i18n/en.ts +74 -97
  91. package/src/tool/ingredient-rescaler/i18n/es.ts +77 -100
  92. package/src/tool/ingredient-rescaler/i18n/id.ts +244 -0
  93. package/src/tool/ingredient-rescaler/i18n/it.ts +244 -0
  94. package/src/tool/ingredient-rescaler/i18n/ja.ts +244 -0
  95. package/src/tool/ingredient-rescaler/i18n/ko.ts +244 -0
  96. package/src/tool/ingredient-rescaler/i18n/nl.ts +244 -0
  97. package/src/tool/ingredient-rescaler/i18n/pl.ts +244 -0
  98. package/src/tool/ingredient-rescaler/i18n/pt.ts +244 -0
  99. package/src/tool/ingredient-rescaler/i18n/ru.ts +244 -0
  100. package/src/tool/ingredient-rescaler/i18n/sv.ts +244 -0
  101. package/src/tool/ingredient-rescaler/i18n/tr.ts +244 -0
  102. package/src/tool/ingredient-rescaler/i18n/zh.ts +244 -0
  103. package/src/tool/ingredient-rescaler/index.ts +12 -0
  104. package/src/tool/kitchen-timer/i18n/de.ts +174 -0
  105. package/src/tool/kitchen-timer/i18n/id.ts +170 -0
  106. package/src/tool/kitchen-timer/i18n/it.ts +174 -0
  107. package/src/tool/kitchen-timer/i18n/ja.ts +170 -0
  108. package/src/tool/kitchen-timer/i18n/ko.ts +170 -0
  109. package/src/tool/kitchen-timer/i18n/nl.ts +174 -0
  110. package/src/tool/kitchen-timer/i18n/pl.ts +170 -0
  111. package/src/tool/kitchen-timer/i18n/pt.ts +174 -0
  112. package/src/tool/kitchen-timer/i18n/ru.ts +170 -0
  113. package/src/tool/kitchen-timer/i18n/sv.ts +170 -0
  114. package/src/tool/kitchen-timer/i18n/tr.ts +170 -0
  115. package/src/tool/kitchen-timer/i18n/zh.ts +170 -0
  116. package/src/tool/kitchen-timer/index.ts +12 -0
  117. package/src/tool/meringue-peak/i18n/de.ts +221 -0
  118. package/src/tool/meringue-peak/i18n/fr.ts +1 -1
  119. package/src/tool/meringue-peak/i18n/id.ts +209 -0
  120. package/src/tool/meringue-peak/i18n/it.ts +210 -0
  121. package/src/tool/meringue-peak/i18n/ja.ts +210 -0
  122. package/src/tool/meringue-peak/i18n/ko.ts +210 -0
  123. package/src/tool/meringue-peak/i18n/nl.ts +210 -0
  124. package/src/tool/meringue-peak/i18n/pl.ts +210 -0
  125. package/src/tool/meringue-peak/i18n/pt.ts +210 -0
  126. package/src/tool/meringue-peak/i18n/ru.ts +210 -0
  127. package/src/tool/meringue-peak/i18n/sv.ts +210 -0
  128. package/src/tool/meringue-peak/i18n/tr.ts +210 -0
  129. package/src/tool/meringue-peak/i18n/zh.ts +210 -0
  130. package/src/tool/meringue-peak/index.ts +12 -0
  131. package/src/tool/mold-scaler/i18n/de.ts +183 -0
  132. package/src/tool/mold-scaler/i18n/en.ts +87 -60
  133. package/src/tool/mold-scaler/i18n/es.ts +87 -61
  134. package/src/tool/mold-scaler/i18n/fr.ts +97 -69
  135. package/src/tool/mold-scaler/i18n/id.ts +169 -0
  136. package/src/tool/mold-scaler/i18n/it.ts +170 -0
  137. package/src/tool/mold-scaler/i18n/ja.ts +170 -0
  138. package/src/tool/mold-scaler/i18n/ko.ts +170 -0
  139. package/src/tool/mold-scaler/i18n/nl.ts +170 -0
  140. package/src/tool/mold-scaler/i18n/pl.ts +170 -0
  141. package/src/tool/mold-scaler/i18n/pt.ts +170 -0
  142. package/src/tool/mold-scaler/i18n/ru.ts +170 -0
  143. package/src/tool/mold-scaler/i18n/sv.ts +170 -0
  144. package/src/tool/mold-scaler/i18n/tr.ts +170 -0
  145. package/src/tool/mold-scaler/i18n/zh.ts +170 -0
  146. package/src/tool/mold-scaler/index.ts +12 -0
  147. package/src/tool/pizza/i18n/de.ts +168 -0
  148. package/src/tool/pizza/i18n/en.ts +2 -2
  149. package/src/tool/pizza/i18n/es.ts +2 -2
  150. package/src/tool/pizza/i18n/fr.ts +2 -2
  151. package/src/tool/pizza/i18n/id.ts +125 -0
  152. package/src/tool/pizza/i18n/it.ts +172 -0
  153. package/src/tool/pizza/i18n/ja.ts +125 -0
  154. package/src/tool/pizza/i18n/ko.ts +125 -0
  155. package/src/tool/pizza/i18n/nl.ts +164 -0
  156. package/src/tool/pizza/i18n/pl.ts +125 -0
  157. package/src/tool/pizza/i18n/pt.ts +168 -0
  158. package/src/tool/pizza/i18n/ru.ts +151 -0
  159. package/src/tool/pizza/i18n/sv.ts +164 -0
  160. package/src/tool/pizza/i18n/tr.ts +125 -0
  161. package/src/tool/pizza/i18n/zh.ts +125 -0
  162. package/src/tool/pizza/index.ts +12 -0
  163. package/src/tool/roux-guide/i18n/de.ts +165 -0
  164. package/src/tool/roux-guide/i18n/es.ts +1 -1
  165. package/src/tool/roux-guide/i18n/id.ts +139 -0
  166. package/src/tool/roux-guide/i18n/it.ts +165 -0
  167. package/src/tool/roux-guide/i18n/ja.ts +139 -0
  168. package/src/tool/roux-guide/i18n/ko.ts +139 -0
  169. package/src/tool/roux-guide/i18n/nl.ts +165 -0
  170. package/src/tool/roux-guide/i18n/pl.ts +139 -0
  171. package/src/tool/roux-guide/i18n/pt.ts +165 -0
  172. package/src/tool/roux-guide/i18n/ru.ts +139 -0
  173. package/src/tool/roux-guide/i18n/sv.ts +139 -0
  174. package/src/tool/roux-guide/i18n/tr.ts +139 -0
  175. package/src/tool/roux-guide/i18n/zh.ts +139 -0
  176. package/src/tool/roux-guide/index.ts +12 -0
  177. package/src/tool/sourdough-calculator/i18n/de.ts +142 -0
  178. package/src/tool/sourdough-calculator/i18n/es.ts +133 -133
  179. package/src/tool/sourdough-calculator/i18n/id.ts +116 -0
  180. package/src/tool/sourdough-calculator/i18n/it.ts +142 -0
  181. package/src/tool/sourdough-calculator/i18n/ja.ts +116 -0
  182. package/src/tool/sourdough-calculator/i18n/ko.ts +116 -0
  183. package/src/tool/sourdough-calculator/i18n/nl.ts +116 -0
  184. package/src/tool/sourdough-calculator/i18n/pl.ts +116 -0
  185. package/src/tool/sourdough-calculator/i18n/pt.ts +142 -0
  186. package/src/tool/sourdough-calculator/i18n/ru.ts +116 -0
  187. package/src/tool/sourdough-calculator/i18n/sv.ts +116 -0
  188. package/src/tool/sourdough-calculator/i18n/tr.ts +116 -0
  189. package/src/tool/sourdough-calculator/i18n/zh.ts +116 -0
  190. package/src/tool/sourdough-calculator/index.ts +12 -0
@@ -0,0 +1,244 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = 'Calcolatore Dosi Ingredienti e Ricette';
4
+ const description = 'Scala le ricette automaticamente in base al numero di porzioni. Calcola le quantità esatte degli ingredienti moltiplicando o riducendo la tua ricetta senza complicazioni.';
5
+
6
+ const faq = [
7
+ {
8
+ question: 'Perché il mio fattore di conversione include dei decimali?',
9
+ answer: 'Perché le proporzioni culinarie non sono sempre arrotondate. Se scali una ricetta da 4 a 7 persone, il fattore è esattamente 1.75. Gli ingredienti vengono moltiplicati per quel numero, anche se ottieni delle frazioni. È più accurato rispetto a un arrotondamento arbitrario.',
10
+ },
11
+ {
12
+ question: 'Cosa succede se inserisco "1/2 cucchiaino di sale"?',
13
+ answer: 'Il parser cerca prima il numero. Riconoscerà "1" come quantità, poi "/2" come parte dell\'unità. Il risultato sarà "0.5" e verrà scalato correttamente. Per frazioni come "1/2", puoi inserire direttamente "0.5" (più chiaro) o lo strumento le interpreterà come divisione.',
14
+ },
15
+ {
16
+ question: 'Devo arrotondare i risultati finali?',
17
+ answer: 'Dipende dall\'ingrediente. Per le farine, sì. Per lieviti o spezie, la precisione conta meno (scala al 75% di quanto indicato). Per le uova: se ottieni 2.3, usa 2 uova intere + parte di un terzo (pesato), o arrotonda a 2 se il piatto lo consente.',
18
+ },
19
+ {
20
+ question: 'Perché il risultato non cambia quando modifico le porzioni?',
21
+ answer: 'Assicurati che il campo degli ingredienti non sia vuoto. Se è vuoto, non c\'è nulla da scalare. Verifica anche che i numeri nei tuoi ingredienti siano riconoscibili (es: "500g", "1/2 cucchiaino").',
22
+ },
23
+ {
24
+ question: 'Funziona con misure imperiali (once, tazze)?',
25
+ answer: 'Tecnicamente sì, lo strumento legge i numeri e scala. Ma la precisione è limitata con le tazze (volume incoerente). Si raccomanda di convertire in grammi prima di scalare.',
26
+ },
27
+ ];
28
+
29
+ const howTo = [
30
+ {
31
+ name: 'Inserisci le porzioni',
32
+ text: 'Nel campo "Originale", inserisci il numero di persone per cui la ricetta è stata pensata. In "Desiderato", inserisci il numero di persone per cui cucinerai.',
33
+ },
34
+ {
35
+ name: 'Incolla la lista degli ingredienti',
36
+ text: 'Copia e incolla la tua lista così com\'è. Ogni ingrediente su una riga. Lo strumento riconosce i numeri all\'inizio (500g, 1/2, 2.5) e scala automaticamente.',
37
+ },
38
+ {
39
+ name: 'Regola in base al contesto',
40
+ text: 'I risultati sono matematicamente esatti, ma la cucina è un\'arte. Spezie: scala al 75%. Lieviti: meno del teorico per grandi quantità. I tempi di cottura non si scalano mai.',
41
+ },
42
+ ];
43
+
44
+ const faqSchema = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'FAQPage',
47
+ mainEntity: faq.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+
54
+ const howToSchema = {
55
+ '@context': 'https://schema.org',
56
+ '@type': 'HowTo',
57
+ name: title,
58
+ description,
59
+ step: howTo.map((step) => ({
60
+ '@type': 'HowToStep',
61
+ name: step.name,
62
+ text: step.text,
63
+ })),
64
+ };
65
+
66
+ const appSchema = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'SoftwareApplication',
69
+ name: title,
70
+ description,
71
+ applicationCategory: 'UtilitiesApplication',
72
+ operatingSystem: 'All',
73
+ };
74
+
75
+ export const content: ToolLocaleContent = {
76
+ slug: 'calcolo-dosi-ricette',
77
+ title,
78
+ description,
79
+ ui: {
80
+ servings: 'Porzioni',
81
+ original: 'Originale',
82
+ desired: 'Desiderato',
83
+ multiplyingFactor: 'Fattore Moltiplicatore',
84
+ ingredientsList: 'Lista Ingredienti',
85
+ pasteHere: 'Incolla qui la tua lista.',
86
+ exampleLine1: 'Es:',
87
+ exampleLine2: '500g Farina',
88
+ exampleLine3: '300ml Acqua',
89
+ exampleLine4: '10g Sale',
90
+ result: 'Risultato',
91
+ copy: 'Copia',
92
+ copied: 'Copiato!',
93
+ emptyState: 'I tuoi ingredienti regolati appariranno qui...',
94
+ defaultIngredient1: '200g Farina',
95
+ defaultIngredient2: '100ml Latte',
96
+ defaultIngredient3: '2 Uova',
97
+ },
98
+ faqTitle: 'Domande Frequenti',
99
+ faq,
100
+ bibliographyTitle: 'Bibliografia',
101
+ bibliography: [
102
+ {
103
+ name: 'Harold McGee - On Food and Cooking: The Science and Lore of the Kitchen',
104
+ url: 'https://en.wikipedia.org/wiki/Harold_McGee',
105
+ },
106
+ {
107
+ name: 'The Flavor Bible by Karen Page and Andrew Dornenburg',
108
+ url: 'https://www.flavorprints.com/',
109
+ },
110
+ {
111
+ name: 'Modernist Cuisine - Tecniche di scaling scientifico',
112
+ url: 'https://www.modernistcuisine.com/',
113
+ },
114
+ ],
115
+ howTo,
116
+ seo: [
117
+ {
118
+ type: 'title',
119
+ text: 'Guida per lo Scalamento e la Conversione delle Ricette',
120
+ level: 2,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'Lo <strong>scalamento degli ingredienti</strong> è uno dei compiti più critici e soggetti a errori nella cucina professionale. Non si tratta solo di moltiplicare numeri, ma di capire come la chimica e la fisica degli alimenti reagiscono ai cambiamenti di volume e superficie.',
125
+ },
126
+ {
127
+ type: 'stats',
128
+ columns: 4,
129
+ items: [
130
+ {
131
+ value: 'x1.75',
132
+ label: 'Fattore da 4 a 7 per.',
133
+ icon: 'mdi:calculator',
134
+ },
135
+ {
136
+ value: '75%',
137
+ label: 'Regolazione Spezie',
138
+ icon: 'mdi:shaker-outline',
139
+ },
140
+ {
141
+ value: '0%',
142
+ label: 'Scaling del Tempo',
143
+ icon: 'mdi:timer-off',
144
+ },
145
+ {
146
+ value: '100g',
147
+ label: 'Base di Riferimento',
148
+ icon: 'mdi:weight-gram',
149
+ },
150
+ ],
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: 'Differenze tra Scaling Lineare e Contestuale',
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'comparative',
159
+ columns: 2,
160
+ items: [
161
+ {
162
+ title: 'Scaling Lineare Matematico',
163
+ icon: 'mdi:math-log',
164
+ description: 'Moltiplicazione diretta di tutti i valori per il fattore di conversione ottenuto.',
165
+ points: [
166
+ 'Perfetto per farine e liquidi base',
167
+ 'Ideale per pasticceria di precisione',
168
+ 'Funziona bene per piccoli cambiamenti (x2, x0.5)',
169
+ 'Facile da calcolare automaticamente',
170
+ ],
171
+ },
172
+ {
173
+ title: 'Scaling Contestuale da Cucina',
174
+ icon: 'mdi:chef-hat',
175
+ description: 'Regolazione delle proporzioni basata sulla saturazione del sapore e l\'evaporazione.',
176
+ highlight: true,
177
+ points: [
178
+ 'Evita eccessi di sale e spezie',
179
+ 'Considera la superficie di evaporazione',
180
+ 'Regola lieviti in base alla massa',
181
+ 'Richiede esperienza e giudizio dello chef',
182
+ ],
183
+ },
184
+ ],
185
+ },
186
+ {
187
+ type: 'title',
188
+ text: 'Fattori di Conversione per Numero di commensali',
189
+ level: 3,
190
+ },
191
+ {
192
+ type: 'table',
193
+ headers: ['Da Porzioni', 'A Porzioni', 'Fattore (FC)', 'Difficoltà'],
194
+ rows: [
195
+ ['2 persone', '4 persone', 'x 2.0', 'Bassa (Lineare)'],
196
+ ['4 persone', '6 persone', 'x 1.5', 'Bassa (Lineare)'],
197
+ ['4 persone', '10 persone', 'x 2.5', 'Media (Attenzione alle spezie)'],
198
+ ['4 persone', '25 persone', 'x 6.25', 'Alta (Contestuale)'],
199
+ ],
200
+ },
201
+ {
202
+ type: 'diagnostic',
203
+ variant: 'warning',
204
+ title: 'Problemi comuni raddoppiando una ricetta',
205
+ html: 'Se noti che il sapore è troppo intenso dopo lo scaling (specialmente con piccante o sale), riduci lo scaling di questi ingredienti specifici al 75%. Non raddoppiare mai il tempo di cottura; la temperatura interna si raggiunge in base allo spessore, non al peso totale.',
206
+ },
207
+ {
208
+ type: 'title',
209
+ text: 'Glossario della Terminologia di Standardizzazione',
210
+ level: 3,
211
+ },
212
+ {
213
+ type: 'glossary',
214
+ items: [
215
+ {
216
+ term: 'Fattore di Conversione',
217
+ definition: 'Numero per cui si moltiplicano tutti gli ingredienti: Quantità Desiderata / Quantità Originale.',
218
+ },
219
+ {
220
+ term: 'Calo Peso',
221
+ definition: 'Perdita di peso di un ingrediente per evaporazione o perdita di grasso.',
222
+ },
223
+ {
224
+ term: 'Peso Lordo vs Netto',
225
+ definition: 'Il peso prima e dopo la pulizia dell\'ingrediente.',
226
+ },
227
+ {
228
+ term: 'Resa',
229
+ definition: 'Quantità totale di prodotto finito dopo lo scaling e la cottura.',
230
+ },
231
+ ],
232
+ },
233
+ {
234
+ type: 'tip',
235
+ title: 'Il trucco dell\'uovo sbattuto',
236
+ html: 'Se il calcolatore indica 2.3 uova, sbatti un uovo intero, pesalo e usa solo il 30% del peso. È l\'unico modo per mantenere la precisione in alta pasticceria.',
237
+ },
238
+ {
239
+ type: 'paragraph',
240
+ html: 'Il nostro strumento semplifica la matematica per lasciarti dedicare a ciò che conta davvero: creatività e sapore.',
241
+ },
242
+ ],
243
+ schemas: [appSchema, faqSchema, howToSchema],
244
+ };
@@ -0,0 +1,244 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = '材料スケーラー レシピ分量調整';
4
+ const description = '人数(人前)に合わせてレシピの分量を自動的にスケール調整します。レシピを倍増または縮小する際の正確な材料の分量を簡単に計算できます。';
5
+
6
+ const faq = [
7
+ {
8
+ question: '変換係数に小数点が含まれるのはなぜですか?',
9
+ answer: '料理の比率は常にきれいな数字になるとは限らないからです。例えば4人用のレシピを7人用にスケールする場合、係数は正確に1.75となります。端数が出ることもありますが、その数字を掛けることで正確な分量を算出します。これは恣意的な四捨五入よりも正確です。',
10
+ },
11
+ {
12
+ question: '「塩 小さじ1/2」と入力した場合はどうなりますか?',
13
+ answer: 'ツールはまず数字を探します。「1」を数量として認識し、その後の「/2」を単位の一部として扱います。結果は「0.5」となり、正しくスケール計算されます。「1/2」のような分数の場合は、直接「0.5」と入力する方が分かりやすいですが、ツールは割り算として解釈することも可能です。',
14
+ },
15
+ {
16
+ question: '最終的な結果を四捨五入すべきですか?',
17
+ answer: '材料によります。小麦粉などは四捨五入しても良いでしょう。イーストやスパイスなどは、厳密さよりも感覚が重要になる場合があります(計算値の75%程度に抑えるのがコツです)。卵の場合、結果が2.3個となったら、2個丸ごと使い、残りの0.3は溶き卵にして重さで量るか、料理の内容に応じて2個に留めるなどの判断が必要です。',
18
+ },
19
+ {
20
+ question: '人数を変えても結果が変わりません。なぜですか?',
21
+ answer: '材料フィールドに内容が入力されているか確認してください。空の場合は計算の対象がありません。また、材料名の前に数字(例:「500g」「1/2 小さじ」)が正しく記載されているか確認してください。',
22
+ },
23
+ {
24
+ question: 'ヤード・ポンド法(オンス、カップなど)でも使えますか?',
25
+ answer: '技術的には可能です。ツールは数字を読み取ってスケール計算を行います。ただし、カップ(体積)は計測方法によって誤差が出やすいため、正確なスケーリングが必要な場合は事前にグラム(重量)に変換することをお勧めします。',
26
+ },
27
+ ];
28
+
29
+ const howTo = [
30
+ {
31
+ name: '分量を入力する',
32
+ text: '「元(オリジナル)」の欄に、そのレシピが元々何人用であるかを入力します。「目標(欲しい分量)」の欄に、今回作りたい人数を入力します。',
33
+ },
34
+ {
35
+ name: '材料リストを貼り付ける',
36
+ text: 'お手持ちのリストをそのままコピー&ペーストしてください。1行に1つの材料を記載します。ツールが先頭の数字(500g, 1/2, 2.5など)を認識し、自動で計算します。',
37
+ },
38
+ {
39
+ name: '状況に合わせて微調整',
40
+ text: '結果は数学的に正確ですが、料理は芸術です。スパイス類は計算値の75%程度にする、大規模な調理ではイーストを理論値より減らすなどの調整が有効です。なお、調理時間はスケールされません。',
41
+ },
42
+ ];
43
+
44
+ const faqSchema = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'FAQPage',
47
+ mainEntity: faq.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+
54
+ const howToSchema = {
55
+ '@context': 'https://schema.org',
56
+ '@type': 'HowTo',
57
+ name: title,
58
+ description,
59
+ step: howTo.map((step) => ({
60
+ '@type': 'HowToStep',
61
+ name: step.name,
62
+ text: step.text,
63
+ })),
64
+ };
65
+
66
+ const appSchema = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'SoftwareApplication',
69
+ name: title,
70
+ description,
71
+ applicationCategory: 'UtilitiesApplication',
72
+ operatingSystem: 'All',
73
+ };
74
+
75
+ export const content: ToolLocaleContent = {
76
+ slug: 'ingredient-rescaler',
77
+ title,
78
+ description,
79
+ ui: {
80
+ servings: '人前(分量)',
81
+ original: 'オリジナル',
82
+ desired: '目標(作りたい分)',
83
+ multiplyingFactor: '変換計数',
84
+ ingredientsList: '材料リスト',
85
+ pasteHere: 'ここにリストを貼り付けてください。',
86
+ exampleLine1: '例:',
87
+ exampleLine2: '500g 小麦粉',
88
+ exampleLine3: '300ml 水',
89
+ exampleLine4: '10g 塩',
90
+ result: '計算結果',
91
+ copy: 'コピー',
92
+ copied: 'コピーしました!',
93
+ emptyState: '調整された材料がここに表示されます...',
94
+ defaultIngredient1: '200g 小麦粉',
95
+ defaultIngredient2: '100ml 牛乳',
96
+ defaultIngredient3: '2個 卵',
97
+ },
98
+ faqTitle: 'よくある質問',
99
+ faq,
100
+ bibliographyTitle: '参考文献',
101
+ bibliography: [
102
+ {
103
+ name: 'Harold McGee - On Food and Cooking (料理の科学)',
104
+ url: 'https://en.wikipedia.org/wiki/Harold_McGee',
105
+ },
106
+ {
107
+ name: 'The Flavor Bible by Karen Page and Andrew Dornenburg',
108
+ url: 'https://www.flavorprints.com/',
109
+ },
110
+ {
111
+ name: 'Modernist Cuisine - 科学的スケーリング技術',
112
+ url: 'https://www.modernistcuisine.com/',
113
+ },
114
+ ],
115
+ howTo,
116
+ seo: [
117
+ {
118
+ type: 'title',
119
+ text: 'レシピのスケーリングと変換:マスターガイド',
120
+ level: 2,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: '<strong>材料のスケーリング</strong>は、プロの現場において最も重要で、かつミスの起きやすい作業の一つです。単に数字を掛けるだけでなく、食材の化学的・物理的特性が体積や表面積の変化にどう反応するかを理解する必要があります。',
125
+ },
126
+ {
127
+ type: 'stats',
128
+ columns: 4,
129
+ items: [
130
+ {
131
+ value: 'x1.75',
132
+ label: '4人→7人倍率',
133
+ icon: 'mdi:calculator',
134
+ },
135
+ {
136
+ value: '75%',
137
+ label: 'スパイスの調整',
138
+ icon: 'mdi:shaker-outline',
139
+ },
140
+ {
141
+ value: '0%',
142
+ label: '時間のスケーリング',
143
+ icon: 'mdi:timer-off',
144
+ },
145
+ {
146
+ value: '100g',
147
+ label: '基準重量',
148
+ icon: 'mdi:weight-gram',
149
+ },
150
+ ],
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: '線形スケーリングと文脈的スケーリングの違い',
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'comparative',
159
+ columns: 2,
160
+ items: [
161
+ {
162
+ title: '数学的な線形スケーリング',
163
+ icon: 'mdi:math-log',
164
+ description: '算出された変換係数をすべての材料にそのまま掛ける方法。',
165
+ points: [
166
+ '小麦粉やベースの水分に最適',
167
+ '精密な製菓作業に理想的',
168
+ '少量の変化 (x2, x0.5) で有効',
169
+ '自動計算が容易',
170
+ ],
171
+ },
172
+ {
173
+ title: '料理における文脈的スケーリング',
174
+ icon: 'mdi:chef-hat',
175
+ description: '味の飽和度や蒸発率に基づいて比率を微調整する方法。',
176
+ highlight: true,
177
+ points: [
178
+ '塩分や香辛料の過剰を防ぐ',
179
+ '表面積による蒸発率を考慮する',
180
+ '大量調理時のイースト菌を調整する',
181
+ 'シェフの経験と判断が必要',
182
+ ],
183
+ },
184
+ ],
185
+ },
186
+ {
187
+ type: 'title',
188
+ text: '人数別の変換係数',
189
+ level: 3,
190
+ },
191
+ {
192
+ type: 'table',
193
+ headers: ['現在の人数', '目標の人数', '係数 (FC)', '調整の難易度'],
194
+ rows: [
195
+ ['2人', '4人', 'x 2.0', '低 (線形)'],
196
+ ['4人', '6人', 'x 1.5', '低 (線形)'],
197
+ ['4人', '10人', 'x 2.5', '中 (香辛料に注意)'],
198
+ ['4人', '25人', 'x 6.25', '高 (文脈的調整が必要)'],
199
+ ],
200
+ },
201
+ {
202
+ type: 'diagnostic',
203
+ variant: 'warning',
204
+ title: 'レシピを倍にする際のよくある落とし穴',
205
+ html: '倍量にした際に味が濃すぎると感じた場合(特に辛味や塩分)、それらの材料の増量を計算値の75%程度に留めてみてください。また、加熱時間は決して倍にしないでください。芯温は質量の総重量ではなく、食材の厚みによって決まるからです。',
206
+ },
207
+ {
208
+ type: 'title',
209
+ text: '標準化用語集',
210
+ level: 3,
211
+ },
212
+ {
213
+ type: 'glossary',
214
+ items: [
215
+ {
216
+ term: '変換係数 (Conversion Factor)',
217
+ definition: 'すべての材料に掛ける数字。 目標量 ÷ オリジナル量 で算出されます。',
218
+ },
219
+ {
220
+ term: '加熱損失 (Cooking Loss)',
221
+ definition: '蒸発や脂の流出による重量減少。線形には変化しません。',
222
+ },
223
+ {
224
+ term: '荒重量 vs 正味重量',
225
+ definition: '材料を下処理する前と後の重量。常にオリジナルレシピの重量に基づきます。',
226
+ },
227
+ {
228
+ term: '歩留まり (Yield)',
229
+ definition: 'スケーリングと調理を終えた後の、最終的な製品の総量。',
230
+ },
231
+ ],
232
+ },
233
+ {
234
+ type: 'tip',
235
+ title: '溶き卵のテクニック',
236
+ html: '計算で2.3個などとなった場合は、1個を溶き卵にして重さを量り、その30%分を使用してください。これが製菓において精度を保つ唯一の方法です。',
237
+ },
238
+ {
239
+ type: 'paragraph',
240
+ html: '当ツールは数学的な計算を簡素化し、あなたが最も重要な「創造性と味」にエネルギーを注げるようサポートします。',
241
+ },
242
+ ],
243
+ schemas: [appSchema, faqSchema, howToSchema],
244
+ };