@jjlmoya/utils-cooking 1.12.0 → 1.14.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 (182) 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/slug_language_code_format.test.ts +23 -0
  19. package/src/tests/slug_uniqueness.test.ts +81 -0
  20. package/src/tests/title_quality.test.ts +1 -1
  21. package/src/tool/american-kitchen-converter/i18n/de.ts +356 -0
  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/fr.ts +1 -1
  36. package/src/tool/banana-ripeness/i18n/id.ts +248 -0
  37. package/src/tool/banana-ripeness/i18n/it.ts +248 -0
  38. package/src/tool/banana-ripeness/i18n/ja.ts +248 -0
  39. package/src/tool/banana-ripeness/i18n/ko.ts +248 -0
  40. package/src/tool/banana-ripeness/i18n/nl.ts +248 -0
  41. package/src/tool/banana-ripeness/i18n/pl.ts +248 -0
  42. package/src/tool/banana-ripeness/i18n/pt.ts +248 -0
  43. package/src/tool/banana-ripeness/i18n/ru.ts +248 -0
  44. package/src/tool/banana-ripeness/i18n/sv.ts +248 -0
  45. package/src/tool/banana-ripeness/i18n/tr.ts +248 -0
  46. package/src/tool/banana-ripeness/i18n/zh.ts +248 -0
  47. package/src/tool/banana-ripeness/index.ts +12 -0
  48. package/src/tool/brine/i18n/de.ts +253 -0
  49. package/src/tool/brine/i18n/id.ts +253 -0
  50. package/src/tool/brine/i18n/it.ts +253 -0
  51. package/src/tool/brine/i18n/ja.ts +253 -0
  52. package/src/tool/brine/i18n/ko.ts +253 -0
  53. package/src/tool/brine/i18n/nl.ts +253 -0
  54. package/src/tool/brine/i18n/pl.ts +253 -0
  55. package/src/tool/brine/i18n/pt.ts +253 -0
  56. package/src/tool/brine/i18n/ru.ts +253 -0
  57. package/src/tool/brine/i18n/sv.ts +253 -0
  58. package/src/tool/brine/i18n/tr.ts +253 -0
  59. package/src/tool/brine/i18n/zh.ts +253 -0
  60. package/src/tool/brine/index.ts +12 -0
  61. package/src/tool/cookware-guide/i18n/de.ts +200 -0
  62. package/src/tool/cookware-guide/i18n/fr.ts +3 -3
  63. package/src/tool/cookware-guide/i18n/id.ts +200 -0
  64. package/src/tool/cookware-guide/i18n/it.ts +200 -0
  65. package/src/tool/cookware-guide/i18n/ja.ts +200 -0
  66. package/src/tool/cookware-guide/i18n/ko.ts +200 -0
  67. package/src/tool/cookware-guide/i18n/nl.ts +200 -0
  68. package/src/tool/cookware-guide/i18n/pl.ts +200 -0
  69. package/src/tool/cookware-guide/i18n/pt.ts +200 -0
  70. package/src/tool/cookware-guide/i18n/ru.ts +200 -0
  71. package/src/tool/cookware-guide/i18n/sv.ts +200 -0
  72. package/src/tool/cookware-guide/i18n/tr.ts +200 -0
  73. package/src/tool/cookware-guide/i18n/zh.ts +200 -0
  74. package/src/tool/cookware-guide/index.ts +12 -0
  75. package/src/tool/egg-timer/i18n/de.ts +252 -0
  76. package/src/tool/egg-timer/i18n/id.ts +252 -0
  77. package/src/tool/egg-timer/i18n/it.ts +252 -0
  78. package/src/tool/egg-timer/i18n/ja.ts +252 -0
  79. package/src/tool/egg-timer/i18n/ko.ts +252 -0
  80. package/src/tool/egg-timer/i18n/nl.ts +252 -0
  81. package/src/tool/egg-timer/i18n/pl.ts +252 -0
  82. package/src/tool/egg-timer/i18n/pt.ts +252 -0
  83. package/src/tool/egg-timer/i18n/ru.ts +252 -0
  84. package/src/tool/egg-timer/i18n/sv.ts +252 -0
  85. package/src/tool/egg-timer/i18n/tr.ts +252 -0
  86. package/src/tool/egg-timer/i18n/zh.ts +252 -0
  87. package/src/tool/egg-timer/index.ts +12 -0
  88. package/src/tool/ingredient-rescaler/i18n/de.ts +244 -0
  89. package/src/tool/ingredient-rescaler/i18n/es.ts +95 -95
  90. package/src/tool/ingredient-rescaler/i18n/id.ts +244 -0
  91. package/src/tool/ingredient-rescaler/i18n/it.ts +244 -0
  92. package/src/tool/ingredient-rescaler/i18n/ja.ts +244 -0
  93. package/src/tool/ingredient-rescaler/i18n/ko.ts +244 -0
  94. package/src/tool/ingredient-rescaler/i18n/nl.ts +244 -0
  95. package/src/tool/ingredient-rescaler/i18n/pl.ts +244 -0
  96. package/src/tool/ingredient-rescaler/i18n/pt.ts +244 -0
  97. package/src/tool/ingredient-rescaler/i18n/ru.ts +244 -0
  98. package/src/tool/ingredient-rescaler/i18n/sv.ts +244 -0
  99. package/src/tool/ingredient-rescaler/i18n/tr.ts +244 -0
  100. package/src/tool/ingredient-rescaler/i18n/zh.ts +244 -0
  101. package/src/tool/ingredient-rescaler/index.ts +12 -0
  102. package/src/tool/kitchen-timer/i18n/de.ts +174 -0
  103. package/src/tool/kitchen-timer/i18n/id.ts +170 -0
  104. package/src/tool/kitchen-timer/i18n/it.ts +174 -0
  105. package/src/tool/kitchen-timer/i18n/ja.ts +170 -0
  106. package/src/tool/kitchen-timer/i18n/ko.ts +170 -0
  107. package/src/tool/kitchen-timer/i18n/nl.ts +174 -0
  108. package/src/tool/kitchen-timer/i18n/pl.ts +170 -0
  109. package/src/tool/kitchen-timer/i18n/pt.ts +174 -0
  110. package/src/tool/kitchen-timer/i18n/ru.ts +170 -0
  111. package/src/tool/kitchen-timer/i18n/sv.ts +170 -0
  112. package/src/tool/kitchen-timer/i18n/tr.ts +170 -0
  113. package/src/tool/kitchen-timer/i18n/zh.ts +170 -0
  114. package/src/tool/kitchen-timer/index.ts +12 -0
  115. package/src/tool/meringue-peak/i18n/de.ts +221 -0
  116. package/src/tool/meringue-peak/i18n/id.ts +209 -0
  117. package/src/tool/meringue-peak/i18n/it.ts +210 -0
  118. package/src/tool/meringue-peak/i18n/ja.ts +210 -0
  119. package/src/tool/meringue-peak/i18n/ko.ts +210 -0
  120. package/src/tool/meringue-peak/i18n/nl.ts +210 -0
  121. package/src/tool/meringue-peak/i18n/pl.ts +210 -0
  122. package/src/tool/meringue-peak/i18n/pt.ts +210 -0
  123. package/src/tool/meringue-peak/i18n/ru.ts +210 -0
  124. package/src/tool/meringue-peak/i18n/sv.ts +210 -0
  125. package/src/tool/meringue-peak/i18n/tr.ts +210 -0
  126. package/src/tool/meringue-peak/i18n/zh.ts +210 -0
  127. package/src/tool/meringue-peak/index.ts +12 -0
  128. package/src/tool/mold-scaler/i18n/de.ts +183 -0
  129. package/src/tool/mold-scaler/i18n/id.ts +169 -0
  130. package/src/tool/mold-scaler/i18n/it.ts +170 -0
  131. package/src/tool/mold-scaler/i18n/ja.ts +170 -0
  132. package/src/tool/mold-scaler/i18n/ko.ts +170 -0
  133. package/src/tool/mold-scaler/i18n/nl.ts +170 -0
  134. package/src/tool/mold-scaler/i18n/pl.ts +170 -0
  135. package/src/tool/mold-scaler/i18n/pt.ts +170 -0
  136. package/src/tool/mold-scaler/i18n/ru.ts +170 -0
  137. package/src/tool/mold-scaler/i18n/sv.ts +170 -0
  138. package/src/tool/mold-scaler/i18n/tr.ts +170 -0
  139. package/src/tool/mold-scaler/i18n/zh.ts +170 -0
  140. package/src/tool/mold-scaler/index.ts +12 -0
  141. package/src/tool/pizza/i18n/de.ts +168 -0
  142. package/src/tool/pizza/i18n/es.ts +228 -228
  143. package/src/tool/pizza/i18n/fr.ts +1 -1
  144. package/src/tool/pizza/i18n/id.ts +125 -0
  145. package/src/tool/pizza/i18n/it.ts +172 -0
  146. package/src/tool/pizza/i18n/ja.ts +125 -0
  147. package/src/tool/pizza/i18n/ko.ts +125 -0
  148. package/src/tool/pizza/i18n/nl.ts +164 -0
  149. package/src/tool/pizza/i18n/pl.ts +125 -0
  150. package/src/tool/pizza/i18n/pt.ts +168 -0
  151. package/src/tool/pizza/i18n/ru.ts +151 -0
  152. package/src/tool/pizza/i18n/sv.ts +164 -0
  153. package/src/tool/pizza/i18n/tr.ts +125 -0
  154. package/src/tool/pizza/i18n/zh.ts +125 -0
  155. package/src/tool/pizza/index.ts +12 -0
  156. package/src/tool/roux-guide/i18n/de.ts +165 -0
  157. package/src/tool/roux-guide/i18n/es.ts +172 -172
  158. package/src/tool/roux-guide/i18n/id.ts +139 -0
  159. package/src/tool/roux-guide/i18n/it.ts +165 -0
  160. package/src/tool/roux-guide/i18n/ja.ts +139 -0
  161. package/src/tool/roux-guide/i18n/ko.ts +139 -0
  162. package/src/tool/roux-guide/i18n/nl.ts +165 -0
  163. package/src/tool/roux-guide/i18n/pl.ts +139 -0
  164. package/src/tool/roux-guide/i18n/pt.ts +165 -0
  165. package/src/tool/roux-guide/i18n/ru.ts +139 -0
  166. package/src/tool/roux-guide/i18n/sv.ts +139 -0
  167. package/src/tool/roux-guide/i18n/tr.ts +139 -0
  168. package/src/tool/roux-guide/i18n/zh.ts +139 -0
  169. package/src/tool/roux-guide/index.ts +12 -0
  170. package/src/tool/sourdough-calculator/i18n/de.ts +142 -0
  171. package/src/tool/sourdough-calculator/i18n/id.ts +116 -0
  172. package/src/tool/sourdough-calculator/i18n/it.ts +142 -0
  173. package/src/tool/sourdough-calculator/i18n/ja.ts +116 -0
  174. package/src/tool/sourdough-calculator/i18n/ko.ts +116 -0
  175. package/src/tool/sourdough-calculator/i18n/nl.ts +116 -0
  176. package/src/tool/sourdough-calculator/i18n/pl.ts +116 -0
  177. package/src/tool/sourdough-calculator/i18n/pt.ts +142 -0
  178. package/src/tool/sourdough-calculator/i18n/ru.ts +116 -0
  179. package/src/tool/sourdough-calculator/i18n/sv.ts +116 -0
  180. package/src/tool/sourdough-calculator/i18n/tr.ts +116 -0
  181. package/src/tool/sourdough-calculator/i18n/zh.ts +116 -0
  182. package/src/tool/sourdough-calculator/index.ts +12 -0
@@ -0,0 +1,139 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = "黄油炒面(Roux)与母酱大师指南";
4
+ const description = "交互式 Roux 计算器。学习以精确比例制作白酱(Bechamel)、天鹅绒酱(Velouté)和褐酱(Espagnole)。法国高等料理的基础。";
5
+ const faq = [
6
+ {
7
+ question: '什么是 Roux,它有什么作用?',
8
+ answer: '它是由油脂(通常是黄油)和面粉低温烹煮而成的混合物。它是法国母酱(如白酱或天鹅绒酱)的基础增稠剂。',
9
+ },
10
+ {
11
+ question: 'Roux 的理想比例是多少?',
12
+ answer: '标准重量比为 1:1。例如,50克黄油和50克面粉。根据所需的浓度,这种混合物大约可以增稠 1 升液体。',
13
+ },
14
+ {
15
+ question: '不同类型的 Roux 有什么区别?',
16
+ answer: '白 Roux 烹煮 2-3 分钟(用于白酱)。金 Roux 烹煮 5-8 分钟(用于天鹅绒酱)。黑/褐 Roux 烹煮长达 15-20 分钟(用于褐酱)。颜色越深,坚果风味越浓,但增稠能力越弱。',
17
+ },
18
+ {
19
+ question: '如何避免结块?',
20
+ answer: '金科玉律是“温度相反”:将冷液体倒入热 Roux 中,或者将热液体倒入冷 Roux 中。徐徐加入液体并用手动打蛋器不断搅拌。',
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: '选择液体类型',
26
+ text: '在牛奶(白酱)、淡高汤(天鹅绒酱)、浓高汤(褐酱)或番茄中选择。',
27
+ },
28
+ {
29
+ name: '定义所需浓度',
30
+ text: '从汤品/奶油到炸饼面团。计算器将自动调整所需的 Roux 比例。',
31
+ },
32
+ {
33
+ name: '输入液体体积',
34
+ text: '指定需要增稠的液体毫升数。计算器将确切告知您需要使用多少黄油和面粉。',
35
+ },
36
+ ];
37
+
38
+ const faqSchema = {
39
+ '@context': 'https://schema.org',
40
+ '@type': 'FAQPage',
41
+ mainEntity: faq.map((item) => ({
42
+ '@type': 'Question',
43
+ name: item.question,
44
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
45
+ })),
46
+ };
47
+
48
+ const howToSchema = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'HowTo',
51
+ name: title,
52
+ description,
53
+ step: howTo.map((step) => ({
54
+ '@type': 'HowToStep',
55
+ name: step.name,
56
+ text: step.text,
57
+ })),
58
+ };
59
+
60
+ const appSchema = {
61
+ '@context': 'https://schema.org',
62
+ '@type': 'SoftwareApplication',
63
+ name: title,
64
+ description,
65
+ applicationCategory: 'UtilitiesApplication',
66
+ operatingSystem: 'Web',
67
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'CNY' },
68
+ };
69
+
70
+ export const content: ToolLocaleContent = {
71
+ slug: 'roux-ratio-calculator-thickening-sauce-guide',
72
+ title,
73
+ description,
74
+ faqTitle: '常见问题',
75
+ faq,
76
+ bibliographyTitle: '参考资料',
77
+ bibliography: [
78
+ {
79
+ name: 'Larousse Gastronomique',
80
+ url: 'https://www.laroussecocina.com/',
81
+ },
82
+ ],
83
+ howTo,
84
+ seo: [
85
+ {
86
+ type: 'title',
87
+ text: 'Roux 与母酱计算大师指南',
88
+ level: 2,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: '<strong>Roux</strong> 是经典法式料理的结构基础。理解面粉、黄油和液体之间的关系,是制作丝滑酱汁与制作结块或带生粉味液体的区别所在。',
93
+ },
94
+ ],
95
+ ui: {
96
+ baseLiquid: '基础液体',
97
+ volume: '体积',
98
+ ml: 'ml',
99
+ liquidType: '液体类型',
100
+ milk: '牛奶',
101
+ lightStock: '淡高汤',
102
+ darkStock: '浓高汤',
103
+ tomato: '番茄',
104
+ sauceTexture: '酱汁浓度',
105
+ soup: '汤品 / 奶油',
106
+ normalSauce: '常规酱汁',
107
+ thick: '浓稠 / 填充',
108
+ croquette: '炸饼 / 面团',
109
+ rouxMix: 'Roux 混合比例',
110
+ butter: '黄油',
111
+ flour: '面粉',
112
+ instructions: '制作指南',
113
+ sauceName: '酱汁类型',
114
+ ratio: '比例',
115
+ chefTip: '主厨贴士',
116
+ white: '白色',
117
+ blond: '金色',
118
+ brown: '黑色/褐色',
119
+ beurreManied: '面粉黄油块(用于最后微调)',
120
+ recipeBechamel: "白酱",
121
+ recipeVeloute: "天鹅绒酱",
122
+ recipeEspagnole: "褐酱",
123
+ recipeTomato: "番茄酱",
124
+ tipBechamel: "使用冷牛奶。开始时分次加入,如果用力搅拌也可以一次加入。",
125
+ tipVeloute: "使用鸡肉或鱼肉高汤。在加入液体前,Roux 应散发饼干般的香气。",
126
+ tipEspagnole: "Roux 应呈现巧克力色,但注意不要烧焦。",
127
+ tipTomato: "Roux 有助于为番茄酱提供更好的质感和柔滑度。",
128
+ rouxWhiteLabel: "白 Roux",
129
+ rouxBlondLabel: "金 Roux",
130
+ rouxBrownLabel: "黑/褐 Roux",
131
+ descWhite: "煮至生粉味消失即可。不改变颜色。",
132
+ descBlond: "追求浅金色和坚果香气。",
133
+ descBrown: "使用极小火。呈巧克力色。注意:需要多加 10% 的分量。",
134
+ timeWhite: "2-3 分钟",
135
+ timeBlond: "5-8 分钟",
136
+ timeBrown: "15-20 分钟",
137
+ },
138
+ schemas: [faqSchema as any, howToSchema as any, appSchema as any],
139
+ };
@@ -13,6 +13,18 @@ export const rouxGuide: CookingToolEntry = {
13
13
  es: () => import('./i18n/es').then((m) => m.content),
14
14
  en: () => import('./i18n/en').then((m) => m.content),
15
15
  fr: () => import('./i18n/fr').then((m) => m.content),
16
+ de: () => import('./i18n/de').then((m) => m.content),
17
+ it: () => import('./i18n/it').then((m) => m.content),
18
+ pt: () => import('./i18n/pt').then((m) => m.content),
19
+ nl: () => import('./i18n/nl').then((m) => m.content),
20
+ sv: () => import('./i18n/sv').then((m) => m.content),
21
+ ru: () => import('./i18n/ru').then((m) => m.content),
22
+ tr: () => import('./i18n/tr').then((m) => m.content),
23
+ pl: () => import('./i18n/pl').then((m) => m.content),
24
+ id: () => import('./i18n/id').then((m) => m.content),
25
+ ja: () => import('./i18n/ja').then((m) => m.content),
26
+ zh: () => import('./i18n/zh').then((m) => m.content),
27
+ ko: () => import('./i18n/ko').then((m) => m.content),
16
28
  },
17
29
  };
18
30
 
@@ -0,0 +1,142 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = "Sauerteig Rechner: Fermentationsverhältnisse";
4
+ const description = "Berechnen Sie automatisch die Proportionen von Sauerteig, Mehl und Wasser zur Pflege Ihres Ansatzes. Vordefinierte oder benutzerdefinierte Verhältnisse.";
5
+ const faq = [
6
+ {
7
+ question: 'Was bedeutet das Verhältnis 1:1:1?',
8
+ answer: 'Es ist das gängigste Verhältnis für die Pflege bei Raumtemperatur. Es bedeutet 1 Teil Sauerteig, 1 Teil Mehl und 1 Teil Wasser. Sinnvoll bei täglicher Auffrischung.',
9
+ },
10
+ {
11
+ question: 'Wann nutze ich 1:2:2?',
12
+ answer: 'Das Verhältnis 1:2:2 dient der Aktivierung. Es sorgt für eine langsamere, aber vorhersehbare Fermentation. Ideal, wenn der Ansatz kühl gelagert wurde.',
13
+ },
14
+ {
15
+ question: 'Was ist der "Sweet Spot" 1:5:5?',
16
+ answer: 'Das Verhältnis 1:5:5 ist für viele Bäcker der ideale Punkt. Es ermöglicht 8-12 Stunden Fermentation bei Raumtemperatur, bevor der Sauerteig einsatzbereit ist.',
17
+ },
18
+ {
19
+ question: 'Kann ich benutzerdefinierte Verhältnisse verwenden?',
20
+ answer: 'Absolut. Wenn Sie ein spezielles Protokoll haben, können Sie Ihre eigenen Werte eingeben, z.B. 1:10:10 für eine sehr langsame Fermentation.',
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: 'Benötigte Gesamtmenge eingeben',
26
+ text: 'Geben Sie das Gesamtgewicht des Sauerteigs an, das Sie für Ihr Rezept benötigen (z.B. 300g für ein typisches Brot).',
27
+ },
28
+ {
29
+ name: 'Auffrischungsverhältnis wählen',
30
+ text: 'Wählen Sie aus den vordefinierten Verhältnissen (Pflegen, Aktivieren, Verzögern, Stark, Sweet Spot) oder erstellen Sie ein eigenes.',
31
+ },
32
+ {
33
+ name: 'Exakte Mengen erhalten',
34
+ text: 'Der Rechner zeigt Ihnen, wie viel Anstellgut, Mehl und Wasser Sie benötigen. Mischen Sie diese und lassen Sie sie fermentieren.',
35
+ },
36
+ ];
37
+
38
+ const faqSchema = {
39
+ '@context': 'https://schema.org',
40
+ '@type': 'FAQPage',
41
+ mainEntity: faq.map((item) => ({
42
+ '@type': 'Question',
43
+ name: item.question,
44
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
45
+ })),
46
+ };
47
+
48
+ const howToSchema = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'HowTo',
51
+ name: title,
52
+ description,
53
+ step: howTo.map((step) => ({
54
+ '@type': 'HowToStep',
55
+ name: step.name,
56
+ text: step.text,
57
+ })),
58
+ };
59
+
60
+ const appSchema = {
61
+ '@context': 'https://schema.org',
62
+ '@type': 'SoftwareApplication',
63
+ name: title,
64
+ description,
65
+ applicationCategory: 'UtilitiesApplication',
66
+ operatingSystem: 'Web',
67
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
68
+ };
69
+
70
+ export const content: ToolLocaleContent = {
71
+ slug: 'sauerteig',
72
+ title,
73
+ description,
74
+ faqTitle: 'Häufig gestellte Fragen',
75
+ faq,
76
+ bibliographyTitle: 'Bibliografie',
77
+ bibliography: [
78
+ {
79
+ name: 'Tartine Bread - Chad Robertson',
80
+ url: 'https://www.penguinrandomhouse.com/books/310016/tartine-bread-by-chad-robertson/',
81
+ },
82
+ ],
83
+ howTo,
84
+ seo: [
85
+ {
86
+ type: 'title',
87
+ text: 'Meisterleitfaden für die Pflege und Auffrischung von Sauerteig',
88
+ level: 2,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: '<strong>Sauerteig</strong> ist nicht nur eine Zutat, sondern ein lebendiges Ökosystem aus wilden Hefen und Milchsäurebakterien (LAB). Die Gesundheit dieses Ansatzes ist der Schlüssel zu exzellentem Brot.',
93
+ },
94
+ {
95
+ type: 'stats',
96
+ columns: 4,
97
+ items: [
98
+ {
99
+ value: '24-26°C',
100
+ label: 'Optimale Temp.',
101
+ icon: 'mdi:thermometer',
102
+ },
103
+ {
104
+ value: '3.8 - 4.2',
105
+ label: 'Idealer pH-Wert',
106
+ icon: 'mdi:test-tube',
107
+ },
108
+ {
109
+ value: '100%',
110
+ label: 'Std. Hydratation',
111
+ icon: 'mdi:water-percent',
112
+ },
113
+ {
114
+ value: 'x2 - x3',
115
+ label: 'Wachstum im Peak',
116
+ icon: 'mdi:trending-up',
117
+ },
118
+ ],
119
+ },
120
+ ],
121
+ ui: {
122
+ totalAmount: 'Gesamtmenge',
123
+ refreshRatio: 'Auffrischungsverhältnis',
124
+ maintain: 'Pflegen',
125
+ activate: 'Aktivieren',
126
+ retard: 'Verzögern',
127
+ strong: 'Stark',
128
+ sweetSpot: 'Sweet Spot',
129
+ custom: 'Benutzerdefiniert',
130
+ sourdough: 'Sauerteig',
131
+ activeCulture: 'Aktives Anstellgut',
132
+ flour: 'Mehl',
133
+ flourType: 'Type oder Vollkorn',
134
+ water: 'Wasser',
135
+ chlorineFree: 'Chlorfrei',
136
+ todayFormula: 'Heutige Formel',
137
+ hydration: '100% Hydratation',
138
+ totalDough: 'Gesamtgewicht',
139
+ mm: 'ASG',
140
+ },
141
+ schemas: [faqSchema, howToSchema, appSchema],
142
+ };
@@ -0,0 +1,116 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = "Kalkulator Sourdough Rasio Fermentasi";
4
+ const description = "Hitung otomatis proporsi sourdough, tepung, dan air untuk menjaga kultur Anda. Rasio standar atau khusus.";
5
+ const faq = [
6
+ {
7
+ question: 'Apa itu rasio 1:1:1?',
8
+ answer: 'Ini adalah rasio paling umum untuk menjaga sourdough pada suhu ruang. Artinya 1 bagian sourdough, 1 bagian tepung, dan 1 bagian air. Berguna untuk penyegaran harian.',
9
+ },
10
+ {
11
+ question: 'Kapan saya menggunakan 1:2:2?',
12
+ answer: 'Rasio 1:2:2 adalah untuk mengaktifkan sourdough. Menghasilkan fermentasi yang lebih lambat tetapi dapat diprediksi. Ideal jika Anda menyimpan kultur di kulkas.',
13
+ },
14
+ {
15
+ question: 'Apa itu "sweet spot" 1:5:5?',
16
+ answer: 'Rasio 1:5:5 adalah "sweet spot" bagi banyak pembuat roti. Memungkinkan fermentasi 8-12 jam pada suhu ruang sebelum sourdough siap.',
17
+ },
18
+ {
19
+ question: 'Bisakah saya menggunakan rasio khusus?',
20
+ answer: 'Tentu saja. Jika Anda memiliki protokol spesifik, Anda dapat memasukkan rasio Anda sendiri. Beberapa pembuat roti menggunakan 1:10:10 untuk fermentasi yang sangat lambat.',
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: 'Masukkan jumlah total yang Anda butuhkan',
26
+ text: 'Tentukan berat total sourdough yang dibutuhkan untuk resep Anda (misal: 300g untuk roti standar).',
27
+ },
28
+ {
29
+ name: 'Pilih rasio penyegaran',
30
+ text: 'Pilih di antara rasio yang tersedia (Jaga, Aktifkan, Perlambat, Kuat, Sweet Spot) atau buat yang khusus.',
31
+ },
32
+ {
33
+ name: 'Dapatkan jumlah yang akurat',
34
+ text: 'Kalkulator akan menunjukkan kepada Anda berapa banyak ragi sourdough, tepung, dan air yang Anda butuhkan. Campurkan dan biarkan terfermentasi.',
35
+ },
36
+ ];
37
+
38
+ const faqSchema = {
39
+ '@context': 'https://schema.org',
40
+ '@type': 'FAQPage',
41
+ mainEntity: faq.map((item) => ({
42
+ '@type': 'Question',
43
+ name: item.question,
44
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
45
+ })),
46
+ };
47
+
48
+ const howToSchema = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'HowTo',
51
+ name: title,
52
+ description,
53
+ step: howTo.map((step) => ({
54
+ '@type': 'HowToStep',
55
+ name: step.name,
56
+ text: step.text,
57
+ })),
58
+ };
59
+
60
+ const appSchema = {
61
+ '@context': 'https://schema.org',
62
+ '@type': 'SoftwareApplication',
63
+ name: title,
64
+ description,
65
+ applicationCategory: 'UtilitiesApplication',
66
+ operatingSystem: 'Web',
67
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
68
+ };
69
+
70
+ export const content: ToolLocaleContent = {
71
+ slug: 'sourdough',
72
+ title,
73
+ description,
74
+ faqTitle: 'Pertanyaan Umum',
75
+ faq,
76
+ bibliographyTitle: 'Bibliografi',
77
+ bibliography: [
78
+ {
79
+ name: 'Tartine Bread - Chad Robertson',
80
+ url: 'https://www.penguinrandomhouse.com/books/310016/tartine-bread-by-chad-robertson/',
81
+ },
82
+ ],
83
+ howTo,
84
+ seo: [
85
+ {
86
+ type: 'title',
87
+ text: 'Panduan Ahli untuk Pemeliharaan dan Penyegaran Sourdough',
88
+ level: 2,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: '<strong>Sourdough</strong> bukan sekadar bahan, ia adalah ekosistem hidup dari ragi liar dan bakteri asam laktat (LAB). Kunci dari roti yang luar biasa terletak pada kesehatan kultur ini.',
93
+ },
94
+ ],
95
+ ui: {
96
+ totalAmount: 'Jumlah Akhir',
97
+ refreshRatio: 'Rasio Penyegaran',
98
+ maintain: 'Jaga',
99
+ activate: 'Aktifkan',
100
+ retard: 'Perlambat',
101
+ strong: 'Kuat',
102
+ sweetSpot: 'Sweet Spot',
103
+ custom: 'Khusus',
104
+ sourdough: 'Sourdough',
105
+ activeCulture: 'Kultur aktif',
106
+ flour: 'Tepung',
107
+ flourType: 'Kuat atau Whole Wheat',
108
+ water: 'Air',
109
+ chlorineFree: 'Tanpa klorin',
110
+ todayFormula: 'Formula Hari Ini',
111
+ hydration: 'Hidrasi 100 %',
112
+ totalDough: 'Total Adonan',
113
+ mm: 'SD',
114
+ },
115
+ schemas: [faqSchema, howToSchema, appSchema],
116
+ };
@@ -0,0 +1,142 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = "Calcolatore Pasta Madre Rapporti di Fermentazione";
4
+ const description = "Calcola automaticamente le proporzioni di pasta madre, farina e acqua per mantenere il tuo rinfresco. Rapporti predefiniti o personalizzati.";
5
+ const faq = [
6
+ {
7
+ question: "Cos'è il rapporto 1:1:1?",
8
+ answer: "È il rapporto più comune per mantenere la pasta madre a temperatura ambiente. Significa 1 parte di pasta madre, 1 parte di farina e 1 parte di acqua. Utile per rinfreschi giornalieri.",
9
+ },
10
+ {
11
+ question: "Quando uso 1:2:2?",
12
+ answer: "Il rapporto 1:2:2 serve per attivare la pasta madre. Genera una fermentazione più lenta ma prevedibile. Ideale se conservi il lievito in frigo e vuoi rinvigorirlo.",
13
+ },
14
+ {
15
+ question: 'Cos\'è lo "sweet spot" 1:5:5?',
16
+ answer: 'Il rapporto 1:5:5 è lo "sweet spot" per molti panificatori. Permette 8-12 ore di fermentazione a temperatura ambiente prima che la pasta madre sia pronta.',
17
+ },
18
+ {
19
+ question: "Posso usare rapporti personalizzati?",
20
+ answer: "Assolutamente. Se hai un protocollo specifico, puoi inserire i tuoi rapporti. Alcuni usano 1:10:10 per una fermentazione lentissima.",
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: "Inserisci la quantità totale necessaria",
26
+ text: "Definisci il peso totale di pasta madre richiesto per la tua ricetta (es: 300g per un pane tipico).",
27
+ },
28
+ {
29
+ name: "Seleziona il rapporto di rinfresco",
30
+ text: "Scegli tra i rapporti predefiniti (Mantenimento, Attivazione, Ritardo, Forte, Sweet Spot) o creane uno personalizzato.",
31
+ },
32
+ {
33
+ name: "Ottieni le quantità esatte",
34
+ text: "Il calcolatore ti mostra quanto lievito madre, farina e acqua ti servono. Mescola e lascia fermentare.",
35
+ },
36
+ ];
37
+
38
+ const faqSchema = {
39
+ '@context': 'https://schema.org',
40
+ '@type': 'FAQPage',
41
+ mainEntity: faq.map((item) => ({
42
+ '@type': 'Question',
43
+ name: item.question,
44
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
45
+ })),
46
+ };
47
+
48
+ const howToSchema = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'HowTo',
51
+ name: title,
52
+ description,
53
+ step: howTo.map((step) => ({
54
+ '@type': 'HowToStep',
55
+ name: step.name,
56
+ text: step.text,
57
+ })),
58
+ };
59
+
60
+ const appSchema = {
61
+ '@context': 'https://schema.org',
62
+ '@type': 'SoftwareApplication',
63
+ name: title,
64
+ description,
65
+ applicationCategory: 'UtilitiesApplication',
66
+ operatingSystem: 'Web',
67
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
68
+ };
69
+
70
+ export const content: ToolLocaleContent = {
71
+ slug: 'pasta-madre',
72
+ title,
73
+ description,
74
+ faqTitle: 'Domande Frequenti',
75
+ faq,
76
+ bibliographyTitle: 'Bibliografia',
77
+ bibliography: [
78
+ {
79
+ name: 'Tartine Bread - Chad Robertson',
80
+ url: 'https://www.penguinrandomhouse.com/books/310016/tartine-bread-by-chad-robertson/',
81
+ },
82
+ ],
83
+ howTo,
84
+ seo: [
85
+ {
86
+ type: 'title',
87
+ text: 'Guida Maestro per il Mantenimento e Rinfresco della Pasta Madre',
88
+ level: 2,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: 'La <strong>pasta madre</strong> è un ecosistema vivo di lieviti selvaggi e batteri lattici (LAB). La chiave di un pane eccezionale risiede nella salute di questo lievito.',
93
+ },
94
+ {
95
+ type: 'stats',
96
+ columns: 4,
97
+ items: [
98
+ {
99
+ value: '24-26°C',
100
+ label: 'Temp. Ottimale',
101
+ icon: 'mdi:thermometer',
102
+ },
103
+ {
104
+ value: '3.8 - 4.2',
105
+ label: 'pH Ideale',
106
+ icon: 'mdi:test-tube',
107
+ },
108
+ {
109
+ value: '100%',
110
+ label: 'Idratazione Std.',
111
+ icon: 'mdi:water-percent',
112
+ },
113
+ {
114
+ value: 'x2 - x3',
115
+ label: 'Crescita al Picco',
116
+ icon: 'mdi:trending-up',
117
+ },
118
+ ],
119
+ },
120
+ ],
121
+ ui: {
122
+ totalAmount: 'Quantità Finale',
123
+ refreshRatio: 'Rapporto di Rinfresco',
124
+ maintain: 'Mantenimento',
125
+ activate: 'Attivazione',
126
+ retard: 'Ritardo',
127
+ strong: 'Forte',
128
+ sweetSpot: 'Sweet Spot',
129
+ custom: 'Personalizzato',
130
+ sourdough: 'Pasta Madre',
131
+ activeCulture: 'Lievito attivo',
132
+ flour: 'Farina',
133
+ flourType: 'Forza o Integrale',
134
+ water: 'Acqua',
135
+ chlorineFree: 'Senza cloro',
136
+ todayFormula: 'Formula di Oggi',
137
+ hydration: 'Idratazione 100 %',
138
+ totalDough: 'Totale Impasto',
139
+ mm: 'PM',
140
+ },
141
+ schemas: [faqSchema, howToSchema, appSchema],
142
+ };
@@ -0,0 +1,116 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = "天然酵母(サワードウ)計算機:発酵比率";
4
+ const description = "サワードウ(種継ぎ)、小麦粉、水の分量を自動計算します。プリセットされた比率またはカスタム比率で、種を最適な状態に保ちます。";
5
+ const faq = [
6
+ {
7
+ question: '1:1:1 の比率とはどういう意味ですか?',
8
+ answer: '常温で種を維持するために最も一般的な比率です。「元の種:小麦粉:水」が1:1:1であることを意味します。毎日種継ぎをする場合に適しています。',
9
+ },
10
+ {
11
+ question: 'どんな時に 1:2:2 を使いますか?',
12
+ answer: '種を活性化させたい時に使います。1:1:1よりも発酵はゆっくり進みますが、より安定した結果が得られます。冷蔵保存していた種を使い始める時に最適です。',
13
+ },
14
+ {
15
+ question: '1:5:5 の「スウィートスポット」とは?',
16
+ answer: '多くのパン職人にとって理想的な比率(スウィートスポット)です。常温で8〜12時間かけて発酵が進み、使用するタイミングをコントロールしやすくなります。',
17
+ },
18
+ {
19
+ question: 'カスタム比率を使用できますか?',
20
+ answer: 'もちろんです。独自の作り方(プロトコル)がある場合は、好きな数値を入力できます。非常にゆっくり発酵させたい場合は 1:10:10 なども使われます。',
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: '必要な総量を入力',
26
+ text: 'レシピで必要なサワードウの総重量を入力します(例:一般的な食パン1斤分なら300gなど)。',
27
+ },
28
+ {
29
+ name: '種継ぎ比率を選択',
30
+ text: 'プリセット(維持、活性化、遅延、強力、スウィートスポット)から選ぶか、カスタム設定します。',
31
+ },
32
+ {
33
+ name: '正確な分量を確認',
34
+ text: '計算機が「元の種」「小麦粉」「水」の正確な重量を表示します。これらを混ぜ合わせ、決まった時間発酵させます。',
35
+ },
36
+ ];
37
+
38
+ const faqSchema = {
39
+ '@context': 'https://schema.org',
40
+ '@type': 'FAQPage',
41
+ mainEntity: faq.map((item) => ({
42
+ '@type': 'Question',
43
+ name: item.question,
44
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
45
+ })),
46
+ };
47
+
48
+ const howToSchema = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'HowTo',
51
+ name: title,
52
+ description,
53
+ step: howTo.map((step) => ({
54
+ '@type': 'HowToStep',
55
+ name: step.name,
56
+ text: step.text,
57
+ })),
58
+ };
59
+
60
+ const appSchema = {
61
+ '@context': 'https://schema.org',
62
+ '@type': 'SoftwareApplication',
63
+ name: title,
64
+ description,
65
+ applicationCategory: 'UtilitiesApplication',
66
+ operatingSystem: 'Web',
67
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'JPY' },
68
+ };
69
+
70
+ export const content: ToolLocaleContent = {
71
+ slug: 'sourdough-starter-feeding-calculator-ratio-proportions',
72
+ title,
73
+ description,
74
+ faqTitle: 'よくある質問',
75
+ faq,
76
+ bibliographyTitle: '参考文献',
77
+ bibliography: [
78
+ {
79
+ name: 'Tartine Bread - Chad Robertson',
80
+ url: 'https://www.penguinrandomhouse.com/books/310016/tartine-bread-by-chad-robertson/',
81
+ },
82
+ ],
83
+ howTo,
84
+ seo: [
85
+ {
86
+ type: 'title',
87
+ text: 'サワードウ(天然酵母)の維持と種継ぎのマスターガイド',
88
+ level: 2,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: '<strong>サワードウ</strong>は単なる材料ではなく、野生酵母と乳酸菌(LAB)の生きたエコシステムです。素晴らしいパンを作る鍵は、この種の健康状態をいかに管理するかにあります。',
93
+ },
94
+ ],
95
+ ui: {
96
+ totalAmount: '最終的な量',
97
+ refreshRatio: '種継ぎ比率',
98
+ maintain: '維持',
99
+ activate: '活性化',
100
+ retard: '遅延',
101
+ strong: '強力',
102
+ sweetSpot: 'スウィートスポット',
103
+ custom: 'カスタム',
104
+ sourdough: 'サワードウ(種)',
105
+ activeCulture: '元の種',
106
+ flour: '小麦粉',
107
+ flourType: '強力粉または全粒粉',
108
+ water: '水',
109
+ chlorineFree: '塩素を含まない水',
110
+ todayFormula: '今日の配合',
111
+ hydration: '加水率 100 %',
112
+ totalDough: '種の総量',
113
+ mm: 'MM',
114
+ },
115
+ schemas: [faqSchema, howToSchema, appSchema],
116
+ };