@jjlmoya/utils-cooking 1.26.0 → 1.27.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 (54) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/fr.ts +16 -16
  3. package/src/category/i18n/ru.ts +7 -7
  4. package/src/category/i18n/zh.ts +1 -1
  5. package/src/tests/no_en_dash.test.ts +70 -0
  6. package/src/tool/american-kitchen-converter/i18n/en.ts +2 -2
  7. package/src/tool/american-kitchen-converter/i18n/fr.ts +2 -2
  8. package/src/tool/american-kitchen-converter/i18n/pl.ts +2 -2
  9. package/src/tool/american-kitchen-converter/i18n/ru.ts +13 -13
  10. package/src/tool/american-kitchen-converter/i18n/sv.ts +2 -2
  11. package/src/tool/american-kitchen-converter/i18n/zh.ts +3 -3
  12. package/src/tool/banana-ripeness/banana-ripeness.css +56 -0
  13. package/src/tool/banana-ripeness/i18n/fr.ts +5 -5
  14. package/src/tool/banana-ripeness/i18n/ru.ts +5 -5
  15. package/src/tool/brine/i18n/fr.ts +4 -4
  16. package/src/tool/brine/i18n/ru.ts +3 -3
  17. package/src/tool/brine/i18n/sv.ts +9 -9
  18. package/src/tool/cookware-guide/i18n/fr.ts +9 -9
  19. package/src/tool/cookware-guide/i18n/ru.ts +6 -6
  20. package/src/tool/cookware-guide/i18n/zh.ts +3 -3
  21. package/src/tool/egg-timer/i18n/ru.ts +4 -4
  22. package/src/tool/ingredient-rescaler/i18n/en.ts +1 -1
  23. package/src/tool/ingredient-rescaler/i18n/fr.ts +3 -3
  24. package/src/tool/ingredient-rescaler/i18n/pl.ts +1 -1
  25. package/src/tool/ingredient-rescaler/i18n/ru.ts +5 -5
  26. package/src/tool/ingredient-rescaler/i18n/zh.ts +5 -5
  27. package/src/tool/kitchen-timer/i18n/de.ts +1 -1
  28. package/src/tool/kitchen-timer/i18n/fr.ts +8 -8
  29. package/src/tool/kitchen-timer/i18n/id.ts +1 -1
  30. package/src/tool/kitchen-timer/i18n/nl.ts +1 -1
  31. package/src/tool/kitchen-timer/i18n/pl.ts +1 -1
  32. package/src/tool/kitchen-timer/i18n/ru.ts +4 -4
  33. package/src/tool/kitchen-timer/i18n/sv.ts +1 -1
  34. package/src/tool/kitchen-timer/i18n/zh.ts +5 -5
  35. package/src/tool/meringue-peak/i18n/en.ts +3 -3
  36. package/src/tool/meringue-peak/i18n/ru.ts +3 -3
  37. package/src/tool/meringue-peak/i18n/zh.ts +2 -2
  38. package/src/tool/pizza/i18n/de.ts +1 -1
  39. package/src/tool/pizza/i18n/fr.ts +4 -4
  40. package/src/tool/pizza/i18n/ru.ts +6 -6
  41. package/src/tool/roux-guide/i18n/fr.ts +3 -3
  42. package/src/tool/roux-guide/i18n/ru.ts +4 -4
  43. package/src/tool/roux-guide/i18n/zh.ts +1 -1
  44. package/src/tool/sourdough-calculator/i18n/ru.ts +2 -2
  45. package/src/tool/sourdough-calculator/i18n/zh.ts +2 -2
  46. package/src/tool/yeast-converter/i18n/de.ts +1 -1
  47. package/src/tool/yeast-converter/i18n/en.ts +1 -1
  48. package/src/tool/yeast-converter/i18n/fr.ts +19 -19
  49. package/src/tool/yeast-converter/i18n/id.ts +1 -1
  50. package/src/tool/yeast-converter/i18n/nl.ts +1 -1
  51. package/src/tool/yeast-converter/i18n/pl.ts +1 -1
  52. package/src/tool/yeast-converter/i18n/pt.ts +1 -1
  53. package/src/tool/yeast-converter/i18n/ru.ts +4 -4
  54. package/src/tool/yeast-converter/i18n/sv.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-cooking",
3
- "version": "1.26.0",
3
+ "version": "1.27.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
@@ -16,15 +16,15 @@ export const content: CategoryLocaleContent = {
16
16
  },
17
17
  {
18
18
  type: 'paragraph',
19
- html: 'Nos outils sont conçus pour éliminer les conjectures. Ils sont basés sur des <strong>protocoles scientifiques réels</strong> : normes de la Specialty Coffee Association, ratios de boulanger, chimie moléculaire, microbiologie de la fermentation. Ce ne sont pas des « astuces de cuisine » ; c\'est une science éprouvée que vous pouvez utiliser dans votre cuisine domestique ou professionnelle.',
19
+ html: 'Nos outils sont conçus pour éliminer les conjectures. Ils sont basés sur des <strong>protocoles scientifiques réels</strong>: normes de la Specialty Coffee Association, ratios de boulanger, chimie moléculaire, microbiologie de la fermentation. Ce ne sont pas des " astuces de cuisine " ; c\'est une science éprouvée que vous pouvez utiliser dans votre cuisine domestique ou professionnelle.',
20
20
  },
21
21
  {
22
22
  type: 'paragraph',
23
- html: 'Des cuisines domestiques aux étoiles Michelin, tous les grands chefs partagent une caractéristique : la <strong>reproductibilité</strong>. Ils ne créent pas un plat exceptionnel par hasard ; ils le créent grâce à des protocoles précis, des mesures exactes et une compréhension profonde de la raison pour laquelle les transformations se produisent.',
23
+ html: 'Des cuisines domestiques aux étoiles Michelin, tous les grands chefs partagent une caractéristique: la <strong>reproductibilité</strong>. Ils ne créent pas un plat exceptionnel par hasard ; ils le créent grâce à des protocoles précis, des mesures exactes et une compréhension profonde de la raison pour laquelle les transformations se produisent.',
24
24
  },
25
25
  {
26
26
  type: 'title',
27
- text: 'Calculateurs de Pâtisserie et de Pâtes : Hydratation, Fermentation et Ratios Exactos',
27
+ text: 'Calculateurs de Pâtisserie et de Pâtes: Hydratation, Fermentation et Ratios Exactos',
28
28
  level: 2,
29
29
  },
30
30
  {
@@ -33,11 +33,11 @@ export const content: CategoryLocaleContent = {
33
33
  },
34
34
  {
35
35
  type: 'paragraph',
36
- html: 'Maintenir une culture vivante nécessite une compréhension biologique. Les rafraîchis, la température, le moment : tout compte. Utilisez cet outil pour comprendre le ratio 1:1:1, les temps de fermentation et comment l\'ajuster en fonction de votre environnement :',
36
+ html: 'Maintenir une culture vivante nécessite une compréhension biologique. Les rafraîchis, la température, le moment: tout compte. Utilisez cet outil pour comprendre le ratio 1:1:1, les temps de fermentation et comment l\'ajuster en fonction de votre environnement :',
37
37
  },
38
38
  {
39
39
  type: 'paragraph',
40
- html: 'Changer la taille d\'un moule ne consiste pas seulement à multiplier les ingrédients. C\'est un problème de géométrie : un moule de 20x30 cm a une surface double de celle d\'un moule circulaire de 20 cm. Cela affecte l\'évaporation, les temps de cuisson et la hauteur finale. Calculez le facteur exact :',
40
+ html: 'Changer la taille d\'un moule ne consiste pas seulement à multiplier les ingrédients. C\'est un problème de géométrie: un moule de 20x30 cm a une surface double de celle d\'un moule circulaire de 20 cm. Cela affecte l\'évaporation, les temps de cuisson et la hauteur finale. Calculez le facteur exact :',
41
41
  },
42
42
  {
43
43
  type: 'paragraph',
@@ -45,7 +45,7 @@ export const content: CategoryLocaleContent = {
45
45
  },
46
46
  {
47
47
  type: 'title',
48
- text: 'Convertisseurs et Adaptateurs de Recettes : Des États-Unis à Votre Cuisine',
48
+ text: 'Convertisseurs et Adaptateurs de Recettes: Des États-Unis à Votre Cuisine',
49
49
  level: 2,
50
50
  },
51
51
  {
@@ -58,7 +58,7 @@ export const content: CategoryLocaleContent = {
58
58
  },
59
59
  {
60
60
  type: 'title',
61
- text: 'Fermentation, Conservation et Saumure : Microbiologie à Domicile',
61
+ text: 'Fermentation, Conservation et Saumure: Microbiologie à Domicile',
62
62
  level: 2,
63
63
  },
64
64
  {
@@ -76,15 +76,15 @@ export const content: CategoryLocaleContent = {
76
76
  },
77
77
  {
78
78
  type: 'paragraph',
79
- html: 'Le point d\'ébullition de l\'eau change avec l\'altitude. À des altitudes plus élevées, l\'eau bout à une température plus basse, ce qui affecte le temps de cuisson. Cet outil s\'ajuste automatiquement en fonction de votre emplacement : 4 minutes au niveau de la mer = 5,5 minutes à 2000 m :',
79
+ html: 'Le point d\'ébullition de l\'eau change avec l\'altitude. À des altitudes plus élevées, l\'eau bout à une température plus basse, ce qui affecte le temps de cuisson. Cet outil s\'ajuste automatiquement en fonction de votre emplacement: 4 minutes au niveau de la mer = 5,5 minutes à 2000 m :',
80
80
  },
81
81
  {
82
82
  type: 'paragraph',
83
- html: 'Lors de la préparation d\'un plat complexe, vous devez coordonner plusieurs tâches : four, plaque, repos. Chacune nécessite son propre temps et sa propre alerte :',
83
+ html: 'Lors de la préparation d\'un plat complexe, vous devez coordonner plusieurs tâches: four, plaque, repos. Chacune nécessite son propre temps et sa propre alerte :',
84
84
  },
85
85
  {
86
86
  type: 'title',
87
- text: 'Sauuces, Émulsions et Techniques Classiques : Fondamentaux Français',
87
+ text: 'Sauuces, Émulsions et Techniques Classiques: Fondamentaux Français',
88
88
  level: 2,
89
89
  },
90
90
  {
@@ -139,7 +139,7 @@ export const content: CategoryLocaleContent = {
139
139
  },
140
140
  {
141
141
  type: 'paragraph',
142
- html: 'La gastronomie mondiale s\'oriente vers la <strong>précision instrumentée</strong>. Les chefs Michelin utilisent des thermomètres infrarouges, des balances de précision au gramme, des pH-mètres. Les cuisines professionnelles disposent de laboratoires d\'analyse des saveurs. Cette tendance atteint désormais les cuisines domestiques : applications de contrôle de la température, balances connectées, bases de données de recettes exactes. Ce n\'est plus réservé aux élites ; c\'est accessible à toute personne désireuse d\'apprendre.',
142
+ html: 'La gastronomie mondiale s\'oriente vers la <strong>précision instrumentée</strong>. Les chefs Michelin utilisent des thermomètres infrarouges, des balances de précision au gramme, des pH-mètres. Les cuisines professionnelles disposent de laboratoires d\'analyse des saveurs. Cette tendance atteint désormais les cuisines domestiques: applications de contrôle de la température, balances connectées, bases de données de recettes exactes. Ce n\'est plus réservé aux élites ; c\'est accessible à toute personne désireuse d\'apprendre.',
143
143
  },
144
144
  {
145
145
  type: 'list',
@@ -152,7 +152,7 @@ export const content: CategoryLocaleContent = {
152
152
  },
153
153
  {
154
154
  type: 'title',
155
- text: 'De débutant à expert : Le chemin de la maîtrise culinaire',
155
+ text: 'De débutant à expert: Le chemin de la maîtrise culinaire',
156
156
  level: 2,
157
157
  },
158
158
  {
@@ -175,16 +175,16 @@ export const content: CategoryLocaleContent = {
175
175
  },
176
176
  {
177
177
  type: 'paragraph',
178
- html: 'Pour la cuisine maison, la précision renforce la confiance. Vous savez que votre pizza fermentera correctement, que votre meringue ne s\'effondrera pas, que votre conserve ne sera pas contaminée. Pour les restaurants, c\'est une question de survie : ils doivent reproduire un plat 50 fois par soir avec une régularité parfaite. Pour l\'industrie alimentaire, il s\'agit d\'une réglementation obligatoire. Dans tous les cas, les connaissances techniques sont le facteur de différenciation.',
178
+ html: 'Pour la cuisine maison, la précision renforce la confiance. Vous savez que votre pizza fermentera correctement, que votre meringue ne s\'effondrera pas, que votre conserve ne sera pas contaminée. Pour les restaurants, c\'est une question de survie: ils doivent reproduire un plat 50 fois par soir avec une régularité parfaite. Pour l\'industrie alimentaire, il s\'agit d\'une réglementation obligatoire. Dans tous les cas, les connaissances techniques sont le facteur de différenciation.',
179
179
  },
180
180
  {
181
181
  type: 'title',
182
- text: 'L\'histoire derrière ces outils : Pourquoi la précision compte',
182
+ text: 'L\'histoire derrière ces outils: Pourquoi la précision compte',
183
183
  level: 2,
184
184
  },
185
185
  {
186
186
  type: 'paragraph',
187
- html: 'J\'ai conçu ces outils parce que j\'ai fait l\'erreur que vous ferez probablement : faire confiance à « une pincée de sel », « un peu plus d\'eau » et « jusqu\'à ce que ce soit prêt ». Dans une cuisine professionnelle, cela ne fonctionne pas. La science ne négocie pas avec l\'« approximativement ».',
187
+ html: 'J\'ai conçu ces outils parce que j\'ai fait l\'erreur que vous ferez probablement: faire confiance à " une pincée de sel ", " un peu plus d\'eau " et " jusqu\'à ce que ce soit prêt ". Dans une cuisine professionnelle, cela ne fonctionne pas. La science ne négocie pas avec l\'" approximativement ".',
188
188
  },
189
189
  {
190
190
  type: 'paragraph',
@@ -196,7 +196,7 @@ export const content: CategoryLocaleContent = {
196
196
  },
197
197
  {
198
198
  type: 'title',
199
- text: 'Investissement dans les connaissances culinaires : ROI à long terme',
199
+ text: 'Investissement dans les connaissances culinaires: ROI à long terme',
200
200
  level: 2,
201
201
  },
202
202
  {
@@ -12,7 +12,7 @@ export const content: CategoryLocaleContent = {
12
12
  },
13
13
  {
14
14
  type: 'paragraph',
15
- html: 'Профессиональная кухня это не интуиция; это <strong>прикладная химия</strong>. Каждое измерение, каждая температура и каждое время напрямую влияют на конечный результат. Ошибка в гидратации теста всего на 5% дает совершенно иную текстуру.',
15
+ html: 'Профессиональная кухня - это не интуиция; это <strong>прикладная химия</strong>. Каждое измерение, каждая температура и каждое время напрямую влияют на конечный результат. Ошибка в гидратации теста всего на 5% дает совершенно иную текстуру.',
16
16
  },
17
17
  {
18
18
  type: 'paragraph',
@@ -25,11 +25,11 @@ export const content: CategoryLocaleContent = {
25
25
  },
26
26
  {
27
27
  type: 'paragraph',
28
- html: 'Пицца это не магия; это инженерия. Гидратация теста напрямую определяет структуру мякиша, растяжимость и хруст. Рассчитайте точную формулу для муки, воды, соли и дрожжей.',
28
+ html: 'Пицца - это не магия; это инженерия. Гидратация теста напрямую определяет структуру мякиша, растяжимость и хруст. Рассчитайте точную формулу для муки, воды, соли и дрожжей.',
29
29
  },
30
30
  {
31
31
  type: 'paragraph',
32
- html: 'Поддержание живой закваски требует биологического понимания. Освежения, температура, график все имеет значение. Используйте этот инструмент, чтобы понять соотношение 1:1:1 и время брожения.',
32
+ html: 'Поддержание живой закваски требует биологического понимания. Освежения, температура, график - все имеет значение. Используйте этот инструмент, чтобы понять соотношение 1:1:1 и время брожения.',
33
33
  },
34
34
  {
35
35
  type: 'title',
@@ -84,10 +84,10 @@ export const content: CategoryLocaleContent = {
84
84
  {
85
85
  type: 'list',
86
86
  items: [
87
- '<strong>Фаза 1 Основы:</strong> изучение конвертации единиц, понимание базовых пропорций (соотношения хлеба, теста, соусов).',
88
- '<strong>Фаза 2 Специфические техники:</strong> освоение контролируемой ферментации, идеальных эмульсий, безопасной консервации.',
89
- '<strong>Фаза 3 Обоснованные инновации:</strong> экспериментирование на основе прочного фундамента знаний.',
90
- '<strong>Фаза 4 Стабильное совершенство:</strong> достижение воспроизводимости. Каждое блюдо так же идеально, как предыдущее.',
87
+ '<strong>Фаза 1 - Основы:</strong> изучение конвертации единиц, понимание базовых пропорций (соотношения хлеба, теста, соусов).',
88
+ '<strong>Фаза 2 - Специфические техники:</strong> освоение контролируемой ферментации, идеальных эмульсий, безопасной консервации.',
89
+ '<strong>Фаза 3 - Обоснованные инновации:</strong> экспериментирование на основе прочного фундамента знаний.',
90
+ '<strong>Фаза 4 - Стабильное совершенство:</strong> достижение воспроизводимости. Каждое блюдо так же идеально, как предыдущее.',
91
91
  ],
92
92
  },
93
93
  ],
@@ -16,7 +16,7 @@ export const content: CategoryLocaleContent = {
16
16
  },
17
17
  {
18
18
  type: 'paragraph',
19
- html: '我们的工具旨在消除猜测。它们基于<strong>真实的科学流程</strong>:SCA 标准、烘焙百分比、分子化学、发酵微生物学。这些不是“厨房小窍门”,而是经过验证的科学。',
19
+ html: '我们的工具旨在消除猜测。它们基于<strong>真实的科学流程</strong>:SCA 标准、烘焙百分比、分子化学、发酵微生物学。这些不是"厨房小窍门",而是经过验证的科学。',
20
20
  },
21
21
  {
22
22
  type: 'title',
@@ -0,0 +1,70 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+
5
+ function getFiles(dir: string): string[] {
6
+ const results: string[] = [];
7
+ if (!fs.existsSync(dir)) {
8
+ return results;
9
+ }
10
+ const list = fs.readdirSync(dir);
11
+ for (const file of list) {
12
+ const fullPath = path.join(dir, file);
13
+ const stat = fs.statSync(fullPath);
14
+ if (stat && stat.isDirectory()) {
15
+ if (file !== 'tests' && file !== 'node_modules' && file !== '.astro') {
16
+ results.push(...getFiles(fullPath));
17
+ }
18
+ } else {
19
+ results.push(fullPath);
20
+ }
21
+ }
22
+ return results;
23
+ }
24
+
25
+ function isContentFile(filePath: string): boolean {
26
+ return /\\i18n\\/.test(filePath) || filePath.endsWith('bibliography.ts');
27
+ }
28
+
29
+ const srcDir = path.join(process.cwd(), 'src');
30
+ const scriptsDir = path.join(process.cwd(), 'scripts');
31
+ const filesToTest = [
32
+ ...getFiles(srcDir).filter(isContentFile),
33
+ ...getFiles(scriptsDir).filter(isContentFile),
34
+ ];
35
+
36
+ const aiTypographyGarbage = [
37
+ '\u2013',
38
+ '\u2014',
39
+ '\u2026',
40
+ '\u201C',
41
+ '\u201D',
42
+ '\u2018',
43
+ '\u2019',
44
+ '\u00AB',
45
+ '\u00BB',
46
+ '\u200B',
47
+ '\u201E',
48
+ ];
49
+
50
+ describe('Typography Garbage Character Validation', () => {
51
+ filesToTest.forEach((filePath) => {
52
+ const relativePath = path.relative(process.cwd(), filePath);
53
+ it(`should not contain typography garbage characters in ${relativePath}`, () => {
54
+ const content = fs.readFileSync(filePath, 'utf-8');
55
+ const hasAiPatterns = aiTypographyGarbage.some(char => content.includes(char));
56
+ expect(hasAiPatterns).toBe(false);
57
+ });
58
+
59
+ it(`should not contain space before colon in ${relativePath}`, () => {
60
+ const content = fs.readFileSync(filePath, 'utf-8');
61
+ const spaceBeforeColon = / : /.test(content);
62
+ expect(spaceBeforeColon).toBe(false);
63
+ });
64
+
65
+ it(`should not contain double hyphen in ${relativePath}`, () => {
66
+ const content = fs.readFileSync(filePath, 'utf-8');
67
+ expect(content).not.toContain('--');
68
+ });
69
+ });
70
+ });
@@ -18,7 +18,7 @@ const faq = [
18
18
  },
19
19
  {
20
20
  question: "Is a US cup the same as an imperial cup?",
21
- answer: "No. A US cup is 236ml, whereas an Imperial (UK) cup is 284mla 20% difference! Most online recipes use US cups. If not specified, the US standard is the safest assumption.",
21
+ answer: "No. A US cup is 236ml, whereas an Imperial (UK) cup is 284ml-a 20% difference! Most online recipes use US cups. If not specified, the US standard is the safest assumption.",
22
22
  },
23
23
  {
24
24
  question: "What temperature is 'Gas Mark 4'?",
@@ -190,7 +190,7 @@ export const content: ToolLocaleContent = {
190
190
  },
191
191
  {
192
192
  question: "Is a US cup the same as an imperial cup?",
193
- answer: "No. A US cup is 236ml, whereas an Imperial (UK) cup is 284mla 20% difference! Most online recipes use US cups. If not specified, the US standard is the safest assumption.",
193
+ answer: "No. A US cup is 236ml, whereas an Imperial (UK) cup is 284ml-a 20% difference! Most online recipes use US cups. If not specified, the US standard is the safest assumption.",
194
194
  },
195
195
  {
196
196
  question: "What temperature is 'Gas Mark 4'?",
@@ -1,7 +1,7 @@
1
1
  import type { ToolLocaleContent } from "../../../types";
2
2
  import { bibliography } from '../bibliography';
3
3
 
4
- const title = "Convertisseur de Cuisine Américaine : Cups en Grammes, Fahrenheit";
4
+ const title = "Convertisseur de Cuisine Américaine: Cups en Grammes, Fahrenheit";
5
5
  const description = "Convertissez les cups, tablespoons et Fahrenheit en système métrique. Votre boussole pour décoder les recettes américaines avec une précision professionnelle.";
6
6
  const faq = [
7
7
  {
@@ -78,7 +78,7 @@ const appSchema = {
78
78
 
79
79
  export const content: ToolLocaleContent = {
80
80
  slug: "convertisseur-mesures-cuisine-americaine-cups-grammes",
81
- title: "Convertisseur de Cuisine Américaine : Cups en Grammes, Fahrenheit",
81
+ title: "Convertisseur de Cuisine Américaine: Cups en Grammes, Fahrenheit",
82
82
  description:
83
83
  "Convertissez les cups, tablespoons et Fahrenheit en système métrique. Votre boussole pour décoder les recettes américaines avec une précision professionnelle.",
84
84
  ui: {
@@ -32,7 +32,7 @@ const howTo = [
32
32
  },
33
33
  {
34
34
  name: 'Wybierz produkt',
35
- text: 'Każdy produkt ma inną gęstość. Mąka, cukier, masło każdy z nich waży inaczej w tej samej objętości.',
35
+ text: 'Każdy produkt ma inną gęstość. Mąka, cukier, masło - każdy z nich waży inaczej w tej samej objętości.',
36
36
  },
37
37
  {
38
38
  name: 'Wpisz ilość',
@@ -331,7 +331,7 @@ export const content: ToolLocaleContent = {
331
331
  },
332
332
  {
333
333
  name: 'Wybierz produkt',
334
- text: 'Każdy produkt ma inną gęstość. Mąka, cukier, masło każdy z nich waży inaczej w tej samej objętości.',
334
+ text: 'Każdy produkt ma inną gęstość. Mąka, cukier, masło - każdy z nich waży inaczej w tej samej objętości.',
335
335
  },
336
336
  {
337
337
  name: 'Wpisz ilość',
@@ -17,12 +17,12 @@ const faq = [
17
17
  answer: '1 Tablespoon (Tbsp / столовая ложка) = 15 мл. 1 Teaspoon (tsp / чайная ложка) = 5 мл. Столовая ложка в 3 раза больше чайной. В кондитерском деле ошибки со специями (которые измеряются в tsp) очень часто ведут к неудаче.',
18
18
  },
19
19
  {
20
- question: 'Американская чашка и имперская чашка это одно и то же?',
20
+ question: 'Американская чашка и имперская чашка - это одно и то же?',
21
21
  answer: 'Нет. 1 американская чашка = 236 мл. 1 имперская чашка (UK) = 284 мл. Разница составляет 20%. Большинство американских блогов используют US cups. Если в рецепте не указано иное, считайте, что это американские чашки.',
22
22
  },
23
23
  {
24
24
  question: 'Какой температуре соответствует "газ 4" в духовке?',
25
- answer: 'Газ 4 = 180°C = 350°F. Это британская шкала. В рецептах мы ищем эквивалентное значение для вашей духовки: некоторые используют газовые деления, другие электронную установку градусов.',
25
+ answer: 'Газ 4 = 180°C = 350°F. Это британская шкала. В рецептах мы ищем эквивалентное значение для вашей духовки: некоторые используют газовые деления, другие - электронную установку градусов.',
26
26
  },
27
27
  ];
28
28
  const howTo = [
@@ -32,7 +32,7 @@ const howTo = [
32
32
  },
33
33
  {
34
34
  name: 'Выберите ингредиент',
35
- text: 'У каждого продукта своя плотность. Мука, сахар, масло все они весят по-разному при одном и том же объеме.',
35
+ text: 'У каждого продукта своя плотность. Мука, сахар, масло - все они весят по-разному при одном и том же объеме.',
36
36
  },
37
37
  {
38
38
  name: 'Введите количество',
@@ -159,19 +159,19 @@ export const content: ToolLocaleContent = {
159
159
  tempFahrenheitAriaLabel: 'Фаренгейт',
160
160
  tempCelsiusAriaLabel: 'Цельсий',
161
161
  tempPreset275: '275°F',
162
- tempPreset275Desc: '135°C Сушка',
162
+ tempPreset275Desc: '135°C - Сушка',
163
163
  tempPreset275AriaLabel: 'Установить 275 Фаренгейт',
164
164
  tempPreset325: '325°F',
165
- tempPreset325Desc: '165°C Плотные кексы',
165
+ tempPreset325Desc: '165°C - Плотные кексы',
166
166
  tempPreset325AriaLabel: 'Установить 325 Фаренгейт',
167
167
  tempPreset350: '350°F',
168
- tempPreset350Desc: '175°C Стандарт для выпечки',
168
+ tempPreset350Desc: '175°C - Стандарт для выпечки',
169
169
  tempPreset350AriaLabel: 'Установить 350 Фаренгейт',
170
170
  tempPreset400: '400°F',
171
- tempPreset400Desc: '200°C Хлеб / Пироги',
171
+ tempPreset400Desc: '200°C - Хлеб / Пироги',
172
172
  tempPreset400AriaLabel: 'Установить 400 Фаренгейт',
173
173
  tempPreset425: '425°F',
174
- tempPreset425Desc: '220°C Пицца / Слоеное тесто',
174
+ tempPreset425Desc: '220°C - Пицца / Слоеное тесто',
175
175
  tempPreset425AriaLabel: 'Установить 425 Фаренгейт',
176
176
  },
177
177
  seo: [
@@ -182,7 +182,7 @@ export const content: ToolLocaleContent = {
182
182
  },
183
183
  {
184
184
  type: 'paragraph',
185
- html: 'Перевод <strong>чашек в граммы</strong> или <strong>Фаренгейтов в Цельсии</strong> первый шаг к освоению международных рецептов. Американская кулинария основана на объеме, что создает погрешность до 25% в сухих ингредиентах, таких как мука.',
185
+ html: 'Перевод <strong>чашек в граммы</strong> или <strong>Фаренгейтов в Цельсии</strong> - первый шаг к освоению международных рецептов. Американская кулинария основана на объеме, что создает погрешность до 25% в сухих ингредиентах, таких как мука.',
186
186
  },
187
187
  {
188
188
  type: 'stats',
@@ -264,7 +264,7 @@ export const content: ToolLocaleContent = {
264
264
  type: 'diagnostic',
265
265
  variant: 'warning',
266
266
  title: 'Бисквит получился сухим?',
267
- html: 'Самая частая проблема при использовании чашек зачерпывание муки прямо из пакета. Это уплотняет порошок, и вы можете добавить до 40г лишней муки на каждую чашку. Решение <strong>всегда переводить в граммы</strong> с помощью нашего конвертера.',
267
+ html: 'Самая частая проблема при использовании чашек - зачерпывание муки прямо из пакета. Это уплотняет порошок, и вы можете добавить до 40г лишней муки на каждую чашку. Решение - <strong>всегда переводить в граммы</strong> с помощью нашего конвертера.',
268
268
  },
269
269
  {
270
270
  type: 'title',
@@ -316,12 +316,12 @@ export const content: ToolLocaleContent = {
316
316
  answer: '1 Tablespoon (Tbsp / столовая ложка) = 15 мл. 1 Teaspoon (tsp / чайная ложка) = 5 мл. Столовая ложка в 3 раза больше чайной. В кондитерском деле ошибки со специями (которые измеряются в tsp) очень часто ведут к неудаче.',
317
317
  },
318
318
  {
319
- question: 'Американская чашка и имперская чашка это одно и то же?',
319
+ question: 'Американская чашка и имперская чашка - это одно и то же?',
320
320
  answer: 'Нет. 1 американская чашка = 236 мл. 1 имперская чашка (UK) = 284 мл. Разница составляет 20%. Большинство американских блогов используют US cups. Если в рецепте не указано иное, считайте, что это американские чашки.',
321
321
  },
322
322
  {
323
323
  question: 'Какой температуре соответствует "газ 4" в духовке?',
324
- answer: 'Газ 4 = 180°C = 350°F. Это британская шкала. В рецептах мы ищем эквивалентное значение для вашей духовки: некоторые используют газовые деления, другие электронную установку градусов.',
324
+ answer: 'Газ 4 = 180°C = 350°F. Это британская шкала. В рецептах мы ищем эквивалентное значение для вашей духовки: некоторые используют газовые деления, другие - электронную установку градусов.',
325
325
  },
326
326
  ],
327
327
  howTo: [
@@ -331,7 +331,7 @@ export const content: ToolLocaleContent = {
331
331
  },
332
332
  {
333
333
  name: 'Выберите ингредиент',
334
- text: 'У каждого продукта своя плотность. Мука, сахар, масло все они весят по-разному при одном и том же объеме.',
334
+ text: 'У каждого продукта своя плотность. Мука, сахар, масло - все они весят по-разному при одном и том же объеме.',
335
335
  },
336
336
  {
337
337
  name: 'Введите количество',
@@ -32,7 +32,7 @@ const howTo = [
32
32
  },
33
33
  {
34
34
  name: 'Välj ingrediens',
35
- text: 'Varje livsmedel har olika densitet. Mjöl, socker, smör alla väger olika mycket.',
35
+ text: 'Varje livsmedel har olika densitet. Mjöl, socker, smör - alla väger olika mycket.',
36
36
  },
37
37
  {
38
38
  name: 'Ange mängd',
@@ -331,7 +331,7 @@ export const content: ToolLocaleContent = {
331
331
  },
332
332
  {
333
333
  name: 'Välj ingrediens',
334
- text: 'Varje livsmedel har olika densitet. Mjöl, socker, smör alla väger olika mycket.',
334
+ text: 'Varje livsmedel har olika densitet. Mjöl, socker, smör - alla väger olika mycket.',
335
335
  },
336
336
  {
337
337
  name: 'Ange mängd',
@@ -21,7 +21,7 @@ const faq = [
21
21
  answer: "不一样。1美制量杯 = 236毫升,而1英制量杯(英国)= 284毫升。两者相差20%。大多数美国博主使用的是美制标准。如果食谱未注明,请默认按美制计算。",
22
22
  },
23
23
  {
24
- question: "烤箱的“gas 4”对应多少度?",
24
+ question: '烤箱的"gas 4"对应多少度?',
25
25
  answer: "Gas 4 = 180°C = 350°F。这是英国常用的燃气刻度。在厨房中,请对应您烤箱的具体刻度或电子显示进行调整。",
26
26
  },
27
27
  ];
@@ -264,7 +264,7 @@ export const content: ToolLocaleContent = {
264
264
  type: 'diagnostic',
265
265
  variant: 'warning',
266
266
  title: "您的蛋糕做出来太干吗?",
267
- html: "使用量杯时最常见的问题是直接“用杯子在袋子里舀”面粉。这会压实粉末,导致您每杯面粉多加了多达40克。解决方法是<strong>始终使用我们的转换器将其换算为克</strong>。",
267
+ html: '使用量杯时最常见的问题是直接"用杯子在袋子里舀"面粉。这会压实粉末,导致您每杯面粉多加了多达40克。解决方法是<strong>始终使用我们的转换器将其换算为克</strong>。',
268
268
  },
269
269
  {
270
270
  type: 'title',
@@ -320,7 +320,7 @@ export const content: ToolLocaleContent = {
320
320
  answer: "不一样。1美制量杯 = 236毫升,而1英制量杯(英国)= 284毫升。两者相差20%。大多数美国博主使用的是美制标准。如果食谱未注明,请默认按美制计算。",
321
321
  },
322
322
  {
323
- question: "烤箱的“gas 4”对应多少度?",
323
+ question: '烤箱的"gas 4"对应多少度?',
324
324
  answer: "Gas 4 = 180°C = 350°F。这是英国常用的燃气刻度。在厨房中,请对应您烤箱的具体刻度或电子显示进行调整。",
325
325
  },
326
326
  ],
@@ -452,6 +452,7 @@
452
452
  justify-content: center;
453
453
  color: var(--bc-green);
454
454
  transition: transform 0.2s;
455
+ flex-shrink: 0;
455
456
  }
456
457
 
457
458
  .partner-btn.active .partner-icon {
@@ -492,6 +493,7 @@
492
493
  background: #e4e4e7;
493
494
  position: relative;
494
495
  border: 1px solid var(--bc-gray-light);
496
+ flex-shrink: 0;
495
497
  }
496
498
 
497
499
  .theme-dark .toggle-switch {
@@ -584,4 +586,58 @@
584
586
 
585
587
  .theme-dark .info-box.acceleration .info-text {
586
588
  color: var(--bc-text-light);
589
+ }
590
+
591
+ @media (max-width: 640px) {
592
+ .banana-care-container {
593
+ margin: 1rem auto;
594
+ padding: 0.5rem;
595
+ gap: 1rem;
596
+ }
597
+
598
+ .banana-card {
599
+ padding: 1.25rem;
600
+ border-radius: 1.5rem;
601
+ }
602
+
603
+ .controls-panel {
604
+ padding: 1rem;
605
+ border-radius: 1.25rem;
606
+ gap: 1.25rem;
607
+ }
608
+
609
+ .ripeness-slider::-webkit-slider-thumb {
610
+ width: 28px;
611
+ height: 28px;
612
+ border-width: 3px;
613
+ }
614
+
615
+ .days-number {
616
+ font-size: 2.75rem;
617
+ }
618
+
619
+ .prediction-box {
620
+ padding: 1rem;
621
+ border-radius: 1.25rem;
622
+ }
623
+
624
+ .setting-item {
625
+ padding: 0.75rem;
626
+ }
627
+
628
+ .info-box {
629
+ padding: 1rem;
630
+ border-radius: 1.25rem;
631
+ }
632
+
633
+ .partner-btn {
634
+ padding: 0.75rem 1rem;
635
+ border-radius: 0.5rem;
636
+ }
637
+
638
+ .partner-icon {
639
+ width: 2rem;
640
+ height: 2rem;
641
+ padding: 0.5rem;
642
+ }
587
643
  }
@@ -1,7 +1,7 @@
1
1
  import type { ToolLocaleContent } from '../../../types';
2
2
  import { bibliography } from '../bibliography';
3
3
 
4
- const title = "Diagnostic et Conservation des Bananes : Guide Scientifique";
4
+ const title = "Diagnostic et Conservation des Bananes: Guide Scientifique";
5
5
  const description = "Analysez le stade de maturité de vos bananes avec une précision scientifique. Apprenez les techniques de conservation, la biochimie de l'éthylène et l'optimisation nutritionnelle.";
6
6
  const faq = [
7
7
  {
@@ -74,7 +74,7 @@ const appSchema = {
74
74
 
75
75
  export const content: ToolLocaleContent = {
76
76
  slug: 'maturite-banane',
77
- title: 'Diagnostic et Conservation des Bananes : Guide Scientifique',
77
+ title: 'Diagnostic et Conservation des Bananes: Guide Scientifique',
78
78
  description: 'Analysez le stade de maturité de vos bananes avec une précision scientifique. Apprenez les techniques de conservation, la biochimie de l\'éthylène et l\'optimisation nutritionnelle.',
79
79
  faqTitle: 'Questions Fréquemment Posées',
80
80
  ui: {
@@ -152,7 +152,7 @@ export const content: ToolLocaleContent = {
152
152
  },
153
153
  {
154
154
  type: 'paragraph',
155
- html: 'La banane est l\'un des fruits les plus consommés au monde, mais aussi l\'un des plus mal compris biologiquement. Contrairement aux fruits non climatériques comme les agrumes ou les raisins, la banane est un <strong>fruit climatérique</strong>. Cela signifie qu\'elle continue à mûrir après la récolte, augmentant considérablement la respiration cellulaire et la production d\'une phytohormone gazeuse cruciale : <strong>l\'éthylène</strong>.',
155
+ html: 'La banane est l\'un des fruits les plus consommés au monde, mais aussi l\'un des plus mal compris biologiquement. Contrairement aux fruits non climatériques comme les agrumes ou les raisins, la banane est un <strong>fruit climatérique</strong>. Cela signifie qu\'elle continue à mûrir après la récolte, augmentant considérablement la respiration cellulaire et la production d\'une phytohormone gazeuse cruciale: <strong>l\'éthylène</strong>.',
156
156
  },
157
157
  {
158
158
  type: 'paragraph',
@@ -174,7 +174,7 @@ export const content: ToolLocaleContent = {
174
174
  },
175
175
  {
176
176
  type: 'paragraph',
177
- html: 'Il existe une croyance populaire selon laquelle les bananes ne devraient pas aller au réfrigérateur. La réalité est plus complexe : le froid (en dessous de 12°C) cause des dommages dus au refroidissement dans les cellules de la peau, libérant des enzymes qui oxydent les phénols et font noircir la peau. Cependant, cela n\'affecte que l\'apparence. Si l\'intérieur a déjà atteint la maturité souhaitée, le froid arrêtera presque complètement le ramollissement de la pulpe, préservant la saveur et la texture pendant plusieurs jours supplémentaires.',
177
+ html: 'Il existe une croyance populaire selon laquelle les bananes ne devraient pas aller au réfrigérateur. La réalité est plus complexe: le froid (en dessous de 12°C) cause des dommages dus au refroidissement dans les cellules de la peau, libérant des enzymes qui oxydent les phénols et font noircir la peau. Cependant, cela n\'affecte que l\'apparence. Si l\'intérieur a déjà atteint la maturité souhaitée, le froid arrêtera presque complètement le ramollissement de la pulpe, préservant la saveur et la texture pendant plusieurs jours supplémentaires.',
178
178
  },
179
179
  {
180
180
  type: 'title',
@@ -222,7 +222,7 @@ export const content: ToolLocaleContent = {
222
222
  items: [
223
223
  '<strong>Réduire le gaspillage alimentaire :</strong> Un diagnostic précis du stade de la banane permet d\'identifier le moment de consommation optimal, évitant ainsi la perte de fruits précieux.',
224
224
  '<strong>Optimiser les bénéfices nutritionnels :</strong> De l\'amidon résistant des bananes vertes pour la santé intestinale aux antioxydants des bananes tachetées pour un potentiel antioxydant maximal.',
225
- '<strong>Planifier une consommation stratégique :</strong> Adaptez l\'utilisation des bananes selon vos objectifs de santé : contrôle glycémique, énergie rapide, digestion ou antioxydants.',
225
+ '<strong>Planifier une consommation stratégique :</strong> Adaptez l\'utilisation des bananes selon vos objectifs de santé: contrôle glycémique, énergie rapide, digestion ou antioxydants.',
226
226
  ],
227
227
  },
228
228
  {
@@ -18,7 +18,7 @@ const faq = [
18
18
  },
19
19
  {
20
20
  question: 'Что такое этилен?',
21
- answer: 'Это растительный гормон в форме газа, который регулирует рост и созревание. Банан климактерический плод, что означает, что он продолжает вырабатывать этилен и созревать после сбора.',
21
+ answer: 'Это растительный гормон в форме газа, который регулирует рост и созревание. Банан - климактерический плод, что означает, что он продолжает вырабатывать этилен и созревать после сбора.',
22
22
  },
23
23
  ];
24
24
  const howTo = [
@@ -123,7 +123,7 @@ export const content: ToolLocaleContent = {
123
123
  },
124
124
  {
125
125
  question: 'Что такое этилен?',
126
- answer: 'Это растительный гормон в форме газа, который регулирует рост и созревание. Банан климактерический плод, что означает, что он продолжает вырабатывать этилен и созревать после сбора.',
126
+ answer: 'Это растительный гормон в форме газа, который регулирует рост и созревание. Банан - климактерический плод, что означает, что он продолжает вырабатывать этилен и созревать после сбора.',
127
127
  },
128
128
  ],
129
129
  howTo: [
@@ -152,11 +152,11 @@ export const content: ToolLocaleContent = {
152
152
  },
153
153
  {
154
154
  type: 'paragraph',
155
- html: 'Банан один из самых потребляемых фруктов в мире, но также один из самых непонятых с биологической точки зрения. В отличие от неклимактерических фруктов, таких как цитрусовые или виноград, банан является <strong>климактерическим фруктом</strong>. Это означает, что он продолжает созревать после сбора, резко увеличивая клеточное дыхание и выработку фундаментального газообразного фитогормона <strong>этилена</strong>.',
155
+ html: 'Банан - один из самых потребляемых фруктов в мире, но также один из самых непонятых с биологической точки зрения. В отличие от неклимактерических фруктов, таких как цитрусовые или виноград, банан является <strong>климактерическим фруктом</strong>. Это означает, что он продолжает созревать после сбора, резко увеличивая клеточное дыхание и выработку фундаментального газообразного фитогормона - <strong>этилена</strong>.',
156
156
  },
157
157
  {
158
158
  type: 'paragraph',
159
- html: 'С биохимической точки зрения созревание это каскад ферментативных событий. В ходе этого процесса ферменты, такие как амилаза, расщепляют сложные углеводы (крахмалы) до простых сахаров (фруктозы, глюкозы и сахарозы). Это изменение не только меняет вкус, делая его слаще, но и модифицирует текстуру, разрушая пектин клеточных стенок, что приводит к мягкой и кремовой консистенции, характерной для спелого банана.',
159
+ html: 'С биохимической точки зрения созревание - это каскад ферментативных событий. В ходе этого процесса ферменты, такие как амилаза, расщепляют сложные углеводы (крахмалы) до простых сахаров (фруктозы, глюкозы и сахарозы). Это изменение не только меняет вкус, делая его слаще, но и модифицирует текстуру, разрушая пектин клеточных стенок, что приводит к мягкой и кремовой консистенции, характерной для спелого банана.',
160
160
  },
161
161
  {
162
162
  type: 'title',
@@ -191,7 +191,7 @@ export const content: ToolLocaleContent = {
191
191
  },
192
192
  {
193
193
  type: 'paragraph',
194
- html: '<strong>Криотерапия (Замораживание):</strong> Для бананов на 4-й стадии (коричневых) замораживание лучший вариант. Очистка фрукта перед заморозкой предотвращает задержку влаги, сохраняя качество волокон.',
194
+ html: '<strong>Криотерапия (Замораживание):</strong> Для бананов на 4-й стадии (коричневых) замораживание - лучший вариант. Очистка фрукта перед заморозкой предотвращает задержку влаги, сохраняя качество волокон.',
195
195
  },
196
196
  {
197
197
  type: 'title',