@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,94 @@
1
+ import type { CategoryLocaleContent } from '../../types';
2
+
3
+ export const content: CategoryLocaleContent = {
4
+ slug: 'kuchnia',
5
+ title: 'Narzędzia i Kalkulatory Kuchni Precyzyjnej',
6
+ description: 'Unikaj typowych błędów w kuchni. Narzędzia naukowe i darmowe kalkulatory online do obliczania proporcji, czasu, konwersji i technik w gastronomii profesjonalnej i domowej.',
7
+ seo: [
8
+ {
9
+ type: 'title',
10
+ text: 'Dlaczego warto używać narzędzi i kalkulatorów kuchni precyzyjnej?',
11
+ level: 2,
12
+ },
13
+ {
14
+ type: 'paragraph',
15
+ html: 'Profesjonalne gotowanie to nie intuicja; to <strong>chemia stosowana</strong>. Każdy pomiar, każda temperatura i każdy czas wpływają bezpośrednio na wynik końcowy. Gdy piekarz zawiedzie w hydratacji ciasta (nawet o 5%), otrzyma zupełnie inną teksturę.',
16
+ },
17
+ {
18
+ type: 'paragraph',
19
+ html: 'Nasze narzędzia zostały zaprojektowane, aby wyeliminować zgadywanie. Opierają się na <strong>rzeczywistych protokołach naukowych</strong>: standardach SCA, procentach piekarskich, chemii molekularnej, mikrobiologii fermentacji. To nie są "kuchenne sztuczki"; to sprawdzona nauka.',
20
+ },
21
+ {
22
+ type: 'title',
23
+ text: 'Kalkulatory Piekarnicze: Hydratacja, Fermentacja i Dokładne Proporcje',
24
+ level: 2,
25
+ },
26
+ {
27
+ type: 'paragraph',
28
+ html: 'Pizza to nie magia; to inżynieria. Hydratacja ciasta bezpośrednio określa strukturę miąższu, rozciągliwość i ostateczną chrupkość. Oblicz dokładną formułę na mąkę, wodę, sól i drożdże.',
29
+ },
30
+ {
31
+ type: 'paragraph',
32
+ html: 'Utrzymanie żywej kultury zakwasu wymaga zrozumienia biologicznego. Odświeżanie, temperatura, harmonogram: wszystko ma znaczenie. Użyj tego narzędzia, aby zrozumieć proporcję 1:1:1 i czasy fermentacji.',
33
+ },
34
+ {
35
+ type: 'title',
36
+ text: 'Konwertery Przepisów: Z USA do Twojej kuchni',
37
+ level: 2,
38
+ },
39
+ {
40
+ type: 'paragraph',
41
+ html: 'Przepisy z USA używają szklanek (cups), łyżek i stopni Fahrenheita. Szklanka mąki nie waży tyle samo co szklanka cukru. Potrzebujesz konwertera, który rozumie gęstość każdego składnika.',
42
+ },
43
+ {
44
+ type: 'title',
45
+ text: 'Fermentacja, Konserwacja i Solanka: Mikrobiologia w domu',
46
+ level: 2,
47
+ },
48
+ {
49
+ type: 'paragraph',
50
+ html: 'Fermentacja mlekowa (kiszonki, kimchi, fermentowane warzywa) zależy od dokładnego stężenia soli (zwykle 3-5%). Automatycznie wygeneruj dokładną ilość soli dla swoich składników.',
51
+ },
52
+ {
53
+ type: 'title',
54
+ text: 'Gotowanie, Temperatury i Dokładne Stopnie Przygotowania',
55
+ level: 2,
56
+ },
57
+ {
58
+ type: 'paragraph',
59
+ html: 'Temperatura wrzenia wody zmienia się wraz z wysokością. Na większych wysokościach woda wrze w niższych temperaturach, co wpływa na czas gotowania. To narzędzie automatycznie dostosowuje się do Twojej lokalizacji.',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: 'Sosy, Emulsje i Klasyczne Techniki: Francuskie Podstawy',
64
+ level: 2,
65
+ },
66
+ {
67
+ type: 'paragraph',
68
+ html: 'Pięć francuskich sosów matczynych opiera się na dokładnych proporcjach zasmażki (masło + mąka) i płynu. Poznaj specyficzne proporcje dla każdego rodzaju sosu.',
69
+ },
70
+ {
71
+ type: 'title',
72
+ text: 'Chemia stojąca za każdym przygotowaniem kulinarnym',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'Gotując, manipulujemy cząsteczkami. Białka denaturują w określonych temperaturach. Skrobie żelatynizują w obecności gorącej wody. Każda przemiana jest przewidywalna, jeśli rozumiesz podstawową chemię.',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'Od początkującego do eksperta: Droga do kulinarnego mistrzostwa',
82
+ level: 2,
83
+ },
84
+ {
85
+ type: 'list',
86
+ items: [
87
+ '<strong>Faza 1 - Podstawy:</strong> Naucz się konwersji jednostek, zrozum podstawowe proporcje (proporcje chleba, ciasta, sosy).',
88
+ '<strong>Fase 2 - Techniki Specyficzne:</strong> Opanuj kontrolowaną fermentację, idealne emulsje, bezpieczną konserwację.',
89
+ '<strong>Faza 3 - Uzasadniona Innowacja:</strong> Eksperymentuj odpowiedzialnie, opierając się na solidnych podstawach.',
90
+ '<strong>Faza 4 - Spójna Doskonałość:</strong> Osiągnij powtarzalność. Każde danie jest tak doskonałe jak poprzednie.',
91
+ ],
92
+ },
93
+ ],
94
+ };
@@ -0,0 +1,94 @@
1
+ import type { CategoryLocaleContent } from '../../types';
2
+
3
+ export const content: CategoryLocaleContent = {
4
+ slug: 'cozinha',
5
+ title: 'Utilidades e Calculadoras de Cozinha de Precisão',
6
+ description: 'Evite erros comuns na cozinha. Ferramentas científicas e calculadoras online gratuitas para calcular proporções, tempos, conversões e técnicas na gastronomia profissional e doméstica.',
7
+ seo: [
8
+ {
9
+ type: 'title',
10
+ text: 'Porquê usar calculadoras e ferramentas de cozinha de precisão?',
11
+ level: 2,
12
+ },
13
+ {
14
+ type: 'paragraph',
15
+ html: 'A cozinha profissional não é intuição; é <strong>química aplicada</strong>. Cada medida, temperatura e tempo afetam diretamente o resultado final. Quando um padeiro falha na hidratação da massa (mesmo que apenas 5%), obtém uma textura completamente diferente.',
16
+ },
17
+ {
18
+ type: 'paragraph',
19
+ html: 'As nossas ferramentas foram concebidas para eliminar a adivinhação. Baseiam-se em <strong>protocolos científicos reais</strong>: padrões da Specialty Coffee Association, rátios de padeiro, química molecular e microbiologia da fermentação.',
20
+ },
21
+ {
22
+ type: 'title',
23
+ text: 'Calculadoras de Panificação: Hidratação, Fermentação e Rátios Exatos',
24
+ level: 2,
25
+ },
26
+ {
27
+ type: 'paragraph',
28
+ html: 'Pizza não é magia; é engenharia. A hidratação da massa determina a estrutura do alvéolo, a extensibilidade e a crocância final. Calcula a fórmula exata para farinha, água, sal e levedura.',
29
+ },
30
+ {
31
+ type: 'paragraph',
32
+ html: 'Manter um cultivo vivo de massa mãe requer compreensão biológica. Os refrescos, a temperatura, os horários: tudo conta. Usa esta ferramenta para entender o rátio 1:1:1 e os tempos de fermentação.',
33
+ },
34
+ {
35
+ type: 'title',
36
+ text: 'Conversores de Receitas: Dos EUA para a tua cozinha',
37
+ level: 2,
38
+ },
39
+ {
40
+ type: 'paragraph',
41
+ html: 'As receitas dos EUA usam cups, tablespoons e Fahrenheit. Um cup de farinha não pesa o mesmo que um cup de açúcar. Precisas de um conversor que entenda a densidade de cada ingrediente.',
42
+ },
43
+ {
44
+ type: 'title',
45
+ text: 'Fermentação, Conservação e Salmoura: Microbiologia em casa',
46
+ level: 2,
47
+ },
48
+ {
49
+ type: 'paragraph',
50
+ html: 'A fermentação láctica (conservas, kimchi, legumes fermentados) depende de uma concentração exata de sal (tipicamente 3-5%). Gera automaticamente a quantidade exata de sal para os teus ingredientes.',
51
+ },
52
+ {
53
+ type: 'title',
54
+ text: 'Cozedura, Temperaturas e Pontos de Cozedura Exatos',
55
+ level: 2,
56
+ },
57
+ {
58
+ type: 'paragraph',
59
+ html: 'O ponto de ebulição da água muda com a altitude. A maiores altitudes, a água ferve a temperaturas mais baixas, afetando o tempo de cozedura. Esta ferramenta ajusta-se automaticamente à tua localização.',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: 'Molhos, Emulsões e Técnicas Clássicas: Fundamentos Franceses',
64
+ level: 2,
65
+ },
66
+ {
67
+ type: 'paragraph',
68
+ html: 'Os cinco molhos mãe franceses baseiam-se em proporções exatas de roux (manteiga + farinha) e líquido. Aprende os rátios específicos para cada tipo de molho.',
69
+ },
70
+ {
71
+ type: 'title',
72
+ text: 'A química por trás de cada preparação culinária',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'Quando cozinhamos, manipulamos moléculas. As proteínas desnaturalizam-se a temperaturas específicas. Os amidos gelatinizam na presença de água quente. Cada transformação é previsível se entenderes a química subjacente.',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'De principiante a especialista: O caminho para o mestria culinária',
82
+ level: 2,
83
+ },
84
+ {
85
+ type: 'list',
86
+ items: [
87
+ '<strong>Fase 1 - Fundamentos:</strong> Aprende conversões de unidades, compreende proporções básicas (rátios de pão, massas, molhos).',
88
+ '<strong>Fase 2 - Técnicas Específicas:</strong> Domina fermentação controlada, emulsões perfeitas, conservação segura.',
89
+ '<strong>Fase 3 - Inovação Fundamentada:</strong> Experimenta responsavelmente com bases sólidas.',
90
+ '<strong>Fase 4 - Excelência Consistente:</strong> Alcança a reprodutibilidade. Cada prato é tão perfeito como o anterior.',
91
+ ],
92
+ },
93
+ ],
94
+ };
@@ -0,0 +1,94 @@
1
+ import type { CategoryLocaleContent } from '../../types';
2
+
3
+ export const content: CategoryLocaleContent = {
4
+ slug: 'kuhnya',
5
+ title: 'Утилиты и калькуляторы для точной кулинарии',
6
+ description: 'Избегайте распространенных ошибок на кухне. Научные инструменты и бесплатные онлайн-калькуляторы для расчета пропорций, времени, конвертации и техник.',
7
+ seo: [
8
+ {
9
+ type: 'title',
10
+ text: 'Зачем использовать инструменты точной кулинарии?',
11
+ level: 2,
12
+ },
13
+ {
14
+ type: 'paragraph',
15
+ html: 'Профессиональная кухня — это не интуиция; это <strong>прикладная химия</strong>. Каждое измерение, каждая температура и каждое время напрямую влияют на конечный результат. Ошибка в гидратации теста всего на 5% дает совершенно иную текстуру.',
16
+ },
17
+ {
18
+ type: 'paragraph',
19
+ html: 'Наши инструменты созданы, чтобы исключить гадание. Они основаны на <strong>реальных научных протоколах</strong>: стандартах SCA, пекарских процентах, молекулярной химии. Это не "кухонные хитрости", а доказанная наука.',
20
+ },
21
+ {
22
+ type: 'title',
23
+ text: 'Калькуляторы для выпечки: гидратация, ферментация и точные пропорции',
24
+ level: 2,
25
+ },
26
+ {
27
+ type: 'paragraph',
28
+ html: 'Пицца — это не магия; это инженерия. Гидратация теста напрямую определяет структуру мякиша, растяжимость и хруст. Рассчитайте точную формулу для муки, воды, соли и дрожжей.',
29
+ },
30
+ {
31
+ type: 'paragraph',
32
+ html: 'Поддержание живой закваски требует биологического понимания. Освежения, температура, график — все имеет значение. Используйте этот инструмент, чтобы понять соотношение 1:1:1 и время брожения.',
33
+ },
34
+ {
35
+ type: 'title',
36
+ text: 'Конвертеры рецептов: из США на вашу кухню',
37
+ level: 2,
38
+ },
39
+ {
40
+ type: 'paragraph',
41
+ html: 'Рецепты из США используют чашки (cups), столовые ложки и Фаренгейты. Чашка муки весит не столько же, сколько чашка сахара. Вам нужен конвертер, который понимает плотность каждого ингредиента.',
42
+ },
43
+ {
44
+ type: 'title',
45
+ text: 'Ферментация, консервация и рассол: микробиология дома',
46
+ level: 2,
47
+ },
48
+ {
49
+ type: 'paragraph',
50
+ html: 'Молочнокислое брожение (соленья, кимчи, ферментированные овощи) зависит от точной концентрации соли (обычно 3-5%). Автоматически рассчитайте точное количество соли для ваших ингредиентов.',
51
+ },
52
+ {
53
+ type: 'title',
54
+ text: 'Приготовление, температуры и точные степени прожарки',
55
+ level: 2,
56
+ },
57
+ {
58
+ type: 'paragraph',
59
+ html: 'Точка кипения воды меняется с высотой. В горах вода закипает при более низкой температуре, что влияет на время варки. Этот инструмент автоматически подстраивается под ваше местоположение.',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: 'Соусы, эмульсии и классические техники: французские основы',
64
+ level: 2,
65
+ },
66
+ {
67
+ type: 'paragraph',
68
+ html: 'Пять французских материнских соусов основаны на точных пропорциях Ру (масло + мука) и жидкости. Узнайте специфические соотношения для каждого типа соуса.',
69
+ },
70
+ {
71
+ type: 'title',
72
+ text: 'Химия, стоящая за каждым кулинарным процессом',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'Когда мы готовим, мы манипулируем молекулами. Белки денатурируют при определенных температурах. Крахмалы желатинизируются в присутствии горячей воды. Каждое превращение предсказуемо, если понимать химию процессов.',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'От новичка до эксперта: путь к кулинарному мастерству',
82
+ level: 2,
83
+ },
84
+ {
85
+ type: 'list',
86
+ items: [
87
+ '<strong>Фаза 1 — Основы:</strong> изучение конвертации единиц, понимание базовых пропорций (соотношения хлеба, теста, соусов).',
88
+ '<strong>Фаза 2 — Специфические техники:</strong> освоение контролируемой ферментации, идеальных эмульсий, безопасной консервации.',
89
+ '<strong>Фаза 3 — Обоснованные инновации:</strong> экспериментирование на основе прочного фундамента знаний.',
90
+ '<strong>Фаза 4 — Стабильное совершенство:</strong> достижение воспроизводимости. Каждое блюдо так же идеально, как предыдущее.',
91
+ ],
92
+ },
93
+ ],
94
+ };
@@ -0,0 +1,94 @@
1
+ import type { CategoryLocaleContent } from '../../types';
2
+
3
+ export const content: CategoryLocaleContent = {
4
+ slug: 'kok',
5
+ title: 'Precisionsverktyg och Kalkylatorer för Köket',
6
+ description: 'Undvik vanliga fel i köket. Vetenskapliga verktyg och gratis onlinekalkylatorer för att beräkna proportioner, tider, konverteringar och tekniker.',
7
+ seo: [
8
+ {
9
+ type: 'title',
10
+ text: 'Varför använda precisionsverktyg och kalkylatorer i köket?',
11
+ level: 2,
12
+ },
13
+ {
14
+ type: 'paragraph',
15
+ html: 'Professionell matlagning handlar inte om intuition; det är <strong>tillämpad kemi</strong>. Varje mått, temperatur och tid påverkar direkt slutresultatet. Om en bagare misslyckas med deghydreringen (även med bara 5%), blir texturen helt annorlunda.',
16
+ },
17
+ {
18
+ type: 'paragraph',
19
+ html: 'Våra verktyg är utformade för att eliminera gissningar. De baseras på <strong>riktiga vetenskapliga protokoll</strong>: SCA-standarder, bagarprocent, molekylär kemi, fermenteringsmikrobiologi. Det är inte "köksknep", det är bevisad vetenskap.',
20
+ },
21
+ {
22
+ type: 'title',
23
+ text: 'Bak- och degkalkylatorer: Hydrering, Fermentering och Exakta Förhållanden',
24
+ level: 2,
25
+ },
26
+ {
27
+ type: 'paragraph',
28
+ html: 'Pizza är inte magi; det är ingenjörskonst. Deghydreringen avgör direkt inkråmets struktur, töjbarhet och krispighet. Beräkna den exakta formeln för mjöl, vatten, salt och jäst.',
29
+ },
30
+ {
31
+ type: 'paragraph',
32
+ html: 'Att underhålla en levande surdeg kräver biologisk förståelse. Matningar, temperatur, schema: allt räknas. Använd detta verktyg för att förstå 1:1:1-förhållandet och fermenteringstider.',
33
+ },
34
+ {
35
+ type: 'title',
36
+ text: 'Receptkonverterare: Från USA till ditt kök',
37
+ level: 2,
38
+ },
39
+ {
40
+ type: 'paragraph',
41
+ html: 'USA-recept använder cups, tablespoons och Fahrenheit. En cup mjöl väger inte lika mycket som en cup socker. Du behöver en konverterare som förstår densiteten för varje ingrediens.',
42
+ },
43
+ {
44
+ type: 'title',
45
+ text: 'Fermentering, Konservering och Saltlag: Mikrobiologi hemma',
46
+ level: 2,
47
+ },
48
+ {
49
+ type: 'paragraph',
50
+ html: 'Mjölksyrajäsning (pickling, kimchi, fermenterade grönsaker) beror på en exakt saltkoncentration (vanligtvis 3-5%). Generera automatiskt den exakta saltmängden för dina ingredienser.',
51
+ },
52
+ {
53
+ type: 'title',
54
+ text: 'Tillagning, Temperaturer och Exakta Garpunkter',
55
+ level: 2,
56
+ },
57
+ {
58
+ type: 'paragraph',
59
+ html: 'Vattnets kokpunkt ändras med höjden. På högre höjd kokar vatten vid lägre temperaturer, vilket påverkar tillagningstiden. Detta verktyg anpassar sig automatiskt efter din plats.',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: 'Såser, Emulsioner och Klassiska Tekniker: Franska Grunder',
64
+ level: 2,
65
+ },
66
+ {
67
+ type: 'paragraph',
68
+ html: 'De fem franska grundsåserna baseras på exakta proportioner av roux (smör + mjöl) och vätska. Lär dig de specifika förhållandena för varje typ av sås.',
69
+ },
70
+ {
71
+ type: 'title',
72
+ text: 'Kemin bakom varje kulinarisk tillredning',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'När vi lagar mat manipulerar vi molekyler. Proteiner denatureras vid specifika temperaturer. Stärkelse gelatiniseras i närvaro av varmt vatten. Varje förvandling är förutsägbar om man förstår den underliggande kemin.',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'Från nybörjare till expert: Vägen till kulinariskt mästerskap',
82
+ level: 2,
83
+ },
84
+ {
85
+ type: 'list',
86
+ items: [
87
+ '<strong>Fas 1 - Grunder:</strong> Lär dig enhetskonverteringar, förstå basproportioner (brödförhållanden, degar, såser).',
88
+ '<strong>Fas 2 - Specifika tekniker:</strong> Bemästra kontrollerad fermentering, perfekta emulsioner, säker konservering.',
89
+ '<strong>Fas 3 - Välgrundad innovation:</strong> Experimentera ansvarsfullt med en solid bas.',
90
+ '<strong>Fas 4 - Konsekvent briljans:</strong> Uppnå reproducerbarhet. Varje rätt är lika perfekt som den förra.',
91
+ ],
92
+ },
93
+ ],
94
+ };
@@ -0,0 +1,94 @@
1
+ import type { CategoryLocaleContent } from '../../types';
2
+
3
+ export const content: CategoryLocaleContent = {
4
+ slug: 'mutfak',
5
+ title: 'Hassas Mutfak Gereçleri ve Hesaplayıcılar',
6
+ description: 'Mutfaktaki yaygın hatalardan kaçının. Profesyonel ve ev gastronomisinde oranları, süreleri, dönüşümleri ve teknikleri hesaplamak için bilimsel araçlar ve ücretsiz çevrimiçi hesaplayıcılar.',
7
+ seo: [
8
+ {
9
+ type: 'title',
10
+ text: 'Neden hassas mutfak araçları ve hesaplayıcılar kullanmalısınız?',
11
+ level: 2,
12
+ },
13
+ {
14
+ type: 'paragraph',
15
+ html: 'Profesyonel yemek pişirme sezgi değil; <strong>uygulamalı kimyadır</strong>. Her ölçü, her sıcaklık ve her süre sonucu doğrudan etkiler. Bir fırıncı hamur hidrasyonunda hata yaptığında (%5 bile olsa), tamamen farklı bir doku elde eder.',
16
+ },
17
+ {
18
+ type: 'paragraph',
19
+ html: 'Araçlarımız tahmin yürütmeyi ortadan kaldırmak için tasarlanmıştır. <strong>Gerçek bilimsel protokollere</strong> dayanır: SCA standartları, fırıncı oranları, moleküler kimya, fermantasyon mikrobiyolojisi. Bunlar "mutfak hileleri" değil; kanıtlanmış bilimdir.',
20
+ },
21
+ {
22
+ type: 'title',
23
+ text: 'Hamur İşi ve Hamur Hesaplayıcıları: Hidrasyon, Fermantasyon ve Kesin Oranlar',
24
+ level: 2,
25
+ },
26
+ {
27
+ type: 'paragraph',
28
+ html: 'Pizza sihir değil; mühendisliktir. Hamur hidrasyonu; gözenek yapısını, esnekliği ve çıtırlığı doğrudan belirler. Un, su, tuz ve maya için kesin formülü hesaplayın.',
29
+ },
30
+ {
31
+ type: 'paragraph',
32
+ html: 'Canlı bir ekşi maya kültürünü korumak biyolojik anlayış gerektirir. Beslemeler, sıcaklık, zamanlama: her şey önemlidir. 1:1:1 oranını ve fermantasyon sürelerini anlamak için bu aracı kullanın.',
33
+ },
34
+ {
35
+ type: 'title',
36
+ text: 'Tarif Dönüştürücüler: ABD\'den Mutfağınıza',
37
+ level: 2,
38
+ },
39
+ {
40
+ type: 'paragraph',
41
+ html: 'ABD tarifleri kap (cup), yemek kaşığı ve Fahrenheit kullanır. Bir kap un, bir kap şekerle aynı ağırlıkta değildir. Her malzemenin yoğunluğunu anlayan bir dönüştürücüye ihtiyacınız var.',
42
+ },
43
+ {
44
+ type: 'title',
45
+ text: 'Fermantasyon, Saklama ve Salamura: Evde Mikrobiyoloji',
46
+ level: 2,
47
+ },
48
+ {
49
+ type: 'paragraph',
50
+ html: 'Laktik fermantasyon (turşular, kimchi, fermente sebzeler) tam tuz konsantrasyonuna bağlıdır (genellikle %3-5). Malzemeleriniz için gereken tam tuz miktarını otomatik olarak oluşturun.',
51
+ },
52
+ {
53
+ type: 'title',
54
+ text: 'Pişirme, Sıcaklıklar ve Kesin Pişme Noktaları',
55
+ level: 2,
56
+ },
57
+ {
58
+ type: 'paragraph',
59
+ html: 'Suyun kaynama noktası rakımla değişir. Yüksek rakımlarda su daha düşük sıcaklıklarda kaynayarak pişirme süresini etkiler. Bu araç bulunduğunuz yere göre otomatik olarak ayarlanır.',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: 'Soslar, Emülsiyonlar ve Klasik Teknikler: Fransız Temelleri',
64
+ level: 2,
65
+ },
66
+ {
67
+ type: 'paragraph',
68
+ html: 'Beş temel Fransız sosu; meyane (tereyağı + un) ve sıvının kesin oranlarına dayanır. Her sos türü için özel oranları öğrenin.',
69
+ },
70
+ {
71
+ type: 'title',
72
+ text: 'Her Kuliner Hazırlığın Arkasındaki Kimya',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: 'Yemek pişirirken molekülleri manipüle ederiz. Proteinler belirli sıcaklıklarda denatüre olur. Nişastalar sıcak su varlığında jelatinleşir. Altta yatan kimyayı anlarsanız her dönüşüm öngörülebilir ve kontrol edilebilir.',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'Yeni Başlayandan Uzmana: Mutfak Ustalığına Giden Yol',
82
+ level: 2,
83
+ },
84
+ {
85
+ type: 'list',
86
+ items: [
87
+ '<strong>Aşama 1 - Temeller:</strong> Birim dönüşümlerini öğrenin, temel oranları (ekmek oranları, hamurlar, soslar) anlayın.',
88
+ '<strong>Aşama 2 - Özel Teknikler:</strong> Kontrollü fermantasyon, mükemmel emülsiyonlar ve güvenli saklama tekniklerinde ustalaşın.',
89
+ '<strong>Aşama 3 - Bilinçli İnovasyon:</strong> Sağlam bir temel üzerinde sorumlu bir şekilde denemeler yapın.',
90
+ '<strong>Aşama 4 - Tutarlı Mükemmellik:</strong> Tekrarlanabilirliğe ulaşın. Her yemek bir önceki kadar kusursuz olsun.',
91
+ ],
92
+ },
93
+ ],
94
+ };
@@ -0,0 +1,94 @@
1
+ import type { CategoryLocaleContent } from '../../types';
2
+
3
+ export const content: CategoryLocaleContent = {
4
+ slug: 'cooking',
5
+ title: '精密烹饪实用工具与计算器',
6
+ description: '避免厨房中的常见错误。为专业和家庭烹饪提供科学工具和免费在线计算器,用于计算比例、时间、换算和技术。',
7
+ seo: [
8
+ {
9
+ type: 'title',
10
+ text: '为什么要使用精密烹饪工具和计算器?',
11
+ level: 2,
12
+ },
13
+ {
14
+ type: 'paragraph',
15
+ html: '专业烹饪并非直觉,而是<strong>应用化学</strong>。每一次测量、温度和时间都会直接影响最终结果。当烘焙师在面团含水量上出现失误(即使只有 5%),得到的质地也会完全不同。',
16
+ },
17
+ {
18
+ type: 'paragraph',
19
+ html: '我们的工具旨在消除猜测。它们基于<strong>真实的科学流程</strong>:SCA 标准、烘焙百分比、分子化学、发酵微生物学。这些不是“厨房小窍门”,而是经过验证的科学。',
20
+ },
21
+ {
22
+ type: 'title',
23
+ text: '烘焙与面团计算器:含水量、发酵与精确比例',
24
+ level: 2,
25
+ },
26
+ {
27
+ type: 'paragraph',
28
+ html: '披萨不是魔法,而是工程。面团的含水量直接决定了内部气孔结构、延展性和最终的脆度。计算面粉、水、盐和酵母的精确配方。',
29
+ },
30
+ {
31
+ type: 'paragraph',
32
+ html: '维护活的天然酵母菌种需要生物学理解。喂养、温度、时间表:每一项都至关重要。使用此工具来理解 1:1:1 比例和发酵时间。',
33
+ },
34
+ {
35
+ type: 'title',
36
+ text: '食谱换算:从美国标准到你的厨房',
37
+ level: 2,
38
+ },
39
+ {
40
+ type: 'paragraph',
41
+ html: '美国食谱使用量杯(cup)、大勺(tablespoon)和华氏度。一量杯面粉的重量与一量杯糖并不相同。你需要一个理解每种材料密度的换算器。',
42
+ },
43
+ {
44
+ type: 'title',
45
+ text: '发酵、保存与盐水:家庭微生物学',
46
+ level: 2,
47
+ },
48
+ {
49
+ type: 'paragraph',
50
+ html: '乳酸发酵(泡菜、腌菜、发酵蔬菜)取决于精确的盐浓度(通常为 3-5%)。为你的材料自动计算所需的精确盐量。',
51
+ },
52
+ {
53
+ type: 'title',
54
+ text: '烹饪、温度与精确熟度',
55
+ level: 2,
56
+ },
57
+ {
58
+ type: 'paragraph',
59
+ html: '水的沸点随海拔高度而变化。在高海拔地区,水在较低温度下沸点,这会影响烹饪时间。此工具会根据你的位置自动调整。',
60
+ },
61
+ {
62
+ type: 'title',
63
+ text: '酱汁、乳化与经典技术:法式基础',
64
+ level: 2,
65
+ },
66
+ {
67
+ type: 'paragraph',
68
+ html: '五种法式母酱基于黄油面糊(Roux)与液体的精确比例。学习不同类型酱汁的具体比例。',
69
+ },
70
+ {
71
+ type: 'title',
72
+ text: '每种烹饪准备背后的化学',
73
+ level: 2,
74
+ },
75
+ {
76
+ type: 'paragraph',
77
+ html: '当我们烹饪时,我们是在操控分子。蛋白质在特定温度下变性。淀粉在热水存在下糊化。如果你理解背后的化学原理,每一种转化都是可以预测和控制的。',
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: '从初学者到专家:烹饪大师之路',
82
+ level: 2,
83
+ },
84
+ {
85
+ type: 'list',
86
+ items: [
87
+ '<strong>第一阶段 - 基础:</strong> 学习单位换算,理解基本比例(面包比例、面团、酱汁)。',
88
+ '<strong>第二阶段 - 特定技术:</strong> 掌握受控发酵、完美乳化、安全保存。',
89
+ '<strong>第三阶段 - 有据可依的创新:</strong> 在稳固的基础上负责任地进行实验。',
90
+ '<strong>第四阶段 - 持续卓越:</strong> 实现可重复性。每一道菜都像上一次一样完美。',
91
+ ],
92
+ },
93
+ ],
94
+ };
@@ -32,6 +32,18 @@ export const cookingCategory: CookingCategoryEntry = {
32
32
  es: () => import('./i18n/es').then((m) => m.content),
33
33
  en: () => import('./i18n/en').then((m) => m.content),
34
34
  fr: () => import('./i18n/fr').then((m) => m.content),
35
+ de: () => import('./i18n/de').then((m) => m.content),
36
+ it: () => import('./i18n/it').then((m) => m.content),
37
+ pt: () => import('./i18n/pt').then((m) => m.content),
38
+ nl: () => import('./i18n/nl').then((m) => m.content),
39
+ sv: () => import('./i18n/sv').then((m) => m.content),
40
+ ru: () => import('./i18n/ru').then((m) => m.content),
41
+ tr: () => import('./i18n/tr').then((m) => m.content),
42
+ pl: () => import('./i18n/pl').then((m) => m.content),
43
+ id: () => import('./i18n/id').then((m) => m.content),
44
+ ja: () => import('./i18n/ja').then((m) => m.content),
45
+ zh: () => import('./i18n/zh').then((m) => m.content),
46
+ ko: () => import('./i18n/ko').then((m) => m.content),
35
47
  },
36
48
  };
37
49
 
@@ -1,7 +1,7 @@
1
1
  import { describe, it, expect } from 'vitest';
2
2
  import type * as DATA from '../data';
3
3
 
4
- const TOOLS: typeof DATA.cookingCategory[] = [];
4
+ const TOOLS: typeof DATA.audiovisualCategory[] = [];
5
5
 
6
6
  describe('FAQ Content Validation', () => {
7
7
  TOOLS.forEach((entry) => {
@@ -0,0 +1,36 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { ALL_TOOLS } from '../tools';
3
+
4
+ const EXPECTED_LOCALES = [
5
+ 'de', 'en', 'es', 'fr', 'id', 'it', 'ja', 'ko', 'nl', 'pl', 'pt', 'ru', 'sv', 'tr', 'zh'
6
+ ];
7
+
8
+ describe('I18n Coverage Validation', () => {
9
+ it('all tools should be registered', () => {
10
+ expect(ALL_TOOLS.length).toBeGreaterThan(0);
11
+ });
12
+
13
+ ALL_TOOLS.forEach(({ entry }: { entry: any }) => {
14
+ describe(`Tool: ${entry.id}`, () => {
15
+ it('should have all 15 required locales', () => {
16
+ const registeredLocales = Object.keys(entry.i18n);
17
+ EXPECTED_LOCALES.forEach((locale) => {
18
+ expect(
19
+ registeredLocales,
20
+ `Tool "${entry.id}" is missing locale "${locale}"`,
21
+ ).toContain(locale);
22
+ });
23
+ });
24
+
25
+ it('all locale loaders should be functions', () => {
26
+ EXPECTED_LOCALES.forEach((locale) => {
27
+ const loader = entry.i18n[locale as keyof typeof entry.i18n];
28
+ expect(
29
+ typeof loader,
30
+ `Tool "${entry.id}" locale "${locale}" loader is not a function`,
31
+ ).toBe('function');
32
+ });
33
+ });
34
+ });
35
+ });
36
+ });
@@ -35,7 +35,7 @@ describe('Locale Completeness Validation', () => {
35
35
  });
36
36
  });
37
37
 
38
- it('should have 12 tools registered', () => {
38
+ it('all 12 tools registered', () => {
39
39
  expect(ALL_TOOLS.length).toBe(12);
40
40
  });
41
41
  });