@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,116 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = "Surdegskalkylator: Fermenteringsförhållanden";
4
+ const description = "Beräkna automatiskt proportionerna av surdeg, mjöl och vatten för att underhålla din surdegsgrund. Förinställda eller anpassade förhållanden.";
5
+ const faq = [
6
+ {
7
+ question: 'Vad betyder förhållandet 1:1:1?',
8
+ answer: 'Det är det vanligaste förhållandet för underhåll i rumstemperatur. Det betyder 1 del surdegsgrund, 1 del mjöl och 1 del vatten. Praktiskt vid daglig matning.',
9
+ },
10
+ {
11
+ question: 'När använder jag 1:2:2?',
12
+ answer: 'Förhållandet 1:2:2 är för att aktivera surdegen. Det ger en långsammare men mer förutsägbar fermentering. Idealiskt om grunden förvarats kallt.',
13
+ },
14
+ {
15
+ question: 'Vad är "sweet spot" 1:5:5?',
16
+ answer: 'Förhållandet 1:5:5 är "sweet spot" för många bagare. Det ger 8-12 timmars fermentering i rumstemperatur innan surdegen är redo.',
17
+ },
18
+ {
19
+ question: 'Kan jag använda anpassade förhållanden?',
20
+ answer: 'Absolut. Om du har ett specifikt protokoll kan du ange dina egna förhållanden. Vissa bagare använder 1:10:10 för mycket långsam fermentering.',
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: 'Ange den totala mängden du behöver',
26
+ text: 'Definiera den totala vikten surdeg som krävs för ditt recept (t.ex. 300g för ett typiskt bröd).',
27
+ },
28
+ {
29
+ name: 'Välj matningsförhållande',
30
+ text: 'Välj mellan förinställda förhållanden (Underhåll, Aktivera, Fördröj, Stark, Sweet Spot) eller skapa ett eget.',
31
+ },
32
+ {
33
+ name: 'Få exakta mängder',
34
+ text: 'Kalkylatorn visar hur mycket surdegsgrund, mjöl och vatten du behöver. Blanda och låt fermentera.',
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: 'surdeg',
72
+ title,
73
+ description,
74
+ faqTitle: 'Vanliga Frågor',
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: 'Mästarguide för Underhåll och Matning av Surdeg',
88
+ level: 2,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: '<strong>Surdeg</strong> är inte bara en ingrediens, det är ett levande ekosystem av vildjäst och mjölksyrabakterier (LAB). Nyckeln till fantastiskt bröd ligger i hälsan hos denna kultur.',
93
+ },
94
+ ],
95
+ ui: {
96
+ totalAmount: 'Total Mängd',
97
+ refreshRatio: 'Matningsförhållande',
98
+ maintain: 'Underhåll',
99
+ activate: 'Aktivera',
100
+ retard: 'Fördröj',
101
+ strong: 'Stark',
102
+ sweetSpot: 'Sweet Spot',
103
+ custom: 'Anpassat',
104
+ sourdough: 'Surdeg',
105
+ activeCulture: 'Aktiv grund',
106
+ flour: 'Mjöl',
107
+ flourType: 'Starkt eller Fullkorn',
108
+ water: 'Vatten',
109
+ chlorineFree: 'Klorfritt',
110
+ todayFormula: 'Dagens Formel',
111
+ hydration: 'Hydrering 100 %',
112
+ totalDough: 'Total Deg',
113
+ mm: 'SG',
114
+ },
115
+ schemas: [faqSchema, howToSchema, appSchema],
116
+ };
@@ -0,0 +1,116 @@
1
+ import type { ToolLocaleContent } from '../../../types';
2
+
3
+ const title = "Ekşi Maya Hesaplayıcı Fermantasyon Oranları";
4
+ const description = "Kültürünüzü korumak için ekşi maya, un ve su oranlarını otomatik olarak hesaplayın. Ön tanımlı veya özel oranlar.";
5
+ const faq = [
6
+ {
7
+ question: '1:1:1 oranı ne anlama gelir?',
8
+ answer: 'Oda sıcaklığında besleme için en yaygın orandır. 1 birim ekşi maya, 1 birim un ve 1 birim su anlamına gelir. Günlük beslemeler için uygundur.',
9
+ },
10
+ {
11
+ question: '1:2:2 oranını ne zaman kullanırım?',
12
+ answer: '1:2:2 oranı ekşi mayayı aktive etmek içindir. Daha yavaş ama öngörülebilir bir fermantasyon sağlar. Buzdolabında bekleyen mayayı canlandırmak için idealdir.',
13
+ },
14
+ {
15
+ question: '1:5:5 "sweet spot" nedir?',
16
+ answer: '1:5:5 oranı birçok fırıncı için "ideal nokta"dır. Mayanın hazır hale gelmesi için oda sıcaklığında 8-12 saatlik bir fermantasyon süresi sağlar.',
17
+ },
18
+ {
19
+ question: 'Özel oranlar kullanabilir miyim?',
20
+ answer: 'Kesinlikle. Belirli bir protokolünüz varsa kendi oranlarınızı girebilirsiniz. Bazı fırıncılar çok yavaş fermantasyon için 1:10:10 kullanır.',
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: 'İhtiyacınız olan toplam miktarı girin',
26
+ text: 'Tarifiniz için gereken toplam ekşi maya ağırlığını belirleyin (örneğin tipik bir ekmek için 300g).',
27
+ },
28
+ {
29
+ name: 'Besleme oranını seçin',
30
+ text: 'Ön tanımlı oranlardan (Koruma, Aktivasyon, Geciktirme, Güçlü, Sweet Spot) birini seçin veya özel bir oran oluşturun.',
31
+ },
32
+ {
33
+ name: 'Tam miktarları alın',
34
+ text: 'Hesaplayıcı size ne kadar maya, un ve su gerektiğini gösterir. Bunları karıştırın ve mayalanmaya bırakın.',
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: 'eksi-maya',
72
+ title,
73
+ description,
74
+ faqTitle: 'Sıkça Sorulan Sorular',
75
+ faq,
76
+ bibliographyTitle: 'Kaynakça',
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: 'Ekşi Maya Bakımı ve Beslemesi İçin Usta Rehberi',
88
+ level: 2,
89
+ },
90
+ {
91
+ type: 'paragraph',
92
+ html: '<strong>Ekşi maya</strong> sadece bir malzeme değil, yabani mayalar ve laktik asit bakterilerinden (LAB) oluşan canlı bir ekosistemdir.',
93
+ },
94
+ ],
95
+ ui: {
96
+ totalAmount: 'Toplam Miktar',
97
+ refreshRatio: 'Besleme Oranı',
98
+ maintain: 'Koru',
99
+ activate: 'Aktive Et',
100
+ retard: 'Geciktir',
101
+ strong: 'Güçlü',
102
+ sweetSpot: 'Sweet Spot',
103
+ custom: 'Özel',
104
+ sourdough: 'Ekşi Maya',
105
+ activeCulture: 'Aktif kültür',
106
+ flour: 'Un',
107
+ flourType: 'Güçlü veya Tam Buğday',
108
+ water: 'Su',
109
+ chlorineFree: 'Klorsuz',
110
+ todayFormula: 'Günün Formülü',
111
+ hydration: 'Hidrasyon %100',
112
+ totalDough: 'Toplam Maya',
113
+ mm: 'EM',
114
+ },
115
+ schemas: [faqSchema, howToSchema, appSchema],
116
+ };
@@ -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:2:2 比例用于激活酸面种。它产生的发酵较慢但更可控。如果你将菌种冷藏并想要恢复其活力,这是理想的选择。',
13
+ },
14
+ {
15
+ question: '什么是 1:5:5 的“完美点”(Sweet Spot)?',
16
+ answer: '1:5:5 比例是许多烘焙师的“理想点”。它允许在室温下发酵 8-12 小时后菌种达到巅峰状态。',
17
+ },
18
+ {
19
+ question: '我可以使用自定义比例吗?',
20
+ answer: '当然可以。如果你有特定的操作流程,可以输入自己的比例。有些烘焙师使用 1:10:10 进行极慢速发酵。',
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: '输入你需要的总量',
26
+ text: '确定食谱所需的酸面种总重量(例如,制作一个典型面包需要 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: 'CNY' },
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
+ };
@@ -13,6 +13,18 @@ export const sourdoughCalculator: 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