@jjlmoya/utils-cooking 1.12.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 (175) hide show
  1. package/package.json +2 -1
  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/title_quality.test.ts +1 -1
  19. package/src/tool/american-kitchen-converter/i18n/de.ts +356 -0
  20. package/src/tool/american-kitchen-converter/i18n/id.ts +356 -0
  21. package/src/tool/american-kitchen-converter/i18n/it.ts +356 -0
  22. package/src/tool/american-kitchen-converter/i18n/ja.ts +356 -0
  23. package/src/tool/american-kitchen-converter/i18n/ko.ts +356 -0
  24. package/src/tool/american-kitchen-converter/i18n/nl.ts +356 -0
  25. package/src/tool/american-kitchen-converter/i18n/pl.ts +356 -0
  26. package/src/tool/american-kitchen-converter/i18n/pt.ts +356 -0
  27. package/src/tool/american-kitchen-converter/i18n/ru.ts +356 -0
  28. package/src/tool/american-kitchen-converter/i18n/sv.ts +356 -0
  29. package/src/tool/american-kitchen-converter/i18n/tr.ts +356 -0
  30. package/src/tool/american-kitchen-converter/i18n/zh.ts +356 -0
  31. package/src/tool/american-kitchen-converter/index.ts +12 -0
  32. package/src/tool/banana-ripeness/i18n/de.ts +248 -0
  33. package/src/tool/banana-ripeness/i18n/id.ts +248 -0
  34. package/src/tool/banana-ripeness/i18n/it.ts +248 -0
  35. package/src/tool/banana-ripeness/i18n/ja.ts +248 -0
  36. package/src/tool/banana-ripeness/i18n/ko.ts +248 -0
  37. package/src/tool/banana-ripeness/i18n/nl.ts +248 -0
  38. package/src/tool/banana-ripeness/i18n/pl.ts +248 -0
  39. package/src/tool/banana-ripeness/i18n/pt.ts +248 -0
  40. package/src/tool/banana-ripeness/i18n/ru.ts +248 -0
  41. package/src/tool/banana-ripeness/i18n/sv.ts +248 -0
  42. package/src/tool/banana-ripeness/i18n/tr.ts +248 -0
  43. package/src/tool/banana-ripeness/i18n/zh.ts +248 -0
  44. package/src/tool/banana-ripeness/index.ts +12 -0
  45. package/src/tool/brine/i18n/de.ts +253 -0
  46. package/src/tool/brine/i18n/id.ts +253 -0
  47. package/src/tool/brine/i18n/it.ts +253 -0
  48. package/src/tool/brine/i18n/ja.ts +253 -0
  49. package/src/tool/brine/i18n/ko.ts +253 -0
  50. package/src/tool/brine/i18n/nl.ts +253 -0
  51. package/src/tool/brine/i18n/pl.ts +253 -0
  52. package/src/tool/brine/i18n/pt.ts +253 -0
  53. package/src/tool/brine/i18n/ru.ts +253 -0
  54. package/src/tool/brine/i18n/sv.ts +253 -0
  55. package/src/tool/brine/i18n/tr.ts +253 -0
  56. package/src/tool/brine/i18n/zh.ts +253 -0
  57. package/src/tool/brine/index.ts +12 -0
  58. package/src/tool/cookware-guide/i18n/de.ts +200 -0
  59. package/src/tool/cookware-guide/i18n/fr.ts +2 -2
  60. package/src/tool/cookware-guide/i18n/id.ts +200 -0
  61. package/src/tool/cookware-guide/i18n/it.ts +200 -0
  62. package/src/tool/cookware-guide/i18n/ja.ts +200 -0
  63. package/src/tool/cookware-guide/i18n/ko.ts +200 -0
  64. package/src/tool/cookware-guide/i18n/nl.ts +200 -0
  65. package/src/tool/cookware-guide/i18n/pl.ts +200 -0
  66. package/src/tool/cookware-guide/i18n/pt.ts +200 -0
  67. package/src/tool/cookware-guide/i18n/ru.ts +200 -0
  68. package/src/tool/cookware-guide/i18n/sv.ts +200 -0
  69. package/src/tool/cookware-guide/i18n/tr.ts +200 -0
  70. package/src/tool/cookware-guide/i18n/zh.ts +200 -0
  71. package/src/tool/cookware-guide/index.ts +12 -0
  72. package/src/tool/egg-timer/i18n/de.ts +252 -0
  73. package/src/tool/egg-timer/i18n/id.ts +252 -0
  74. package/src/tool/egg-timer/i18n/it.ts +252 -0
  75. package/src/tool/egg-timer/i18n/ja.ts +252 -0
  76. package/src/tool/egg-timer/i18n/ko.ts +252 -0
  77. package/src/tool/egg-timer/i18n/nl.ts +252 -0
  78. package/src/tool/egg-timer/i18n/pl.ts +252 -0
  79. package/src/tool/egg-timer/i18n/pt.ts +252 -0
  80. package/src/tool/egg-timer/i18n/ru.ts +252 -0
  81. package/src/tool/egg-timer/i18n/sv.ts +252 -0
  82. package/src/tool/egg-timer/i18n/tr.ts +252 -0
  83. package/src/tool/egg-timer/i18n/zh.ts +252 -0
  84. package/src/tool/egg-timer/index.ts +12 -0
  85. package/src/tool/ingredient-rescaler/i18n/de.ts +244 -0
  86. package/src/tool/ingredient-rescaler/i18n/id.ts +244 -0
  87. package/src/tool/ingredient-rescaler/i18n/it.ts +244 -0
  88. package/src/tool/ingredient-rescaler/i18n/ja.ts +244 -0
  89. package/src/tool/ingredient-rescaler/i18n/ko.ts +244 -0
  90. package/src/tool/ingredient-rescaler/i18n/nl.ts +244 -0
  91. package/src/tool/ingredient-rescaler/i18n/pl.ts +244 -0
  92. package/src/tool/ingredient-rescaler/i18n/pt.ts +244 -0
  93. package/src/tool/ingredient-rescaler/i18n/ru.ts +244 -0
  94. package/src/tool/ingredient-rescaler/i18n/sv.ts +244 -0
  95. package/src/tool/ingredient-rescaler/i18n/tr.ts +244 -0
  96. package/src/tool/ingredient-rescaler/i18n/zh.ts +244 -0
  97. package/src/tool/ingredient-rescaler/index.ts +12 -0
  98. package/src/tool/kitchen-timer/i18n/de.ts +174 -0
  99. package/src/tool/kitchen-timer/i18n/id.ts +170 -0
  100. package/src/tool/kitchen-timer/i18n/it.ts +174 -0
  101. package/src/tool/kitchen-timer/i18n/ja.ts +170 -0
  102. package/src/tool/kitchen-timer/i18n/ko.ts +170 -0
  103. package/src/tool/kitchen-timer/i18n/nl.ts +174 -0
  104. package/src/tool/kitchen-timer/i18n/pl.ts +170 -0
  105. package/src/tool/kitchen-timer/i18n/pt.ts +174 -0
  106. package/src/tool/kitchen-timer/i18n/ru.ts +170 -0
  107. package/src/tool/kitchen-timer/i18n/sv.ts +170 -0
  108. package/src/tool/kitchen-timer/i18n/tr.ts +170 -0
  109. package/src/tool/kitchen-timer/i18n/zh.ts +170 -0
  110. package/src/tool/kitchen-timer/index.ts +12 -0
  111. package/src/tool/meringue-peak/i18n/de.ts +221 -0
  112. package/src/tool/meringue-peak/i18n/id.ts +209 -0
  113. package/src/tool/meringue-peak/i18n/it.ts +210 -0
  114. package/src/tool/meringue-peak/i18n/ja.ts +210 -0
  115. package/src/tool/meringue-peak/i18n/ko.ts +210 -0
  116. package/src/tool/meringue-peak/i18n/nl.ts +210 -0
  117. package/src/tool/meringue-peak/i18n/pl.ts +210 -0
  118. package/src/tool/meringue-peak/i18n/pt.ts +210 -0
  119. package/src/tool/meringue-peak/i18n/ru.ts +210 -0
  120. package/src/tool/meringue-peak/i18n/sv.ts +210 -0
  121. package/src/tool/meringue-peak/i18n/tr.ts +210 -0
  122. package/src/tool/meringue-peak/i18n/zh.ts +210 -0
  123. package/src/tool/meringue-peak/index.ts +12 -0
  124. package/src/tool/mold-scaler/i18n/de.ts +183 -0
  125. package/src/tool/mold-scaler/i18n/id.ts +169 -0
  126. package/src/tool/mold-scaler/i18n/it.ts +170 -0
  127. package/src/tool/mold-scaler/i18n/ja.ts +170 -0
  128. package/src/tool/mold-scaler/i18n/ko.ts +170 -0
  129. package/src/tool/mold-scaler/i18n/nl.ts +170 -0
  130. package/src/tool/mold-scaler/i18n/pl.ts +170 -0
  131. package/src/tool/mold-scaler/i18n/pt.ts +170 -0
  132. package/src/tool/mold-scaler/i18n/ru.ts +170 -0
  133. package/src/tool/mold-scaler/i18n/sv.ts +170 -0
  134. package/src/tool/mold-scaler/i18n/tr.ts +170 -0
  135. package/src/tool/mold-scaler/i18n/zh.ts +170 -0
  136. package/src/tool/mold-scaler/index.ts +12 -0
  137. package/src/tool/pizza/i18n/de.ts +168 -0
  138. package/src/tool/pizza/i18n/id.ts +125 -0
  139. package/src/tool/pizza/i18n/it.ts +172 -0
  140. package/src/tool/pizza/i18n/ja.ts +125 -0
  141. package/src/tool/pizza/i18n/ko.ts +125 -0
  142. package/src/tool/pizza/i18n/nl.ts +164 -0
  143. package/src/tool/pizza/i18n/pl.ts +125 -0
  144. package/src/tool/pizza/i18n/pt.ts +168 -0
  145. package/src/tool/pizza/i18n/ru.ts +151 -0
  146. package/src/tool/pizza/i18n/sv.ts +164 -0
  147. package/src/tool/pizza/i18n/tr.ts +125 -0
  148. package/src/tool/pizza/i18n/zh.ts +125 -0
  149. package/src/tool/pizza/index.ts +12 -0
  150. package/src/tool/roux-guide/i18n/de.ts +165 -0
  151. package/src/tool/roux-guide/i18n/id.ts +139 -0
  152. package/src/tool/roux-guide/i18n/it.ts +165 -0
  153. package/src/tool/roux-guide/i18n/ja.ts +139 -0
  154. package/src/tool/roux-guide/i18n/ko.ts +139 -0
  155. package/src/tool/roux-guide/i18n/nl.ts +165 -0
  156. package/src/tool/roux-guide/i18n/pl.ts +139 -0
  157. package/src/tool/roux-guide/i18n/pt.ts +165 -0
  158. package/src/tool/roux-guide/i18n/ru.ts +139 -0
  159. package/src/tool/roux-guide/i18n/sv.ts +139 -0
  160. package/src/tool/roux-guide/i18n/tr.ts +139 -0
  161. package/src/tool/roux-guide/i18n/zh.ts +139 -0
  162. package/src/tool/roux-guide/index.ts +12 -0
  163. package/src/tool/sourdough-calculator/i18n/de.ts +142 -0
  164. package/src/tool/sourdough-calculator/i18n/id.ts +116 -0
  165. package/src/tool/sourdough-calculator/i18n/it.ts +142 -0
  166. package/src/tool/sourdough-calculator/i18n/ja.ts +116 -0
  167. package/src/tool/sourdough-calculator/i18n/ko.ts +116 -0
  168. package/src/tool/sourdough-calculator/i18n/nl.ts +116 -0
  169. package/src/tool/sourdough-calculator/i18n/pl.ts +116 -0
  170. package/src/tool/sourdough-calculator/i18n/pt.ts +142 -0
  171. package/src/tool/sourdough-calculator/i18n/ru.ts +116 -0
  172. package/src/tool/sourdough-calculator/i18n/sv.ts +116 -0
  173. package/src/tool/sourdough-calculator/i18n/tr.ts +116 -0
  174. package/src/tool/sourdough-calculator/i18n/zh.ts +116 -0
  175. package/src/tool/sourdough-calculator/index.ts +12 -0
@@ -0,0 +1,244 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = 'Pengatur Takaran Bahan & Resep';
4
+ const description = 'Ubah skala resep secara otomatis berdasarkan jumlah porsi. Hitung jumlah bahan yang tepat dengan mengalikan atau mengurangi resep Anda tanpa repot.';
5
+
6
+ const faq = [
7
+ {
8
+ question: 'Mengapa faktor konversi saya menyertakan desimal?',
9
+ answer: 'Karena proporsi kuliner tidak selalu bulat. Jika Anda mengubah skala resep dari 4 orang menjadi 7 orang, faktornya tepat 1,75. Bahan-bahan dikalikan dengan angka tersebut, meskipun hasilnya berupa pecahan. Ini lebih akurat daripada pembulatan sembarangan.',
10
+ },
11
+ {
12
+ question: 'Apa yang terjadi jika saya memasukkan "1/2 sdt garam"?',
13
+ answer: 'Alat ini mencari angkanya terlebih dahulu. Ia akan mengenali "1" sebagai jumlah, lalu "/2" sebagai bagian dari satuan. Hasilnya adalah "0,5" dan akan diskalakan dengan benar. Untuk pecahan seperti "1/2", sebaiknya masukkan "0,5" secara langsung (lebih jelas) atau alat akan menginterpretasikannya sebagai pembagian.',
14
+ },
15
+ {
16
+ question: 'Haruskah saya membulatkan hasil akhirnya?',
17
+ answer: 'Tergantung pada bahannya. Untuk tepung, ya. Untuk ragi atau rempah-rempah, presisi kurang krusial (skalakan ke 75% dari yang ditentukan). Untuk telur: jika Anda mendapatkan 2,3, gunakan 2 telur utuh + bagian dari telur ketiga (ditimbang), atau bulatkan ke 2 jika masakan memungkinkan.',
18
+ },
19
+ {
20
+ question: 'Mengapa hasilnya tidak berubah saat saya mengganti porsi?',
21
+ answer: 'Pastikan kolom bahan sudah terisi. Jika kosong, tidak ada yang bisa diskalakan. Periksa juga apakah angka pada bahan Anda dapat dikenali (misalnya: "500g", "1/2 sdt").',
22
+ },
23
+ {
24
+ question: 'Apakah ini berfungsi dengan ukuran imperial (ons, cangkir)?',
25
+ answer: 'Secara teknis ya, alat ini membaca angka dan skala. Namun presisi terbatas pada ukuran cangkir (volume tidak konsisten). Disarankan untuk mengubah ke gram sebelum mengubah skala.',
26
+ },
27
+ ];
28
+
29
+ const howTo = [
30
+ {
31
+ name: 'Masukkan porsi Anda',
32
+ text: 'Pada kolom "Asli", masukkan jumlah orang sesuai desain resep. Pada kolom "Tujuan", masukkan jumlah orang yang akan Anda masak.',
33
+ },
34
+ {
35
+ name: 'Tempelkan daftar bahan Anda',
36
+ text: 'Salin dan tempel daftar Anda apa adanya. Satu bahan per baris. Alat ini mengenali angka di awal (500g, 1/2, 2,5) dan mengubah skala secara otomatis.',
37
+ },
38
+ {
39
+ name: 'Sesuaikan menurut konteks',
40
+ text: 'Hasilnya akurat secara matematis, tetapi memasak adalah seni. Rempah-rempah: skalakan ke 75%. Ragi: gunakan lebih sedikit dari teori untuk jumlah besar. Waktu masak tidak pernah diskalakan.',
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: 'pengatur-skala-bahan',
77
+ title,
78
+ description,
79
+ ui: {
80
+ servings: 'Porsi',
81
+ original: 'Asli',
82
+ desired: 'Tujuan',
83
+ multiplyingFactor: 'Faktor Pengali',
84
+ ingredientsList: 'Daftar Bahan',
85
+ pasteHere: 'Tempel daftar Anda di sini.',
86
+ exampleLine1: 'Misal:',
87
+ exampleLine2: '500g Tepung',
88
+ exampleLine3: '300ml Air',
89
+ exampleLine4: '10g Garam',
90
+ result: 'Hasil',
91
+ copy: 'Salin',
92
+ copied: 'Tersalin!',
93
+ emptyState: 'Bahan-bahan yang disesuaikan akan muncul di sini...',
94
+ defaultIngredient1: '200g Tepung',
95
+ defaultIngredient2: '100ml Susu',
96
+ defaultIngredient3: '2 Telur',
97
+ },
98
+ faqTitle: 'Pertanyaan yang Sering Diajukan',
99
+ faq,
100
+ bibliographyTitle: 'Bibliografi',
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 - Teknik penskalaan ilmiah',
112
+ url: 'https://www.modernistcuisine.com/',
113
+ },
114
+ ],
115
+ howTo,
116
+ seo: [
117
+ {
118
+ type: 'title',
119
+ text: 'Panduan Utama untuk Penskalaan dan Konversi Resep',
120
+ level: 2,
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: '<strong>Penskalaan bahan</strong> adalah salah satu tugas paling kritis dan rentan kesalahan di dapur profesional. Ini bukan sekadar mengalikan angka, tetapi memahami bagaimana kimia dan fisika makanan bereaksi terhadap perubahan volume dan luas permukaan.',
125
+ },
126
+ {
127
+ type: 'stats',
128
+ columns: 4,
129
+ items: [
130
+ {
131
+ value: 'x1.75',
132
+ label: 'Faktor dari 4 ke 7 org.',
133
+ icon: 'mdi:calculator',
134
+ },
135
+ {
136
+ value: '75%',
137
+ label: 'Penyesuaian Rempah',
138
+ icon: 'mdi:shaker-outline',
139
+ },
140
+ {
141
+ value: '0%',
142
+ label: 'Penskalaan Waktu',
143
+ icon: 'mdi:timer-off',
144
+ },
145
+ {
146
+ value: '100g',
147
+ label: 'Basis Referensi',
148
+ icon: 'mdi:weight-gram',
149
+ },
150
+ ],
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: 'Perbedaan Antara Penskalaan Linear dan Kontekstual',
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'comparative',
159
+ columns: 2,
160
+ items: [
161
+ {
162
+ title: 'Penskalaan Linear Matematis',
163
+ icon: 'mdi:math-log',
164
+ description: 'Perkalian langsung semua nilai dengan faktor konversi yang diperoleh.',
165
+ points: [
166
+ 'Sangat cocok untuk tepung dan cairan dasar',
167
+ 'Ideal untuk kue presisi dingin',
168
+ 'Berfungsi baik pada perubahan kecil (x2, x0,5)',
169
+ 'Mudah dihitung secara otomatis',
170
+ ],
171
+ },
172
+ {
173
+ title: 'Penskalaan Kontekstual Dapur',
174
+ icon: 'mdi:chef-hat',
175
+ description: 'Penyesuaian proporsi berdasarkan saturasi rasa dan penguapan.',
176
+ highlight: true,
177
+ points: [
178
+ 'Menghindari kelebihan garam dan rempah',
179
+ 'Mempertimbangkan luas permukaan penguapan',
180
+ 'Menyesuaikan ragi berdasarkan massa',
181
+ 'Memerlukan pengalaman dan penilaian koki',
182
+ ],
183
+ },
184
+ ],
185
+ },
186
+ {
187
+ type: 'title',
188
+ text: 'Faktor Konversi Berdasarkan Jumlah Tamu',
189
+ level: 3,
190
+ },
191
+ {
192
+ type: 'table',
193
+ headers: ['Dari Porsi', 'Ke Porsi', 'Faktor (FC)', 'Tingkat Kesulitan'],
194
+ rows: [
195
+ ['2 orang', '4 orang', 'x 2.0', 'Rendah (Linear)'],
196
+ ['4 orang', '6 orang', 'x 1.5', 'Rendah (Linear)'],
197
+ ['4 orang', '10 orang', 'x 2.5', 'Sedang (Perhatikan rempah)'],
198
+ ['4 orang', '25 orang', 'x 6.25', 'Tinggi (Kontekstual)'],
199
+ ],
200
+ },
201
+ {
202
+ type: 'diagnostic',
203
+ variant: 'warning',
204
+ title: 'Masalah Umum Saat Melipatgandakan Resep',
205
+ html: 'Jika Anda merasa rasanya terlalu kuat setelah penskalaan (terutama rasa pedas atau asin), kurangi skala bahan spesifik tersebut menjadi 75%. Jangan pernah melipatgandakan waktu masak; suhu internal dicapai berdasarkan ketebalan bahan, bukan berat total.',
206
+ },
207
+ {
208
+ type: 'title',
209
+ text: 'Glosarium Terminologi Standarisasi',
210
+ level: 3,
211
+ },
212
+ {
213
+ type: 'glossary',
214
+ items: [
215
+ {
216
+ term: 'Faktor Konversi',
217
+ definition: 'Angka yang digunakan sebagai pengali semua bahan: Jumlah Tujuan / Jumlah Asli.',
218
+ },
219
+ {
220
+ term: 'Penyusutan Masak',
221
+ definition: 'Kehilangan berat bahan karena penguapan atau keluarnya lemak.',
222
+ },
223
+ {
224
+ term: 'Berat Kotor vs Netto',
225
+ definition: 'Berat sebelum dan sesudah bahan dibersihkan.',
226
+ },
227
+ {
228
+ term: 'Hasil (Yield)',
229
+ definition: 'Jumlah total produk jadi setelah penskalaan dan pemasakan.',
230
+ },
231
+ ],
232
+ },
233
+ {
234
+ type: 'tip',
235
+ title: 'Trik Kocokan Telur',
236
+ html: 'Jika kalkulator menunjukkan 2,3 telur, kocok satu telur utuh, timbang, dan gunakan hanya 30% dari beratnya. Ini adalah satu-satunya cara menjaga presisi pada pembuatan kue halus.',
237
+ },
238
+ {
239
+ type: 'paragraph',
240
+ html: 'Alat kami menyederhanakan matematika agar Anda dapat mencurahkan energi untuk hal yang benar-benar penting: kreativitas dan rasa.',
241
+ },
242
+ ],
243
+ schemas: [appSchema, faqSchema, howToSchema],
244
+ };
@@ -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
+ };