@jjlmoya/utils-home 1.16.0 → 1.23.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 (174) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/de.ts +10 -10
  3. package/src/category/i18n/en.ts +8 -8
  4. package/src/category/i18n/es.ts +2 -2
  5. package/src/category/i18n/fr.ts +15 -15
  6. package/src/category/i18n/id.ts +8 -8
  7. package/src/category/i18n/it.ts +7 -7
  8. package/src/category/i18n/nl.ts +8 -8
  9. package/src/category/i18n/pl.ts +10 -10
  10. package/src/category/i18n/pt.ts +8 -8
  11. package/src/category/i18n/ru.ts +10 -10
  12. package/src/category/i18n/sv.ts +8 -8
  13. package/src/category/i18n/tr.ts +4 -4
  14. package/src/category/i18n/zh.ts +8 -8
  15. package/src/entries.ts +4 -1
  16. package/src/pages/[locale]/[slug].astro +28 -12
  17. package/src/tests/locale_completeness.test.ts +4 -22
  18. package/src/tests/no_en_dash.test.ts +70 -0
  19. package/src/tests/shared-test-helpers.ts +56 -0
  20. package/src/tests/tool_exports.test.ts +34 -0
  21. package/src/tests/tool_validation.test.ts +2 -2
  22. package/src/tool/dewPointCalculator/bibliography.ts +10 -0
  23. package/src/tool/dewPointCalculator/i18n/de.ts +7 -17
  24. package/src/tool/dewPointCalculator/i18n/en.ts +8 -18
  25. package/src/tool/dewPointCalculator/i18n/es.ts +7 -17
  26. package/src/tool/dewPointCalculator/i18n/fr.ts +8 -18
  27. package/src/tool/dewPointCalculator/i18n/id.ts +7 -17
  28. package/src/tool/dewPointCalculator/i18n/it.ts +7 -17
  29. package/src/tool/dewPointCalculator/i18n/ja.ts +6 -16
  30. package/src/tool/dewPointCalculator/i18n/ko.ts +6 -16
  31. package/src/tool/dewPointCalculator/i18n/nl.ts +7 -17
  32. package/src/tool/dewPointCalculator/i18n/pl.ts +7 -17
  33. package/src/tool/dewPointCalculator/i18n/pt.ts +7 -17
  34. package/src/tool/dewPointCalculator/i18n/ru.ts +13 -23
  35. package/src/tool/dewPointCalculator/i18n/sv.ts +7 -17
  36. package/src/tool/dewPointCalculator/i18n/tr.ts +6 -16
  37. package/src/tool/dewPointCalculator/i18n/zh.ts +7 -17
  38. package/src/tool/dewPointCalculator/seo.astro +2 -1
  39. package/src/tool/heatingComparator/bibliography.ts +14 -0
  40. package/src/tool/heatingComparator/i18n/de.ts +10 -24
  41. package/src/tool/heatingComparator/i18n/en.ts +3 -13
  42. package/src/tool/heatingComparator/i18n/es.ts +3 -17
  43. package/src/tool/heatingComparator/i18n/fr.ts +9 -19
  44. package/src/tool/heatingComparator/i18n/id.ts +3 -17
  45. package/src/tool/heatingComparator/i18n/it.ts +3 -17
  46. package/src/tool/heatingComparator/i18n/ja.ts +296 -310
  47. package/src/tool/heatingComparator/i18n/ko.ts +296 -306
  48. package/src/tool/heatingComparator/i18n/nl.ts +3 -17
  49. package/src/tool/heatingComparator/i18n/pl.ts +3 -17
  50. package/src/tool/heatingComparator/i18n/pt.ts +3 -17
  51. package/src/tool/heatingComparator/i18n/ru.ts +14 -24
  52. package/src/tool/heatingComparator/i18n/sv.ts +6 -20
  53. package/src/tool/heatingComparator/i18n/tr.ts +2 -16
  54. package/src/tool/heatingComparator/i18n/zh.ts +296 -306
  55. package/src/tool/heatingComparator/seo.astro +3 -3
  56. package/src/tool/ledSavingCalculator/bibliography.ts +14 -0
  57. package/src/tool/ledSavingCalculator/i18n/de.ts +6 -16
  58. package/src/tool/ledSavingCalculator/i18n/en.ts +6 -20
  59. package/src/tool/ledSavingCalculator/i18n/es.ts +6 -20
  60. package/src/tool/ledSavingCalculator/i18n/fr.ts +10 -24
  61. package/src/tool/ledSavingCalculator/i18n/id.ts +5 -15
  62. package/src/tool/ledSavingCalculator/i18n/it.ts +6 -16
  63. package/src/tool/ledSavingCalculator/i18n/ja.ts +5 -15
  64. package/src/tool/ledSavingCalculator/i18n/ko.ts +4 -14
  65. package/src/tool/ledSavingCalculator/i18n/nl.ts +5 -15
  66. package/src/tool/ledSavingCalculator/i18n/pl.ts +5 -15
  67. package/src/tool/ledSavingCalculator/i18n/pt.ts +5 -15
  68. package/src/tool/ledSavingCalculator/i18n/ru.ts +8 -18
  69. package/src/tool/ledSavingCalculator/i18n/sv.ts +5 -15
  70. package/src/tool/ledSavingCalculator/i18n/tr.ts +5 -15
  71. package/src/tool/ledSavingCalculator/i18n/zh.ts +6 -16
  72. package/src/tool/ledSavingCalculator/seo.astro +2 -1
  73. package/src/tool/projectorCalculator/bibliography.ts +5 -0
  74. package/src/tool/projectorCalculator/i18n/de.ts +4 -8
  75. package/src/tool/projectorCalculator/i18n/en.ts +3 -8
  76. package/src/tool/projectorCalculator/i18n/es.ts +4 -9
  77. package/src/tool/projectorCalculator/i18n/fr.ts +6 -11
  78. package/src/tool/projectorCalculator/i18n/id.ts +4 -9
  79. package/src/tool/projectorCalculator/i18n/it.ts +4 -8
  80. package/src/tool/projectorCalculator/i18n/ja.ts +175 -179
  81. package/src/tool/projectorCalculator/i18n/ko.ts +175 -179
  82. package/src/tool/projectorCalculator/i18n/nl.ts +4 -8
  83. package/src/tool/projectorCalculator/i18n/pl.ts +5 -9
  84. package/src/tool/projectorCalculator/i18n/pt.ts +4 -8
  85. package/src/tool/projectorCalculator/i18n/ru.ts +7 -11
  86. package/src/tool/projectorCalculator/i18n/sv.ts +4 -8
  87. package/src/tool/projectorCalculator/i18n/tr.ts +4 -8
  88. package/src/tool/projectorCalculator/i18n/zh.ts +175 -179
  89. package/src/tool/projectorCalculator/seo.astro +2 -1
  90. package/src/tool/qrGenerator/bibliography.ts +14 -0
  91. package/src/tool/qrGenerator/i18n/de.ts +192 -202
  92. package/src/tool/qrGenerator/i18n/en.ts +3 -17
  93. package/src/tool/qrGenerator/i18n/es.ts +2 -16
  94. package/src/tool/qrGenerator/i18n/fr.ts +3 -17
  95. package/src/tool/qrGenerator/i18n/id.ts +146 -150
  96. package/src/tool/qrGenerator/i18n/it.ts +169 -173
  97. package/src/tool/qrGenerator/i18n/ja.ts +146 -150
  98. package/src/tool/qrGenerator/i18n/ko.ts +146 -150
  99. package/src/tool/qrGenerator/i18n/nl.ts +146 -150
  100. package/src/tool/qrGenerator/i18n/pl.ts +146 -150
  101. package/src/tool/qrGenerator/i18n/pt.ts +146 -150
  102. package/src/tool/qrGenerator/i18n/ru.ts +146 -150
  103. package/src/tool/qrGenerator/i18n/sv.ts +146 -150
  104. package/src/tool/qrGenerator/i18n/tr.ts +146 -150
  105. package/src/tool/qrGenerator/i18n/zh.ts +146 -150
  106. package/src/tool/qrGenerator/seo.astro +2 -1
  107. package/src/tool/solarCalculator/bibliography.ts +5 -0
  108. package/src/tool/solarCalculator/i18n/de.ts +141 -145
  109. package/src/tool/solarCalculator/i18n/en.ts +7 -12
  110. package/src/tool/solarCalculator/i18n/es.ts +5 -10
  111. package/src/tool/solarCalculator/i18n/fr.ts +8 -13
  112. package/src/tool/solarCalculator/i18n/id.ts +4 -8
  113. package/src/tool/solarCalculator/i18n/it.ts +4 -8
  114. package/src/tool/solarCalculator/i18n/ja.ts +121 -125
  115. package/src/tool/solarCalculator/i18n/ko.ts +116 -120
  116. package/src/tool/solarCalculator/i18n/nl.ts +4 -7
  117. package/src/tool/solarCalculator/i18n/pl.ts +5 -9
  118. package/src/tool/solarCalculator/i18n/pt.ts +4 -8
  119. package/src/tool/solarCalculator/i18n/ru.ts +7 -10
  120. package/src/tool/solarCalculator/i18n/sv.ts +4 -7
  121. package/src/tool/solarCalculator/i18n/tr.ts +4 -7
  122. package/src/tool/solarCalculator/i18n/zh.ts +116 -120
  123. package/src/tool/solarCalculator/seo.astro +2 -1
  124. package/src/tool/tariffComparator/bibliography.ts +7 -0
  125. package/src/tool/tariffComparator/i18n/de.ts +129 -132
  126. package/src/tool/tariffComparator/i18n/en.ts +5 -12
  127. package/src/tool/tariffComparator/i18n/es.ts +5 -12
  128. package/src/tool/tariffComparator/i18n/fr.ts +8 -15
  129. package/src/tool/tariffComparator/i18n/id.ts +2 -5
  130. package/src/tool/tariffComparator/i18n/it.ts +2 -5
  131. package/src/tool/tariffComparator/i18n/ja.ts +129 -132
  132. package/src/tool/tariffComparator/i18n/ko.ts +129 -132
  133. package/src/tool/tariffComparator/i18n/nl.ts +2 -5
  134. package/src/tool/tariffComparator/i18n/pl.ts +3 -6
  135. package/src/tool/tariffComparator/i18n/pt.ts +2 -5
  136. package/src/tool/tariffComparator/i18n/ru.ts +2 -5
  137. package/src/tool/tariffComparator/i18n/sv.ts +2 -5
  138. package/src/tool/tariffComparator/i18n/tr.ts +2 -5
  139. package/src/tool/tariffComparator/i18n/zh.ts +129 -132
  140. package/src/tool/tariffComparator/seo.astro +2 -1
  141. package/src/tool/wifiRangeSimulator/bibliography.astro +14 -0
  142. package/src/tool/wifiRangeSimulator/bibliography.ts +14 -0
  143. package/src/tool/wifiRangeSimulator/component.astro +170 -0
  144. package/src/tool/wifiRangeSimulator/entry.ts +29 -0
  145. package/src/tool/wifiRangeSimulator/i18n/de.ts +477 -0
  146. package/src/tool/wifiRangeSimulator/i18n/en.ts +477 -0
  147. package/src/tool/wifiRangeSimulator/i18n/es.ts +477 -0
  148. package/src/tool/wifiRangeSimulator/i18n/fr.ts +477 -0
  149. package/src/tool/wifiRangeSimulator/i18n/id.ts +477 -0
  150. package/src/tool/wifiRangeSimulator/i18n/it.ts +477 -0
  151. package/src/tool/wifiRangeSimulator/i18n/ja.ts +477 -0
  152. package/src/tool/wifiRangeSimulator/i18n/ko.ts +477 -0
  153. package/src/tool/wifiRangeSimulator/i18n/nl.ts +477 -0
  154. package/src/tool/wifiRangeSimulator/i18n/pl.ts +477 -0
  155. package/src/tool/wifiRangeSimulator/i18n/pt.ts +477 -0
  156. package/src/tool/wifiRangeSimulator/i18n/ru.ts +477 -0
  157. package/src/tool/wifiRangeSimulator/i18n/sv.ts +477 -0
  158. package/src/tool/wifiRangeSimulator/i18n/tr.ts +477 -0
  159. package/src/tool/wifiRangeSimulator/i18n/zh.ts +477 -0
  160. package/src/tool/wifiRangeSimulator/i18n-utils.ts +14 -0
  161. package/src/tool/wifiRangeSimulator/index.ts +8 -0
  162. package/src/tool/wifiRangeSimulator/logic.ts +220 -0
  163. package/src/tool/wifiRangeSimulator/seo.astro +15 -0
  164. package/src/tool/wifiRangeSimulator/sketch-actions.ts +168 -0
  165. package/src/tool/wifiRangeSimulator/sketch-events.ts +138 -0
  166. package/src/tool/wifiRangeSimulator/sketch-render-dash.ts +170 -0
  167. package/src/tool/wifiRangeSimulator/sketch-render-device.ts +42 -0
  168. package/src/tool/wifiRangeSimulator/sketch-render.ts +155 -0
  169. package/src/tool/wifiRangeSimulator/sketch-state.ts +186 -0
  170. package/src/tool/wifiRangeSimulator/sketch.ts +100 -0
  171. package/src/tool/wifiRangeSimulator/ui.ts +69 -0
  172. package/src/tool/wifiRangeSimulator/wifi-range-simulator.css +583 -0
  173. package/src/tools.ts +2 -0
  174. package/src/types.ts +0 -2
@@ -0,0 +1,34 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { ALL_TOOLS } from '../tools';
3
+ import { validateToolExports } from './shared-test-helpers';
4
+
5
+ describe('Tool Exports Pattern Validation', () => {
6
+ describe('Component Exports Format', () => {
7
+ ALL_TOOLS.forEach((tool) => {
8
+ it(`${tool.entry.id}: Component should be a lazy-loaded function`, () => {
9
+ expect(typeof tool.Component).toBe('function');
10
+ expect(tool.Component).toBeInstanceOf(Function);
11
+ });
12
+
13
+ it(`${tool.entry.id}: SEOComponent should be a lazy-loaded function`, () => {
14
+ expect(typeof tool.SEOComponent).toBe('function');
15
+ expect(tool.SEOComponent).toBeInstanceOf(Function);
16
+ });
17
+
18
+ it(`${tool.entry.id}: BibliographyComponent should be a lazy-loaded function`, () => {
19
+ expect(typeof tool.BibliographyComponent).toBe('function');
20
+ expect(tool.BibliographyComponent).toBeInstanceOf(Function);
21
+ });
22
+ });
23
+ });
24
+
25
+ describe('Dynamic Import Validation', () => {
26
+ it('all tools must have functional dynamic imports', async () => {
27
+ const result = await validateToolExports(ALL_TOOLS);
28
+ if (!result.passed) {
29
+ throw new Error(`Tool export validation failed:\n${result.failures.join('\n')}`);
30
+ }
31
+ expect(result.passed).toBe(true);
32
+ });
33
+ });
34
+ });
@@ -4,8 +4,8 @@ import { homeCategory } from '../data';
4
4
 
5
5
  describe('Tool Validation Suite', () => {
6
6
  describe('Library Registration', () => {
7
- it('should have 6 tools in ALL_TOOLS', () => {
8
- expect(ALL_TOOLS.length).toBe(7);
7
+ it('should have 8 tools in ALL_TOOLS', () => {
8
+ expect(ALL_TOOLS.length).toBe(8);
9
9
  });
10
10
 
11
11
  it('homeCategory should be defined', () => {
@@ -0,0 +1,10 @@
1
+ export const bibliography = [
2
+ {
3
+ name: 'Magnus Approximation of the Dew-Point: Meteorological Applications (2011)',
4
+ url: 'https://es.scribd.com/document/331352069/dew-point',
5
+ },
6
+ {
7
+ name: 'Guide to Meteorological Instruments and Methods of Observation: WMO (2021)',
8
+ url: 'https://community.wmo.int/site/knowledge-hub/programmes-and-initiatives/instruments-and-methods-of-observation-programme-imop/guide-instruments-and-methods-of-observation-wmo-no-8',
9
+ },
10
+ ];
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { DewPointCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'taupunkt-rechner';
6
7
  const title = 'Taupunkt Rechner';
@@ -81,19 +82,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Häufig gestellte Fragen',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Literaturhinweise',
87
- bibliography: [
88
- {
89
- name: 'Magnus-Formel zur Berechnung des Taupunkts',
90
- url: 'https://de.wikipedia.org/wiki/Taupunkt',
91
- },
92
- {
93
- name: 'WMO Guide to Meteorological Instruments',
94
- url: 'https://community.wmo.int/site/knowledge-hub/programmes-and-initiatives/instruments-and-methods-of-observation-programme-imop/guide-instruments-and-methods-of-observation-wmo-no-8',
95
- },
96
- ],
86
+ bibliography,
97
87
  howTo: howToData,
98
88
  schemas: [faqSchema, howToSchema, appSchema],
99
89
  seo: [
@@ -104,13 +94,13 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
104
94
  },
105
95
  {
106
96
  type: 'paragraph',
107
- html: 'Der Taupunkt markiert die Temperatur, bei der Luftfeuchtigkeit zu Wasser wird. In Wohnräumen ist dieser Wert entscheidend für die Vermeidung von Bauschäden. Wenn die Temperatur einer Oberfläche (z. B. einer schlecht gedämmten Außenwand) unter den Taupunkt sinkt, entsteht Kondenswasser der ideale Nährboden für <em>Aspergillus</em> und andere gesundheitsschädliche Pilze.',
97
+ html: 'Der Taupunkt markiert die Temperatur, bei der Luftfeuchtigkeit zu Wasser wird. In Wohnräumen ist dieser Wert entscheidend für die Vermeidung von Bauschäden. Wenn die Temperatur einer Oberfläche (z. B. einer schlecht gedämmten Außenwand) unter den Taupunkt sinkt, entsteht Kondenswasser - der ideale Nährboden für <em>Aspergillus</em> und andere gesundheitsschädliche Pilze.',
108
98
  },
109
99
  {
110
100
  type: 'stats',
111
101
  items: [
112
102
  { value: '> 5°C', label: 'Sicherer Bereich', icon: 'mdi:shield-check' },
113
- { value: '4060%', label: 'Ideale Feuchte', icon: 'mdi:water-percent' },
103
+ { value: '40-60%', label: 'Ideale Feuchte', icon: 'mdi:water-percent' },
114
104
  { value: '< 1°C', label: 'Akute Gefahr', icon: 'mdi:alert' },
115
105
  ],
116
106
  columns: 3,
@@ -140,7 +130,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
140
130
  },
141
131
  {
142
132
  type: 'paragraph',
143
- html: '<strong>Geringes Risiko (Diff. &gt; 5°C):</strong> Die Wände sind sicher. <strong>Mittleres Risiko (35°C):</strong> Achten Sie auf Ecken und Wärmebrücken. <strong>Hohes Risiko (13°C):</strong> Kondensation an Scheiben wahrscheinlich sofort lüften. <strong>Akute Gefahr (&lt; 1°C):</strong> Aktive Kondensation mit sofortigem Risiko für schwarzen Schimmel.',
133
+ html: '<strong>Geringes Risiko (Diff. &gt; 5°C):</strong> Die Wände sind sicher. <strong>Mittleres Risiko (3-5°C):</strong> Achten Sie auf Ecken und Wärmebrücken. <strong>Hohes Risiko (1-3°C):</strong> Kondensation an Scheiben wahrscheinlich - sofort lüften. <strong>Akute Gefahr (&lt; 1°C):</strong> Aktive Kondensation mit sofortigem Risiko für schwarzen Schimmel.',
144
134
  },
145
135
  {
146
136
  type: 'diagnostic',
@@ -171,8 +161,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
171
161
  riskHigh: 'Hohes Risiko',
172
162
  riskExtreme: 'Akute Gefahr',
173
163
  riskLowDesc: 'Differenz > 5°C. Wände sind sicher.',
174
- riskMediumDesc: 'Differenz 35°C. Ecken prüfen.',
175
- riskHighDesc: 'Differenz 13°C. Sofort lüften!',
164
+ riskMediumDesc: 'Differenz 3-5°C. Ecken prüfen.',
165
+ riskHighDesc: 'Differenz 1-3°C. Sofort lüften!',
176
166
  riskExtremeDesc: 'Differenz < 1°C. Aktive Kondensation.',
177
167
  },
178
168
  };
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { DewPointCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'dew-point-calculator';
6
7
  const title = 'Dew Point Calculator';
@@ -21,7 +22,7 @@ const faqData = [
21
22
  {
22
23
  question: 'How can I reduce humidity at home?',
23
24
  answer:
24
- 'The most effective method is ventilation especially after showering or cooking and using dehumidifiers. Maintaining a constant temperature also helps the air retain more vapour without condensing.',
25
+ 'The most effective method is ventilation: especially after showering or cooking: and using dehumidifiers. Maintaining a constant temperature also helps the air retain more vapour without condensing.',
25
26
  },
26
27
  {
27
28
  question: 'Is condensation mould dangerous?',
@@ -86,19 +87,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
86
87
  slug,
87
88
  title,
88
89
  description,
89
- faqTitle: 'Frequently Asked Questions',
90
90
  faq: faqData,
91
- bibliographyTitle: 'Bibliography',
92
- bibliography: [
93
- {
94
- name: 'Magnus Approximation of the Dew-Point — Meteorological Applications (2011)',
95
- url: 'https://es.scribd.com/document/331352069/dew-point',
96
- },
97
- {
98
- name: 'Guide to Meteorological Instruments and Methods of Observation — WMO (2021)',
99
- url: 'https://community.wmo.int/site/knowledge-hub/programmes-and-initiatives/instruments-and-methods-of-observation-programme-imop/guide-instruments-and-methods-of-observation-wmo-no-8',
100
- },
101
- ],
91
+ bibliography,
102
92
  howTo: howToData,
103
93
  schemas: [faqSchema, howToSchema, appSchema],
104
94
  seo: [
@@ -109,13 +99,13 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
109
99
  },
110
100
  {
111
101
  type: 'paragraph',
112
- html: 'The dew point is the temperature to which air must cool for water vapour to condense into liquid water. In a home, this concept marks the boundary between a healthy house and one with structural moisture problems. When the temperature of a surface (such as a poorly insulated wall) falls below the dew point, water droplets appear the ideal breeding ground for <em>Aspergillus</em> and other harmful fungi.',
102
+ html: 'The dew point is the temperature to which air must cool for water vapour to condense into liquid water. In a home, this concept marks the boundary between a healthy house and one with structural moisture problems. When the temperature of a surface (such as a poorly insulated wall) falls below the dew point, water droplets appear: the ideal breeding ground for <em>Aspergillus</em> and other harmful fungi.',
113
103
  },
114
104
  {
115
105
  type: 'stats',
116
106
  items: [
117
107
  { value: '> 5°C', label: 'Safe Difference', icon: 'mdi:shield-check' },
118
- { value: '4060%', label: 'Ideal Humidity', icon: 'mdi:water-percent' },
108
+ { value: '40-60%', label: 'Ideal Humidity', icon: 'mdi:water-percent' },
119
109
  { value: '< 1°C', label: 'Extreme Danger', icon: 'mdi:alert' },
120
110
  ],
121
111
  columns: 3,
@@ -145,7 +135,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
145
135
  },
146
136
  {
147
137
  type: 'paragraph',
148
- html: '<strong>Low Risk (difference &gt; 5°C):</strong> The air is far from saturation. Your walls are safe. <strong>Medium Risk (35°C):</strong> Watch corners and thermal bridges. <strong>High Risk (13°C):</strong> Condensation likely on glass and cold zones ventilate immediately. <strong>Extreme Danger (&lt; 1°C):</strong> Active condensation with imminent risk of black mould growth.',
138
+ html: '<strong>Low Risk (difference &gt; 5°C):</strong> The air is far from saturation. Your walls are safe. <strong>Medium Risk (3-5°C):</strong> Watch corners and thermal bridges. <strong>High Risk (1-3°C):</strong> Condensation likely on glass and cold zones: ventilate immediately. <strong>Extreme Danger (&lt; 1°C):</strong> Active condensation with imminent risk of black mould growth.',
149
139
  },
150
140
  {
151
141
  type: 'diagnostic',
@@ -176,8 +166,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
176
166
  riskHigh: 'High Risk',
177
167
  riskExtreme: 'Extreme Danger',
178
168
  riskLowDesc: 'Difference > 5°C. Surfaces are safe.',
179
- riskMediumDesc: 'Difference 35°C. Watch the corners.',
180
- riskHighDesc: 'Difference 13°C. Ventilate immediately.',
169
+ riskMediumDesc: 'Difference 3-5°C. Watch the corners.',
170
+ riskHighDesc: 'Difference 1-3°C. Ventilate immediately.',
181
171
  riskExtremeDesc: 'Difference < 1°C. Active condensation.',
182
172
  },
183
173
  };
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { DewPointCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'punto-de-rocio';
6
7
  const title = 'Calculadora de Punto de Rocío';
@@ -86,19 +87,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
86
87
  slug,
87
88
  title,
88
89
  description,
89
- faqTitle: 'Preguntas Frecuentes',
90
90
  faq: faqData,
91
- bibliographyTitle: 'Bibliografía',
92
- bibliography: [
93
- {
94
- name: 'Magnus Approximation of the Dew-Point — Meteorological Applications (2011)',
95
- url: 'https://es.scribd.com/document/331352069/dew-point',
96
- },
97
- {
98
- name: 'Guide to Meteorological Instruments and Methods of Observation — WMO (2021)',
99
- url: 'https://community.wmo.int/site/knowledge-hub/programmes-and-initiatives/instruments-and-methods-of-observation-programme-imop/guide-instruments-and-methods-of-observation-wmo-no-8',
100
- },
101
- ],
91
+ bibliography,
102
92
  howTo: howToData,
103
93
  schemas: [faqSchema, howToSchema, appSchema],
104
94
  seo: [
@@ -109,13 +99,13 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
109
99
  },
110
100
  {
111
101
  type: 'paragraph',
112
- html: 'El punto de rocío es la temperatura a la cual el aire debe enfriarse para que el vapor de agua se condense en agua líquida. En el contexto de una vivienda, este concepto marca la frontera entre una casa sana y una con problemas estructurales de humedad. Cuando la temperatura de una superficie (como una pared mal aislada) cae por debajo del punto de rocío, aparecen gotas de agua el caldo de cultivo ideal para el <em>Aspergillus</em> y otros hongos nocivos.',
102
+ html: 'El punto de rocío es la temperatura a la cual el aire debe enfriarse para que el vapor de agua se condense en agua líquida. En el contexto de una vivienda, este concepto marca la frontera entre una casa sana y una con problemas estructurales de humedad. Cuando la temperatura de una superficie (como una pared mal aislada) cae por debajo del punto de rocío, aparecen gotas de agua: el caldo de cultivo ideal para el <em>Aspergillus</em> y otros hongos nocivos.',
113
103
  },
114
104
  {
115
105
  type: 'stats',
116
106
  items: [
117
107
  { value: '> 5°C', label: 'Diferencia Segura', icon: 'mdi:shield-check' },
118
- { value: '4060%', label: 'Humedad Ideal', icon: 'mdi:water-percent' },
108
+ { value: '40-60%', label: 'Humedad Ideal', icon: 'mdi:water-percent' },
119
109
  { value: '< 1°C', label: 'Peligro Extremo', icon: 'mdi:alert' },
120
110
  ],
121
111
  columns: 3,
@@ -145,7 +135,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
145
135
  },
146
136
  {
147
137
  type: 'paragraph',
148
- html: '<strong>Riesgo Bajo (diferencia &gt; 5°C):</strong> El aire está lejos de saturarse. Tus paredes están seguras. <strong>Riesgo Medio (35°C):</strong> Vigila las esquinas y los puentes térmicos. <strong>Riesgo Alto (13°C):</strong> Condensación probable en cristales y zonas frías ventila inmediatamente. <strong>Peligro Extremo (&lt; 1°C):</strong> Condensación activa con riesgo inmediato de proliferación de moho negro.',
138
+ html: '<strong>Riesgo Bajo (diferencia &gt; 5°C):</strong> El aire está lejos de saturarse. Tus paredes están seguras. <strong>Riesgo Medio (3-5°C):</strong> Vigila las esquinas y los puentes térmicos. <strong>Riesgo Alto (1-3°C):</strong> Condensación probable en cristales y zonas frías: ventila inmediatamente. <strong>Peligro Extremo (&lt; 1°C):</strong> Condensación activa con riesgo inmediato de proliferación de moho negro.',
149
139
  },
150
140
  {
151
141
  type: 'diagnostic',
@@ -176,8 +166,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
176
166
  riskHigh: 'Riesgo Alto',
177
167
  riskExtreme: 'Peligro Extremo',
178
168
  riskLowDesc: 'Diferencia > 5°C. Superficies seguras.',
179
- riskMediumDesc: 'Diferencia 35°C. Vigila las esquinas.',
180
- riskHighDesc: 'Diferencia 13°C. Ventila inmediatamente.',
169
+ riskMediumDesc: 'Diferencia 3-5°C. Vigila las esquinas.',
170
+ riskHighDesc: 'Diferencia 1-3°C. Ventila inmediatamente.',
181
171
  riskExtremeDesc: 'Diferencia < 1°C. Condensación activa.',
182
172
  },
183
173
  };
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { DewPointCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'calculateur-point-de-rosee';
6
7
  const title = 'Calculateur de Point de Rosée';
@@ -21,7 +22,7 @@ const faqData = [
21
22
  {
22
23
  question: "Comment puis-je réduire l'humidité chez moi ?",
23
24
  answer:
24
- "La méthode la plus efficace est la ventilation surtout après la douche ou la cuisine et l'utilisation de déshumidificateurs. Maintenir une température constante aide aussi l'air à retenir plus de vapeur sans condenser.",
25
+ "La méthode la plus efficace est la ventilation: surtout après la douche ou la cuisine: et l'utilisation de déshumidificateurs. Maintenir une température constante aide aussi l'air à retenir plus de vapeur sans condenser.",
25
26
  },
26
27
  {
27
28
  question: "La moisissure par condensation est-elle dangereuse ?",
@@ -86,19 +87,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
86
87
  slug,
87
88
  title,
88
89
  description,
89
- faqTitle: 'Questions Fréquentes',
90
90
  faq: faqData,
91
- bibliographyTitle: 'Bibliographie',
92
- bibliography: [
93
- {
94
- name: "Magnus Approximation of the Dew-Point — Meteorological Applications (2011)",
95
- url: 'https://es.scribd.com/document/331352069/dew-point',
96
- },
97
- {
98
- name: "Guide to Meteorological Instruments and Methods of Observation — WMO (2021)",
99
- url: 'https://community.wmo.int/site/knowledge-hub/programmes-and-initiatives/instruments-and-methods-of-observation-programme-imop/guide-instruments-and-methods-of-observation-wmo-no-8',
100
- },
101
- ],
91
+ bibliography,
102
92
  howTo: howToData,
103
93
  schemas: [faqSchema, howToSchema, appSchema],
104
94
  seo: [
@@ -109,13 +99,13 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
109
99
  },
110
100
  {
111
101
  type: 'paragraph',
112
- html: "Le point de rosée est la température à laquelle l'air doit refroidir pour que la vapeur d'eau se condense en eau liquide. Dans un logement, ce concept marque la frontière entre une maison saine et une maison avec des problèmes structurels d'humidité. Lorsque la température d'une surface (comme un mur mal isolé) descend sous le point de rosée, des gouttelettes d'eau apparaissent le terrain idéal pour l'<em>Aspergillus</em> et autres champignons nocifs.",
102
+ html: "Le point de rosée est la température à laquelle l'air doit refroidir pour que la vapeur d'eau se condense en eau liquide. Dans un logement, ce concept marque la frontière entre une maison saine et une maison avec des problèmes structurels d'humidité. Lorsque la température d'une surface (comme un mur mal isolé) descend sous le point de rosée, des gouttelettes d'eau apparaissent: le terrain idéal pour l'<em>Aspergillus</em> et autres champignons nocifs.",
113
103
  },
114
104
  {
115
105
  type: 'stats',
116
106
  items: [
117
107
  { value: '> 5°C', label: 'Différence Sûre', icon: 'mdi:shield-check' },
118
- { value: '4060%', label: 'Humidité Idéale', icon: 'mdi:water-percent' },
108
+ { value: '40-60%', label: 'Humidité Idéale', icon: 'mdi:water-percent' },
119
109
  { value: '< 1°C', label: 'Danger Extrême', icon: 'mdi:alert' },
120
110
  ],
121
111
  columns: 3,
@@ -145,7 +135,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
145
135
  },
146
136
  {
147
137
  type: 'paragraph',
148
- html: "<strong>Risque Faible (différence &gt; 5°C) :</strong> L'air est loin de la saturation. Vos murs sont sûrs. <strong>Risque Moyen (35°C) :</strong> Surveillez les coins et les ponts thermiques. <strong>Risque Élevé (13°C) :</strong> Condensation probable sur les vitres et les zones froides ventilez immédiatement. <strong>Danger Extrême (&lt; 1°C) :</strong> Condensation active avec risque imminent de prolifération de moisissures noires.",
138
+ html: "<strong>Risque Faible (différence &gt; 5°C) :</strong> L'air est loin de la saturation. Vos murs sont sûrs. <strong>Risque Moyen (3-5°C) :</strong> Surveillez les coins et les ponts thermiques. <strong>Risque Élevé (1-3°C) :</strong> Condensation probable sur les vitres et les zones froides: ventilez immédiatement. <strong>Danger Extrême (&lt; 1°C) :</strong> Condensation active avec risque imminent de prolifération de moisissures noires.",
149
139
  },
150
140
  {
151
141
  type: 'diagnostic',
@@ -176,8 +166,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
176
166
  riskHigh: 'Risque Élevé',
177
167
  riskExtreme: 'Danger Extrême',
178
168
  riskLowDesc: 'Différence > 5°C. Surfaces sûres.',
179
- riskMediumDesc: 'Différence 35°C. Surveillez les coins.',
180
- riskHighDesc: 'Différence 13°C. Ventilez immédiatement.',
169
+ riskMediumDesc: 'Différence 3-5°C. Surveillez les coins.',
170
+ riskHighDesc: 'Différence 1-3°C. Ventilez immédiatement.',
181
171
  riskExtremeDesc: 'Différence < 1°C. Condensation active.',
182
172
  },
183
173
  };
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { DewPointCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'titik-embun';
6
7
  const title = 'Kalkulator Titik Embun';
@@ -81,19 +82,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Pertanyaan Umum',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Daftar Pustaka',
87
- bibliography: [
88
- {
89
- name: 'Aproksimasi Magnus untuk Titik Embun',
90
- url: 'https://id.wikipedia.org/wiki/Titik_embun',
91
- },
92
- {
93
- name: 'WMO Guide to Meteorological Instruments',
94
- url: 'https://community.wmo.int/site/knowledge-hub/programmes-and-initiatives/instruments-and-methods-of-observation-programme-imop/guide-instruments-and-methods-of-observation-wmo-no-8',
95
- },
96
- ],
86
+ bibliography,
97
87
  howTo: howToData,
98
88
  schemas: [faqSchema, howToSchema, appSchema],
99
89
  seo: [
@@ -104,13 +94,13 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
104
94
  },
105
95
  {
106
96
  type: 'paragraph',
107
- html: 'Titik embun adalah suhu di mana uap air di udara berubah menjadi cair. Di dalam rumah, nilai ini menandai batas antara rumah yang sehat dan rumah dengan masalah kelembapan struktural. Ketika suhu permukaan (seperti dinding yang kurang isolasi) jatuh di bawah titik embun, tetesan air muncul tempat berkembang biak yang ideal bagi jamur berbahaya.',
97
+ html: 'Titik embun adalah suhu di mana uap air di udara berubah menjadi cair. Di dalam rumah, nilai ini menandai batas antara rumah yang sehat dan rumah dengan masalah kelembapan struktural. Ketika suhu permukaan (seperti dinding yang kurang isolasi) jatuh di bawah titik embun, tetesan air muncul: tempat berkembang biak yang ideal bagi jamur berbahaya.',
108
98
  },
109
99
  {
110
100
  type: 'stats',
111
101
  items: [
112
102
  { value: '> 5°C', label: 'Selisih Aman', icon: 'mdi:shield-check' },
113
- { value: '4060%', label: 'Kelembapan Ideal', icon: 'mdi:water-percent' },
103
+ { value: '40-60%', label: 'Kelembapan Ideal', icon: 'mdi:water-percent' },
114
104
  { value: '< 1°C', label: 'Bahaya Ekstrem', icon: 'mdi:alert' },
115
105
  ],
116
106
  columns: 3,
@@ -140,7 +130,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
140
130
  },
141
131
  {
142
132
  type: 'paragraph',
143
- html: '<strong>Risiko Rendah (selisih &gt; 5°C):</strong> Dinding Anda aman. <strong>Risiko Sedang (35°C):</strong> Perhatikan sudut-sudut ruangan. <strong>Risiko Tinggi (13°C):</strong> Embun mungkin muncul di kaca segera ventilasi. <strong>Bahaya Ekstrem (&lt; 1°C):</strong> Kondensasi aktif dengan risiko jamur hitam.',
133
+ html: '<strong>Risiko Rendah (selisih &gt; 5°C):</strong> Dinding Anda aman. <strong>Risiko Sedang (3-5°C):</strong> Perhatikan sudut-sudut ruangan. <strong>Risiko Tinggi (1-3°C):</strong> Embun mungkin muncul di kaca: segera ventilasi. <strong>Bahaya Ekstrem (&lt; 1°C):</strong> Kondensasi aktif dengan risiko jamur hitam.',
144
134
  },
145
135
  {
146
136
  type: 'diagnostic',
@@ -171,8 +161,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
171
161
  riskHigh: 'Risiko Tinggi',
172
162
  riskExtreme: 'Bahaya Ekstrem',
173
163
  riskLowDesc: 'Selisih > 5°C. Permukaan aman.',
174
- riskMediumDesc: 'Selisih 35°C. Pantau sudut ruangan.',
175
- riskHighDesc: 'Selisih 13°C. Segera ventilasi.',
164
+ riskMediumDesc: 'Selisih 3-5°C. Pantau sudut ruangan.',
165
+ riskHighDesc: 'Selisih 1-3°C. Segera ventilasi.',
176
166
  riskExtremeDesc: 'Selisih < 1°C. Kondensasi aktif.',
177
167
  },
178
168
  };
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { DewPointCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'punto-di-rugiada';
6
7
  const title = 'Calcolatore Punto di Rugiada';
@@ -81,19 +82,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Domande Frequenti',
85
85
  faq: faqData,
86
- bibliographyTitle: 'Bibliografia',
87
- bibliography: [
88
- {
89
- name: 'Approssimazione di Magnus per il Punto di Rugiada',
90
- url: 'https://it.wikipedia.org/wiki/Punto_di_rugiada',
91
- },
92
- {
93
- name: 'WMO: Guide to Meteorological Instruments',
94
- url: 'https://community.wmo.int/site/knowledge-hub/programmes-and-initiatives/instruments-and-methods-of-observation-programme-imop/guide-instruments-and-methods-of-observation-wmo-no-8',
95
- },
96
- ],
86
+ bibliography,
97
87
  howTo: howToData,
98
88
  schemas: [faqSchema, howToSchema, appSchema],
99
89
  seo: [
@@ -104,13 +94,13 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
104
94
  },
105
95
  {
106
96
  type: 'paragraph',
107
- html: 'Il punto di rugiada è la temperatura alla quale l\'aria deve raffreddarsi affinché il vapore acqueo si condensi. In casa, questo valore segna il confine tra una casa sana e una con problemi di umidità. Quando la temperatura di una parete scende sotto questo punto, appare la condensa l\'ambiente ideale per la proliferazione di muffe nocive.',
97
+ html: 'Il punto di rugiada è la temperatura alla quale l\'aria deve raffreddarsi affinché il vapore acqueo si condensi. In casa, questo valore segna il confine tra una casa sana e una con problemi di umidità. Quando la temperatura di una parete scende sotto questo punto, appare la condensa: l\'ambiente ideale per la proliferazione di muffe nocive.',
108
98
  },
109
99
  {
110
100
  type: 'stats',
111
101
  items: [
112
102
  { value: '> 5°C', label: 'Differenza Sicura', icon: 'mdi:shield-check' },
113
- { value: '4060%', label: 'Umidità Ideale', icon: 'mdi:water-percent' },
103
+ { value: '40-60%', label: 'Umidità Ideale', icon: 'mdi:water-percent' },
114
104
  { value: '< 1°C', label: 'Pericolo Estremo', icon: 'mdi:alert' },
115
105
  ],
116
106
  columns: 3,
@@ -140,7 +130,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
140
130
  },
141
131
  {
142
132
  type: 'paragraph',
143
- html: '<strong>Rischio Basso (diff. &gt; 5°C):</strong> Le tue pareti sono sicure. <strong>Rischio Medio (35°C):</strong> Controlla gli angoli. <strong>Rischio Alto (13°C):</strong> Condensa probabile sui vetri ventila subito. <strong>Pericolo Estremo (&lt; 1°C):</strong> Condensa attiva con rischio muffa nera.',
133
+ html: '<strong>Rischio Basso (diff. &gt; 5°C):</strong> Le tue pareti sono sicure. <strong>Rischio Medio (3-5°C):</strong> Controlla gli angoli. <strong>Rischio Alto (1-3°C):</strong> Condensa probabile sui vetri: ventila subito. <strong>Pericolo Estremo (&lt; 1°C):</strong> Condensa attiva con rischio muffa nera.',
144
134
  },
145
135
  {
146
136
  type: 'diagnostic',
@@ -171,8 +161,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
171
161
  riskHigh: 'Rischio Alto',
172
162
  riskExtreme: 'Pericolo Estremo',
173
163
  riskLowDesc: 'Differenza > 5°C. Pareti sicure.',
174
- riskMediumDesc: 'Differenza 35°C. Controlla gli angoli.',
175
- riskHighDesc: 'Differenza 13°C. Ventila subito.',
164
+ riskMediumDesc: 'Differenza 3-5°C. Controlla gli angoli.',
165
+ riskHighDesc: 'Differenza 1-3°C. Ventila subito.',
176
166
  riskExtremeDesc: 'Differenza < 1°C. Condensa attiva.',
177
167
  },
178
168
  };
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { DewPointCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'dew-point-calculator';
6
7
  const title = '露点計算機';
@@ -81,19 +82,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'よくある質問',
85
85
  faq: faqData,
86
- bibliographyTitle: '参考文献',
87
- bibliography: [
88
- {
89
- name: 'マグヌス式による露点計算',
90
- url: 'https://ja.wikipedia.org/wiki/露点',
91
- },
92
- {
93
- name: 'WMO Guide to Meteorological Instruments',
94
- url: 'https://community.wmo.int/site/knowledge-hub/programmes-and-initiatives/instruments-and-methods-of-observation-programme-imop/guide-instruments-and-methods-of-observation-wmo-no-8',
95
- },
96
- ],
86
+ bibliography,
97
87
  howTo: howToData,
98
88
  schemas: [faqSchema, howToSchema, appSchema],
99
89
  seo: [
@@ -110,7 +100,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
110
100
  type: 'stats',
111
101
  items: [
112
102
  { value: '差 > 5°C', label: '安全圏', icon: 'mdi:shield-check' },
113
- { value: '4060%', label: '理想的な湿度', icon: 'mdi:water-percent' },
103
+ { value: '40-60%', label: '理想的な湿度', icon: 'mdi:water-percent' },
114
104
  { value: '差 < 1°C', label: '結露の危険', icon: 'mdi:alert' },
115
105
  ],
116
106
  columns: 3,
@@ -140,7 +130,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
140
130
  },
141
131
  {
142
132
  type: 'paragraph',
143
- html: '<strong>低リスク (差 &gt; 5°C):</strong> 安全な状態です。 <strong>中リスク (35°C):</strong> 部屋の隅などに注意が必要です。 <strong>高リスク (13°C):</strong> 窓ガラスなどで結露の可能性が高いです。直ちに換気をしてください。 <strong>非常に危険 (差 &lt; 1°C):</strong> 結露が発生しており、黒カビ増殖の緊急リスクがあります。',
133
+ html: '<strong>低リスク (差 &gt; 5°C):</strong> 安全な状態です。 <strong>中リスク (3-5°C):</strong> 部屋の隅などに注意が必要です。 <strong>高リスク (1-3°C):</strong> 窓ガラスなどで結露の可能性が高いです。直ちに換気をしてください。 <strong>非常に危険 (差 &lt; 1°C):</strong> 結露が発生しており、黒カビ増殖の緊急リスクがあります。',
144
134
  },
145
135
  {
146
136
  type: 'diagnostic',
@@ -171,8 +161,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
171
161
  riskHigh: '高リスク',
172
162
  riskExtreme: '非常に危険',
173
163
  riskLowDesc: '差 > 5°C。表面は安全です。',
174
- riskMediumDesc: '差 35°C。部屋の隅に注意。',
175
- riskHighDesc: '差 13°C。直ちに換気が必要。',
164
+ riskMediumDesc: '差 3-5°C。部屋の隅に注意。',
165
+ riskHighDesc: '差 1-3°C。直ちに換気が必要。',
176
166
  riskExtremeDesc: '差 < 1°C。結露が発生中。',
177
167
  },
178
168
  };
@@ -1,6 +1,7 @@
1
1
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
2
  import type { ToolLocaleContent } from '../../../types';
3
3
  import type { DewPointCalculatorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
4
5
 
5
6
  const slug = 'dew-point-calculator';
6
7
  const title = '이슬점 계산기';
@@ -81,19 +82,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: '자주 묻는 질문',
85
85
  faq: faqData,
86
- bibliographyTitle: '참고 자료',
87
- bibliography: [
88
- {
89
- name: '이슬점 계산의 마그누스 근사식',
90
- url: 'https://ko.wikipedia.org/wiki/이슬점',
91
- },
92
- {
93
- name: 'WMO 기상 측정 도구 및 관측 방법 가이드',
94
- url: 'https://community.wmo.int/site/knowledge-hub/programmes-and-initiatives/instruments-and-methods-of-observation-programme-imop/guide-instruments-and-methods-of-observation-wmo-no-8',
95
- },
96
- ],
86
+ bibliography,
97
87
  howTo: howToData,
98
88
  schemas: [faqSchema, howToSchema, appSchema],
99
89
  seo: [
@@ -110,7 +100,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
110
100
  type: 'stats',
111
101
  items: [
112
102
  { value: '> 5°C', label: '안전 범위', icon: 'mdi:shield-check' },
113
- { value: '4060%', label: '이상적 습도', icon: 'mdi:water-percent' },
103
+ { value: '40-60%', label: '이상적 습도', icon: 'mdi:water-percent' },
114
104
  { value: '< 1°C', label: '매우 위험', icon: 'mdi:alert' },
115
105
  ],
116
106
  columns: 3,
@@ -140,7 +130,7 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
140
130
  },
141
131
  {
142
132
  type: 'paragraph',
143
- html: '<strong>낮은 위험 (차이 &gt; 5°C):</strong> 벽면이 안전한 상태입니다. <strong>중간 위험 (35°C):</strong> 구석진 곳을 주의 깊게 살피세요. <strong>높은 위험 (13°C):</strong> 유리창 등에 결로 가능성이 큽니다 - 즉시 환기하세요. <strong>매우 위험 (차이 &lt; 1°C):</strong> 현재 결로가 진행 중이며 곰팡이 증식 위험이 매우 높습니다.',
133
+ html: '<strong>낮은 위험 (차이 &gt; 5°C):</strong> 벽면이 안전한 상태입니다. <strong>중간 위험 (3-5°C):</strong> 구석진 곳을 주의 깊게 살피세요. <strong>높은 위험 (1-3°C):</strong> 유리창 등에 결로 가능성이 큽니다 - 즉시 환기하세요. <strong>매우 위험 (차이 &lt; 1°C):</strong> 현재 결로가 진행 중이며 곰팡이 증식 위험이 매우 높습니다.',
144
134
  },
145
135
  {
146
136
  type: 'diagnostic',
@@ -171,8 +161,8 @@ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
171
161
  riskHigh: '높은 위험',
172
162
  riskExtreme: '매우 위험',
173
163
  riskLowDesc: '차이 > 5°C. 안전한 상태.',
174
- riskMediumDesc: '차이 35°C. 구석을 살피세요.',
175
- riskHighDesc: '차이 13°C. 즉시 환기 필요.',
164
+ riskMediumDesc: '차이 3-5°C. 구석을 살피세요.',
165
+ riskHighDesc: '차이 1-3°C. 즉시 환기 필요.',
176
166
  riskExtremeDesc: '차이 < 1°C. 결로 진행 중.',
177
167
  },
178
168
  };