@jjlmoya/utils-cooking 1.24.0 → 1.25.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 (249) hide show
  1. package/package.json +1 -1
  2. package/src/entries.ts +3 -1
  3. package/src/index.ts +1 -0
  4. package/src/pages/[locale]/[slug].astro +56 -19
  5. package/src/tests/i18n-titles.test.ts +5 -17
  6. package/src/tests/locale_completeness.test.ts +2 -13
  7. package/src/tests/shared-test-helpers.ts +56 -0
  8. package/src/tests/tool_exports.test.ts +34 -0
  9. package/src/tests/tool_validation.test.ts +2 -2
  10. package/src/tool/american-kitchen-converter/bibliography.astro +3 -3
  11. package/src/tool/american-kitchen-converter/bibliography.ts +10 -0
  12. package/src/tool/american-kitchen-converter/i18n/de.ts +2 -11
  13. package/src/tool/american-kitchen-converter/i18n/en.ts +2 -11
  14. package/src/tool/american-kitchen-converter/i18n/es.ts +40 -49
  15. package/src/tool/american-kitchen-converter/i18n/fr.ts +2 -21
  16. package/src/tool/american-kitchen-converter/i18n/id.ts +2 -11
  17. package/src/tool/american-kitchen-converter/i18n/it.ts +2 -11
  18. package/src/tool/american-kitchen-converter/i18n/ja.ts +2 -11
  19. package/src/tool/american-kitchen-converter/i18n/ko.ts +2 -11
  20. package/src/tool/american-kitchen-converter/i18n/nl.ts +2 -11
  21. package/src/tool/american-kitchen-converter/i18n/pl.ts +2 -11
  22. package/src/tool/american-kitchen-converter/i18n/pt.ts +2 -11
  23. package/src/tool/american-kitchen-converter/i18n/ru.ts +2 -11
  24. package/src/tool/american-kitchen-converter/i18n/sv.ts +2 -11
  25. package/src/tool/american-kitchen-converter/i18n/tr.ts +2 -11
  26. package/src/tool/american-kitchen-converter/i18n/zh.ts +2 -11
  27. package/src/tool/american-kitchen-converter/seo.astro +11 -4
  28. package/src/tool/banana-ripeness/bibliography.astro +3 -3
  29. package/src/tool/banana-ripeness/bibliography.ts +10 -0
  30. package/src/tool/banana-ripeness/i18n/de.ts +2 -15
  31. package/src/tool/banana-ripeness/i18n/en.ts +36 -49
  32. package/src/tool/banana-ripeness/i18n/es.ts +36 -49
  33. package/src/tool/banana-ripeness/i18n/fr.ts +36 -49
  34. package/src/tool/banana-ripeness/i18n/id.ts +2 -15
  35. package/src/tool/banana-ripeness/i18n/it.ts +2 -15
  36. package/src/tool/banana-ripeness/i18n/ja.ts +2 -15
  37. package/src/tool/banana-ripeness/i18n/ko.ts +2 -15
  38. package/src/tool/banana-ripeness/i18n/nl.ts +2 -15
  39. package/src/tool/banana-ripeness/i18n/pl.ts +2 -15
  40. package/src/tool/banana-ripeness/i18n/pt.ts +2 -15
  41. package/src/tool/banana-ripeness/i18n/ru.ts +2 -15
  42. package/src/tool/banana-ripeness/i18n/sv.ts +2 -15
  43. package/src/tool/banana-ripeness/i18n/tr.ts +2 -15
  44. package/src/tool/banana-ripeness/i18n/zh.ts +2 -15
  45. package/src/tool/banana-ripeness/seo.astro +10 -3
  46. package/src/tool/brine/bibliography.astro +3 -3
  47. package/src/tool/brine/bibliography.ts +6 -0
  48. package/src/tool/brine/i18n/de.ts +4 -19
  49. package/src/tool/brine/i18n/en.ts +3 -17
  50. package/src/tool/brine/i18n/es.ts +4 -19
  51. package/src/tool/brine/i18n/fr.ts +3 -17
  52. package/src/tool/brine/i18n/id.ts +4 -19
  53. package/src/tool/brine/i18n/it.ts +4 -19
  54. package/src/tool/brine/i18n/ja.ts +4 -19
  55. package/src/tool/brine/i18n/ko.ts +4 -19
  56. package/src/tool/brine/i18n/nl.ts +4 -19
  57. package/src/tool/brine/i18n/pl.ts +4 -19
  58. package/src/tool/brine/i18n/pt.ts +4 -19
  59. package/src/tool/brine/i18n/ru.ts +4 -19
  60. package/src/tool/brine/i18n/sv.ts +4 -19
  61. package/src/tool/brine/i18n/tr.ts +4 -19
  62. package/src/tool/brine/i18n/zh.ts +4 -19
  63. package/src/tool/brine/seo.astro +11 -4
  64. package/src/tool/cookware-guide/bibliography.astro +2 -2
  65. package/src/tool/cookware-guide/bibliography.ts +10 -0
  66. package/src/tool/cookware-guide/i18n/de.ts +3 -17
  67. package/src/tool/cookware-guide/i18n/en.ts +3 -17
  68. package/src/tool/cookware-guide/i18n/es.ts +3 -17
  69. package/src/tool/cookware-guide/i18n/fr.ts +3 -17
  70. package/src/tool/cookware-guide/i18n/id.ts +3 -17
  71. package/src/tool/cookware-guide/i18n/it.ts +3 -17
  72. package/src/tool/cookware-guide/i18n/ja.ts +3 -17
  73. package/src/tool/cookware-guide/i18n/ko.ts +3 -17
  74. package/src/tool/cookware-guide/i18n/nl.ts +3 -17
  75. package/src/tool/cookware-guide/i18n/pl.ts +3 -17
  76. package/src/tool/cookware-guide/i18n/pt.ts +3 -17
  77. package/src/tool/cookware-guide/i18n/ru.ts +3 -17
  78. package/src/tool/cookware-guide/i18n/sv.ts +3 -17
  79. package/src/tool/cookware-guide/i18n/tr.ts +3 -17
  80. package/src/tool/cookware-guide/i18n/zh.ts +3 -17
  81. package/src/tool/cookware-guide/seo.astro +11 -4
  82. package/src/tool/egg-timer/bibliography.astro +3 -11
  83. package/src/tool/egg-timer/bibliography.ts +10 -0
  84. package/src/tool/egg-timer/i18n/de.ts +3 -17
  85. package/src/tool/egg-timer/i18n/en.ts +2 -15
  86. package/src/tool/egg-timer/i18n/es.ts +127 -141
  87. package/src/tool/egg-timer/i18n/fr.ts +2 -15
  88. package/src/tool/egg-timer/i18n/id.ts +4 -18
  89. package/src/tool/egg-timer/i18n/it.ts +3 -17
  90. package/src/tool/egg-timer/i18n/ja.ts +3 -17
  91. package/src/tool/egg-timer/i18n/ko.ts +3 -17
  92. package/src/tool/egg-timer/i18n/nl.ts +3 -17
  93. package/src/tool/egg-timer/i18n/pl.ts +3 -17
  94. package/src/tool/egg-timer/i18n/pt.ts +3 -17
  95. package/src/tool/egg-timer/i18n/ru.ts +3 -17
  96. package/src/tool/egg-timer/i18n/sv.ts +3 -17
  97. package/src/tool/egg-timer/i18n/tr.ts +3 -17
  98. package/src/tool/egg-timer/i18n/zh.ts +3 -17
  99. package/src/tool/egg-timer/seo.astro +6 -30
  100. package/src/tool/ingredient-rescaler/bibliography.astro +3 -3
  101. package/src/tool/ingredient-rescaler/bibliography.ts +6 -0
  102. package/src/tool/ingredient-rescaler/i18n/de.ts +3 -17
  103. package/src/tool/ingredient-rescaler/i18n/en.ts +3 -18
  104. package/src/tool/ingredient-rescaler/i18n/es.ts +4 -19
  105. package/src/tool/ingredient-rescaler/i18n/fr.ts +2 -15
  106. package/src/tool/ingredient-rescaler/i18n/id.ts +3 -17
  107. package/src/tool/ingredient-rescaler/i18n/it.ts +3 -17
  108. package/src/tool/ingredient-rescaler/i18n/ja.ts +3 -17
  109. package/src/tool/ingredient-rescaler/i18n/ko.ts +3 -17
  110. package/src/tool/ingredient-rescaler/i18n/nl.ts +3 -17
  111. package/src/tool/ingredient-rescaler/i18n/pl.ts +3 -17
  112. package/src/tool/ingredient-rescaler/i18n/pt.ts +3 -17
  113. package/src/tool/ingredient-rescaler/i18n/ru.ts +3 -17
  114. package/src/tool/ingredient-rescaler/i18n/sv.ts +3 -17
  115. package/src/tool/ingredient-rescaler/i18n/tr.ts +3 -17
  116. package/src/tool/ingredient-rescaler/i18n/zh.ts +3 -17
  117. package/src/tool/ingredient-rescaler/seo.astro +11 -4
  118. package/src/tool/kitchen-timer/bibliography.astro +3 -3
  119. package/src/tool/kitchen-timer/bibliography.ts +10 -0
  120. package/src/tool/kitchen-timer/i18n/de.ts +3 -13
  121. package/src/tool/kitchen-timer/i18n/en.ts +6 -22
  122. package/src/tool/kitchen-timer/i18n/es.ts +6 -22
  123. package/src/tool/kitchen-timer/i18n/fr.ts +6 -22
  124. package/src/tool/kitchen-timer/i18n/id.ts +3 -13
  125. package/src/tool/kitchen-timer/i18n/it.ts +3 -13
  126. package/src/tool/kitchen-timer/i18n/ja.ts +3 -13
  127. package/src/tool/kitchen-timer/i18n/ko.ts +3 -13
  128. package/src/tool/kitchen-timer/i18n/nl.ts +3 -13
  129. package/src/tool/kitchen-timer/i18n/pl.ts +3 -13
  130. package/src/tool/kitchen-timer/i18n/pt.ts +3 -13
  131. package/src/tool/kitchen-timer/i18n/ru.ts +3 -13
  132. package/src/tool/kitchen-timer/i18n/sv.ts +3 -13
  133. package/src/tool/kitchen-timer/i18n/tr.ts +3 -13
  134. package/src/tool/kitchen-timer/i18n/zh.ts +3 -13
  135. package/src/tool/kitchen-timer/seo.astro +10 -3
  136. package/src/tool/meringue-peak/bibliography.astro +3 -3
  137. package/src/tool/meringue-peak/bibliography.ts +14 -0
  138. package/src/tool/meringue-peak/i18n/de.ts +3 -13
  139. package/src/tool/meringue-peak/i18n/en.ts +2 -15
  140. package/src/tool/meringue-peak/i18n/es.ts +135 -149
  141. package/src/tool/meringue-peak/i18n/fr.ts +2 -15
  142. package/src/tool/meringue-peak/i18n/id.ts +3 -13
  143. package/src/tool/meringue-peak/i18n/it.ts +3 -13
  144. package/src/tool/meringue-peak/i18n/ja.ts +3 -13
  145. package/src/tool/meringue-peak/i18n/ko.ts +3 -13
  146. package/src/tool/meringue-peak/i18n/nl.ts +3 -13
  147. package/src/tool/meringue-peak/i18n/pl.ts +3 -13
  148. package/src/tool/meringue-peak/i18n/pt.ts +3 -13
  149. package/src/tool/meringue-peak/i18n/ru.ts +3 -13
  150. package/src/tool/meringue-peak/i18n/sv.ts +3 -13
  151. package/src/tool/meringue-peak/i18n/tr.ts +3 -13
  152. package/src/tool/meringue-peak/i18n/zh.ts +3 -13
  153. package/src/tool/meringue-peak/seo.astro +10 -3
  154. package/src/tool/mold-scaler/bibliography.astro +3 -3
  155. package/src/tool/mold-scaler/bibliography.ts +10 -0
  156. package/src/tool/mold-scaler/i18n/de.ts +5 -17
  157. package/src/tool/mold-scaler/i18n/en.ts +5 -20
  158. package/src/tool/mold-scaler/i18n/es.ts +5 -20
  159. package/src/tool/mold-scaler/i18n/fr.ts +5 -20
  160. package/src/tool/mold-scaler/i18n/id.ts +5 -17
  161. package/src/tool/mold-scaler/i18n/it.ts +5 -17
  162. package/src/tool/mold-scaler/i18n/ja.ts +5 -17
  163. package/src/tool/mold-scaler/i18n/ko.ts +5 -17
  164. package/src/tool/mold-scaler/i18n/nl.ts +5 -17
  165. package/src/tool/mold-scaler/i18n/pl.ts +5 -17
  166. package/src/tool/mold-scaler/i18n/pt.ts +5 -17
  167. package/src/tool/mold-scaler/i18n/ru.ts +5 -17
  168. package/src/tool/mold-scaler/i18n/sv.ts +5 -17
  169. package/src/tool/mold-scaler/i18n/tr.ts +5 -17
  170. package/src/tool/mold-scaler/i18n/zh.ts +5 -17
  171. package/src/tool/mold-scaler/seo.astro +10 -3
  172. package/src/tool/pizza/bibliography.astro +3 -3
  173. package/src/tool/pizza/bibliography.ts +18 -0
  174. package/src/tool/pizza/i18n/de.ts +3 -13
  175. package/src/tool/pizza/i18n/en.ts +58 -75
  176. package/src/tool/pizza/i18n/es.ts +2 -20
  177. package/src/tool/pizza/i18n/fr.ts +58 -75
  178. package/src/tool/pizza/i18n/id.ts +3 -9
  179. package/src/tool/pizza/i18n/it.ts +3 -13
  180. package/src/tool/pizza/i18n/ja.ts +3 -9
  181. package/src/tool/pizza/i18n/ko.ts +3 -9
  182. package/src/tool/pizza/i18n/nl.ts +3 -9
  183. package/src/tool/pizza/i18n/pl.ts +3 -9
  184. package/src/tool/pizza/i18n/pt.ts +3 -9
  185. package/src/tool/pizza/i18n/ru.ts +28 -34
  186. package/src/tool/pizza/i18n/sv.ts +3 -9
  187. package/src/tool/pizza/i18n/tr.ts +3 -9
  188. package/src/tool/pizza/i18n/zh.ts +3 -9
  189. package/src/tool/pizza/seo.astro +11 -4
  190. package/src/tool/roux-guide/bibliography.astro +3 -3
  191. package/src/tool/roux-guide/bibliography.ts +14 -0
  192. package/src/tool/roux-guide/i18n/de.ts +3 -9
  193. package/src/tool/roux-guide/i18n/en.ts +2 -15
  194. package/src/tool/roux-guide/i18n/es.ts +3 -17
  195. package/src/tool/roux-guide/i18n/fr.ts +2 -15
  196. package/src/tool/roux-guide/i18n/id.ts +3 -9
  197. package/src/tool/roux-guide/i18n/it.ts +3 -9
  198. package/src/tool/roux-guide/i18n/ja.ts +3 -9
  199. package/src/tool/roux-guide/i18n/ko.ts +3 -9
  200. package/src/tool/roux-guide/i18n/nl.ts +3 -9
  201. package/src/tool/roux-guide/i18n/pl.ts +3 -9
  202. package/src/tool/roux-guide/i18n/pt.ts +3 -9
  203. package/src/tool/roux-guide/i18n/ru.ts +3 -9
  204. package/src/tool/roux-guide/i18n/sv.ts +3 -9
  205. package/src/tool/roux-guide/i18n/tr.ts +3 -9
  206. package/src/tool/roux-guide/i18n/zh.ts +3 -9
  207. package/src/tool/roux-guide/seo.astro +11 -4
  208. package/src/tool/sourdough-calculator/bibliography.astro +3 -3
  209. package/src/tool/sourdough-calculator/bibliography.ts +14 -0
  210. package/src/tool/sourdough-calculator/i18n/de.ts +3 -9
  211. package/src/tool/sourdough-calculator/i18n/en.ts +3 -17
  212. package/src/tool/sourdough-calculator/i18n/es.ts +4 -18
  213. package/src/tool/sourdough-calculator/i18n/fr.ts +2 -15
  214. package/src/tool/sourdough-calculator/i18n/id.ts +3 -9
  215. package/src/tool/sourdough-calculator/i18n/it.ts +3 -9
  216. package/src/tool/sourdough-calculator/i18n/ja.ts +3 -9
  217. package/src/tool/sourdough-calculator/i18n/ko.ts +3 -9
  218. package/src/tool/sourdough-calculator/i18n/nl.ts +3 -9
  219. package/src/tool/sourdough-calculator/i18n/pl.ts +3 -9
  220. package/src/tool/sourdough-calculator/i18n/pt.ts +3 -9
  221. package/src/tool/sourdough-calculator/i18n/ru.ts +3 -9
  222. package/src/tool/sourdough-calculator/i18n/sv.ts +3 -9
  223. package/src/tool/sourdough-calculator/i18n/tr.ts +3 -9
  224. package/src/tool/sourdough-calculator/i18n/zh.ts +3 -9
  225. package/src/tool/sourdough-calculator/seo.astro +11 -4
  226. package/src/tool/yeast-converter/bibliography.astro +6 -0
  227. package/src/tool/yeast-converter/bibliography.ts +6 -0
  228. package/src/tool/yeast-converter/component.astro +96 -0
  229. package/src/tool/yeast-converter/entry.ts +26 -0
  230. package/src/tool/yeast-converter/i18n/de.ts +235 -0
  231. package/src/tool/yeast-converter/i18n/en.ts +234 -0
  232. package/src/tool/yeast-converter/i18n/es.ts +235 -0
  233. package/src/tool/yeast-converter/i18n/fr.ts +235 -0
  234. package/src/tool/yeast-converter/i18n/id.ts +235 -0
  235. package/src/tool/yeast-converter/i18n/it.ts +235 -0
  236. package/src/tool/yeast-converter/i18n/ja.ts +235 -0
  237. package/src/tool/yeast-converter/i18n/ko.ts +235 -0
  238. package/src/tool/yeast-converter/i18n/nl.ts +235 -0
  239. package/src/tool/yeast-converter/i18n/pl.ts +235 -0
  240. package/src/tool/yeast-converter/i18n/pt.ts +235 -0
  241. package/src/tool/yeast-converter/i18n/ru.ts +235 -0
  242. package/src/tool/yeast-converter/i18n/sv.ts +235 -0
  243. package/src/tool/yeast-converter/i18n/tr.ts +235 -0
  244. package/src/tool/yeast-converter/i18n/zh.ts +235 -0
  245. package/src/tool/yeast-converter/index.ts +11 -0
  246. package/src/tool/yeast-converter/init.ts +277 -0
  247. package/src/tool/yeast-converter/seo.astro +15 -0
  248. package/src/tool/yeast-converter/yeast-converter-fresh-dry-sourdough-starter.css +388 -0
  249. package/src/tools.ts +2 -0
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Meisterleitfaden für Roux und Muttersaucen";
4
5
  const description = "Interaktiver Roux-Rechner. Lernen Sie Bechamel, Velouté und Espagnole mit exakten Proportionen zuzubereiten. Die Basis der klassischen französischen Küche.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'Häufig gestellte Fragen',
75
- faq,
76
- bibliographyTitle: 'Bibliografie',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -161,5 +154,6 @@ export const content: ToolLocaleContent = {
161
154
  timeBlond: "5-8 Min.",
162
155
  timeBrown: "15-20 Min.",
163
156
  },
157
+ bibliography,
164
158
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
165
159
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from "../../../types";
2
+ import { bibliography } from "../bibliography";
2
3
 
3
4
  const title = "Professional Roux Ratio Calculator and Sauce Guide";
4
5
  const description = "Master the foundation of French mother sauces. Calculate exact roux proportions for Béchamel, Velouté, and Espagnole with professional accuracy.";
@@ -164,21 +165,6 @@ export const content: ToolLocaleContent = {
164
165
  text: "Cook your butter-flour mix to the specified level (White, Blond, or Brown) to match your sauce's flavor profile.",
165
166
  },
166
167
  ],
167
- bibliographyTitle: "Technical References & Bibliography",
168
- bibliography: [
169
- {
170
- name: "Larousse Gastronomique - The Culinary Bible",
171
- url: "https://www.laroussecocina.com/",
172
- },
173
- {
174
- name: "Mastering the Art of French Cooking - Julia Child",
175
- url: "https://www.juliachild.com/",
176
- },
177
- {
178
- name: "On Food and Cooking - Harold McGee (Starch Science)",
179
- url: "https://www.foodscience.org/",
180
- },
181
- ],
182
168
  seo: [
183
169
  {
184
170
  type: "title",
@@ -321,5 +307,6 @@ export const content: ToolLocaleContent = {
321
307
  html: "Our roux ratio calculator ensures your sauces always have the perfect technical consistency for every dish.",
322
308
  },
323
309
  ],
310
+ bibliography,
324
311
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
325
312
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Guía Maestra de Roux y Salsas Madre";
4
5
  const description = "Calculadora interactiva de Roux. Aprende a crear Bechamel, Velouté y Espagnole con proporciones exactas. La base de la alta cocina francesa.";
@@ -97,23 +98,7 @@ export const content: ToolLocaleContent = {
97
98
  question: '¿Por qué necesito más roux oscuro?',
98
99
  answer: 'Al tostar el roux, el calor rompe las cadenas de almidón en cadenas cortas (dextrinas). Estas son sabrosas pero menos efectivas espesando. Por eso un roux oscuro necesita 15% más peso que uno blanco para espesar igual.',
99
100
  },
100
- ],
101
- bibliographyTitle: 'Bibliografía',
102
- bibliography: [
103
- {
104
- name: 'Larousse Gastronomique - La Biblia de la Cocina',
105
- url: 'https://www.laroussecocina.com/',
106
- },
107
- {
108
- name: 'Mastering the Art of French Cooking - Julia Child',
109
- url: 'https://www.juliachild.com/',
110
- },
111
- {
112
- name: 'On Food and Cooking - Harold McGee (La Ciencia del Roux)',
113
- url: 'https://www.foodscience.org/',
114
- },
115
- ],
116
- howTo: [
101
+ ], howTo: [
117
102
  {
118
103
  name: 'Selecciona el tipo de líquido',
119
104
  text: 'Elige entre leche (Bechamel), fondo claro (Velouté), fondo oscuro (Espagnole) o tomate. Cada uno requiere un tipo diferente de roux.',
@@ -309,5 +294,6 @@ export const content: ToolLocaleContent = {
309
294
  timeBlond: "5-8 min",
310
295
  timeBrown: "15-20 min",
311
296
  },
297
+ bibliography,
312
298
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
313
299
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from "../../../types";
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Calculateur de Roux Professionnel et Sauces Mères";
4
5
  const description = "Maîtrisez la base des sauces mères françaises. Calculez les proportions exactes de roux pour la Béchamel, le Velouté et la Sauce Espagnole.";
@@ -156,21 +157,6 @@ export const content: ToolLocaleContent = {
156
157
  text: "Cuisez votre mélange beurre-farine jusqu'au stade souhaité (Blanc, Blond ou Brun) pour correspondre à votre recette.",
157
158
  },
158
159
  ],
159
- bibliographyTitle: "Références Techniques et Bibliographie",
160
- bibliography: [
161
- {
162
- name: "Larousse Gastronomique - La Bible de la Cuisine",
163
- url: "https://www.laroussecocina.com/",
164
- },
165
- {
166
- name: "L'Art de la Cuisine Française - Marie-Antoine Carême",
167
- url: "https://www.bnf.fr/",
168
- },
169
- {
170
- name: "Le Guide Culinaire - Auguste Escoffier",
171
- url: "https://www.fondation-escoffier.org/",
172
- },
173
- ],
174
160
  seo: [
175
161
  {
176
162
  type: "title",
@@ -309,5 +295,6 @@ export const content: ToolLocaleContent = {
309
295
  html: "Notre calculateur de roux garantit une consistance technique parfaite pour toutes vos créations culinaires.",
310
296
  },
311
297
  ],
298
+ bibliography,
312
299
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
313
300
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Panduan Utama Roux dan Saus Dasar";
4
5
  const description = "Kalkulator Roux interaktif. Pelajari cara membuat Bechamel, Velouté, dan Espagnole dengan proporsi yang tepat. Dasar dari masakan Prancis kelas atas.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'Pertanyaan Umum',
75
- faq,
76
- bibliographyTitle: 'Bibliografi',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -135,5 +128,6 @@ export const content: ToolLocaleContent = {
135
128
  timeBlond: "5-8 menit",
136
129
  timeBrown: "15-20 menit",
137
130
  },
131
+ bibliography,
138
132
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
139
133
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Guida Maestra al Roux e alle Salse Madri";
4
5
  const description = "Calcolatore interattivo di Roux. Impara a creare Besciamella, Vellutata ed Espagnole con proporzioni esatte. La base dell'alta cucina francese.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'Domande Frequenti',
75
- faq,
76
- bibliographyTitle: 'Bibliografia',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -161,5 +154,6 @@ export const content: ToolLocaleContent = {
161
154
  timeBlond: "5-8 min",
162
155
  timeBrown: "15-20 min",
163
156
  },
157
+ bibliography,
164
158
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
165
159
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "ルー(Roux)と基本ソースのマスターガイド";
4
5
  const description = "インタラクティブなルー計算機。ベシャメル、ベルーテ、エスパニョールを正確な分量で作る方法を学びましょう。フランス料理の基本です。";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'よくある質問',
75
- faq,
76
- bibliographyTitle: '参考文献',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -135,5 +128,6 @@ export const content: ToolLocaleContent = {
135
128
  timeBlond: "5〜8 分",
136
129
  timeBrown: "15〜20 分",
137
130
  },
131
+ bibliography,
138
132
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
139
133
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "루(Roux)와 마더 소스 마스터 가이드";
4
5
  const description = "대화형 루 계산기. 베샤멜, 벨루테, 에스파뇰을 정확한 비율로 만드는 방법을 배워보세요. 클래식 프랑스 요리의 기초입니다.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: '자주 묻는 질문',
75
- faq,
76
- bibliographyTitle: '참고 문헌',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -135,5 +128,6 @@ export const content: ToolLocaleContent = {
135
128
  timeBlond: "5-8분",
136
129
  timeBrown: "15-20분",
137
130
  },
131
+ bibliography,
138
132
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
139
133
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Meestergids voor Roux en Moedersauzen";
4
5
  const description = "Interactieve Roux-calculator. Leer Béchamel, Velouté en Espagnole maken met exacte verhoudingen. De basis van de klassieke Franse keuken.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'Veelgestelde Vragen',
75
- faq,
76
- bibliographyTitle: 'Bibliografie',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -161,5 +154,6 @@ export const content: ToolLocaleContent = {
161
154
  timeBlond: "5-8 min",
162
155
  timeBrown: "15-20 min",
163
156
  },
157
+ bibliography,
164
158
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
165
159
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Mistrzowski przewodnik po zasmażce Roux i sosach bazowych";
4
5
  const description = "Interaktywny kalkulator zasmażki Roux. Naucz się przygotowywać sos Béchamel, Velouté i Espagnole z dokładnymi proporcjami. Podstawa kuchni francuskiej.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'Często zadawane pytania',
75
- faq,
76
- bibliographyTitle: 'Bibliografia',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -135,5 +128,6 @@ export const content: ToolLocaleContent = {
135
128
  timeBlond: "5-8 min",
136
129
  timeBrown: "15-20 min",
137
130
  },
131
+ bibliography,
138
132
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
139
133
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Guia Mestre de Roux e Molhos Mãe";
4
5
  const description = "Calculadora interativa de Roux. Aprenda a criar Bechamel, Velouté e Espagnole com proporções exatas. A base da alta cozinha francesa.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'Perguntas Frequentes',
75
- faq,
76
- bibliographyTitle: 'Bibliografia',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -161,5 +154,6 @@ export const content: ToolLocaleContent = {
161
154
  timeBlond: "5-8 min",
162
155
  timeBrown: "15-20 min",
163
156
  },
157
+ bibliography,
164
158
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
165
159
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Экспертное руководство по Ру и материнским соусам";
4
5
  const description = "Интерактивный калькулятор Ру. Научитесь готовить Бешамель, Велюте и Эспаньоль с точными пропорциями. Основа французской кухни.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'Часто задаваемые вопросы',
75
- faq,
76
- bibliographyTitle: 'Библиография',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -135,5 +128,6 @@ export const content: ToolLocaleContent = {
135
128
  timeBlond: "5-8 мин",
136
129
  timeBrown: "15-20 мин",
137
130
  },
131
+ bibliography,
138
132
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
139
133
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Mästarguide för Roux och Grundsåser";
4
5
  const description = "Interaktiv Roux-kalkylator. Lär dig göra Béchamel, Velouté och Espagnole med exakta proportioner. Grunden i det klassiska franska köket.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'Vanliga Frågor',
75
- faq,
76
- bibliographyTitle: 'Bibliografi',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -135,5 +128,6 @@ export const content: ToolLocaleContent = {
135
128
  timeBlond: "5-8 min",
136
129
  timeBrown: "15-20 min",
137
130
  },
131
+ bibliography,
138
132
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
139
133
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Meyane (Roux) ve Temel Soslar Rehberi";
4
5
  const description = "Etkileşimli Meyane hesaplayıcı. Beşamel, Velouté ve Espanyol soslarını tam oranlarla yapmayı öğrenin. Klasik Fransız mutfağının temeli.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: 'Sıkça Sorulan Sorular',
75
- faq,
76
- bibliographyTitle: 'Kaynakça',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -135,5 +128,6 @@ export const content: ToolLocaleContent = {
135
128
  timeBlond: "5-8 dk",
136
129
  timeBrown: "15-20 dk",
137
130
  },
131
+ bibliography,
138
132
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
139
133
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "黄油炒面(Roux)与母酱大师指南";
4
5
  const description = "交互式 Roux 计算器。学习以精确比例制作白酱(Bechamel)、天鹅绒酱(Velouté)和褐酱(Espagnole)。法国高等料理的基础。";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  faqTitle: '常见问题',
75
- faq,
76
- bibliographyTitle: '参考资料',
77
- bibliography: [
78
- {
79
- name: 'Larousse Gastronomique',
80
- url: 'https://www.laroussecocina.com/',
81
- },
82
- ],
83
- howTo,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -135,5 +128,6 @@ export const content: ToolLocaleContent = {
135
128
  timeBlond: "5-8 分钟",
136
129
  timeBrown: "15-20 分钟",
137
130
  },
131
+ bibliography,
138
132
  schemas: [faqSchema as any, howToSchema as any, appSchema as any],
139
133
  };
@@ -1,8 +1,15 @@
1
1
  ---
2
- import { SEORenderer } from "@jjlmoya/utils-shared";
3
- import { content } from "./i18n/es";
2
+ import { SEORenderer } from '@jjlmoya/utils-shared';
3
+ import { ROUX_GUIDE_TOOL } from './index';
4
+ import type { KnownLocale } from '../../types';
4
5
 
5
- const locale = "es";
6
+ interface Props {
7
+ locale?: KnownLocale;
8
+ }
9
+
10
+ const { locale = 'es' } = Astro.props;
11
+ const content = await ROUX_GUIDE_TOOL.i18n[locale]?.();
12
+ if (!content) return null;
6
13
  ---
7
14
 
8
- <SEORenderer content={{ sections: content.seo, locale }} />
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -1,6 +1,6 @@
1
1
  ---
2
- import { Bibliography } from '@jjlmoya/utils-shared';
3
- import { content } from './i18n/es';
2
+ import { Bibliography as BibliographyComponent } from '@jjlmoya/utils-shared';
3
+ import { bibliography } from './bibliography';
4
4
  ---
5
5
 
6
- <Bibliography links={content.bibliography} />
6
+ <BibliographyComponent links={bibliography} />
@@ -0,0 +1,14 @@
1
+ export const bibliography = [
2
+ {
3
+ name: 'Tartine Bread - Chad Robertson',
4
+ url: 'https://www.penguinrandomhouse.com/books/310016/tartine-bread-by-chad-robertson/',
5
+ },
6
+ {
7
+ name: 'The Flavor Bible - Scaling and Ratios',
8
+ url: 'https://www.flavorprints.com/',
9
+ },
10
+ {
11
+ name: 'Full Proof Baking - Guides on Sourdough',
12
+ url: 'https://www.fullproofbaking.com/',
13
+ },
14
+ ];
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Sauerteig Rechner: Fermentationsverhältnisse";
4
5
  const description = "Berechnen Sie automatisch die Proportionen von Sauerteig, Mehl und Wasser zur Pflege Ihres Ansatzes. Vordefinierte oder benutzerdefinierte Verhältnisse.";
@@ -72,15 +73,7 @@ export const content: ToolLocaleContent = {
72
73
  title,
73
74
  description,
74
75
  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,
76
+ faq, howTo,
84
77
  seo: [
85
78
  {
86
79
  type: 'title',
@@ -138,5 +131,6 @@ export const content: ToolLocaleContent = {
138
131
  totalDough: 'Gesamtgewicht',
139
132
  mm: 'ASG',
140
133
  },
134
+ bibliography,
141
135
  schemas: [faqSchema, howToSchema, appSchema],
142
136
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Sourdough Starter Feeding Calculator";
4
5
  const description = "Automatically calculate exact proportions of starter, flour, and water for your sourdough maintenance and feeding. Preset or custom ratios available.";
@@ -97,23 +98,7 @@ export const content: ToolLocaleContent = {
97
98
  question: 'Does the calculator round the grams?',
98
99
  answer: 'Yes. It rounds to the nearest whole number for practicality. For maximum precision, use a digital scale; however, small rounding differences won\'t significantly impact fermentation.',
99
100
  },
100
- ],
101
- bibliographyTitle: 'Bibliography & Resources',
102
- bibliography: [
103
- {
104
- name: 'Tartine Bread - Chad Robertson',
105
- url: 'https://www.penguinrandomhouse.com/books/310016/tartine-bread-by-chad-robertson/',
106
- },
107
- {
108
- name: 'The Flavor Bible - Scaling and Ratios',
109
- url: 'https://www.flavorprints.com/',
110
- },
111
- {
112
- name: 'Full Proof Baking - Guides on Sourdough',
113
- url: 'https://www.fullproofbaking.com/',
114
- },
115
- ],
116
- howTo: [
101
+ ], howTo: [
117
102
  {
118
103
  name: 'Enter total amount needed',
119
104
  text: 'Define the total weight of sourdough starter you need for your recipe (e.g., 300g for a typical loaf).',
@@ -309,5 +294,6 @@ export const content: ToolLocaleContent = {
309
294
  totalDough: 'Total Dough',
310
295
  mm: 'ST',
311
296
  },
297
+ bibliography,
312
298
  schemas: [faqSchema, howToSchema, appSchema],
313
299
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Calculadora de Masa Madre Ratios de Fermentación";
4
5
  const description = "Calcula automáticamente las proporciones de masa madre, harina y agua para mantener tu cultivo. Ratios predefinidos o personalizados.";
@@ -97,23 +98,7 @@ export const content: ToolLocaleContent = {
97
98
  question: '¿La calculadora redondea los gramos?',
98
99
  answer: 'Sí. Redondea al número entero más cercano para practicidad. Si necesitas máxima precisión, usa una báscula digital. Los pequeños redondeos no afectan significativamente la fermentación.',
99
100
  },
100
- ],
101
- bibliographyTitle: 'Bibliografía',
102
- bibliography: [
103
- {
104
- name: 'Tartine Bread - Chad Robertson',
105
- url: 'https://www.penguinrandomhouse.com/books/310016/tartine-bread-by-chad-robertson/',
106
- },
107
- {
108
- name: 'The Flavor Bible - Scaling and Ratios',
109
- url: 'https://www.flavorprints.com/',
110
- },
111
- {
112
- name: 'Full Proof Baking - Guides on Sourdough',
113
- url: 'https://www.fullproofbaking.com/',
114
- },
115
- ],
116
- howTo: [
101
+ ], howTo: [
117
102
  {
118
103
  name: 'Ingresa la cantidad total que necesitas',
119
104
  text: 'Define el peso total de masa madre que requieres para tu receta (ej: 300g para un pan típico).',
@@ -127,7 +112,7 @@ export const content: ToolLocaleContent = {
127
112
  text: 'La calculadora te muestra cuánto de masa madre, harina y agua necesitas. Mezcla estos ingredientes y deja fermentar según tu protocolo.',
128
113
  },
129
114
  ],
130
- seo: [
115
+ seo: [
131
116
  {
132
117
  type: 'title',
133
118
  text: 'Guía Maestra para el Mantenimiento y Refresco de Masa Madre',
@@ -310,5 +295,6 @@ export const content: ToolLocaleContent = {
310
295
  totalDough: 'Total Masa',
311
296
  mm: 'MM',
312
297
  },
298
+ bibliography,
313
299
  schemas: [faqSchema, howToSchema, appSchema],
314
300
  };
@@ -1,4 +1,5 @@
1
1
  import type { ToolLocaleContent } from "../../../types";
2
+ import { bibliography } from '../bibliography';
2
3
 
3
4
  const title = "Calculateur de Rafraîchissement du Levain";
4
5
  const description = "Le choix le plus courant en boulangerie artisanale moderne. Très facile à mélanger et à incorporer.";
@@ -109,21 +110,6 @@ export const content: ToolLocaleContent = {
109
110
  "Oui. Il arrondit à l'entier le plus proche par praticité. Pour une précision maximale, utilisez une balance digitale ; toutefois, de petits écarts d'arrondi n'impactent pas significativement la fermentation.",
110
111
  },
111
112
  ],
112
- bibliographyTitle: "Bibliographie et Ressources",
113
- bibliography: [
114
- {
115
- name: "Tartine Bread - Chad Robertson",
116
- url: "https://www.penguinrandomhouse.com/books/310016/tartine-bread-by-chad-robertson/",
117
- },
118
- {
119
- name: "The Flavor Bible - Scaling and Ratios",
120
- url: "https://www.flavorprints.com/",
121
- },
122
- {
123
- name: "Full Proof Baking - Guides on Sourdough",
124
- url: "https://www.fullproofbaking.com/",
125
- },
126
- ],
127
113
  howTo: [
128
114
  {
129
115
  name: "Entrez la quantité totale",
@@ -320,5 +306,6 @@ export const content: ToolLocaleContent = {
320
306
  totalDough: "Total Levain",
321
307
  mm: "Levain",
322
308
  },
309
+ bibliography,
323
310
  schemas: [faqSchema, howToSchema, appSchema],
324
311
  };