@jjlmoya/utils-home 1.6.0 → 1.7.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 (102) hide show
  1. package/package.json +61 -60
  2. package/src/tests/i18n_coverage.test.ts +36 -0
  3. package/src/tests/schemas_fulfillment.test.ts +23 -0
  4. package/src/tests/slug_uniqueness.test.ts +81 -0
  5. package/src/tests/title_quality.test.ts +55 -0
  6. package/src/tool/dewPointCalculator/i18n/de.ts +178 -0
  7. package/src/tool/dewPointCalculator/i18n/en.ts +1 -1
  8. package/src/tool/dewPointCalculator/i18n/es.ts +1 -1
  9. package/src/tool/dewPointCalculator/i18n/fr.ts +1 -1
  10. package/src/tool/dewPointCalculator/i18n/id.ts +178 -0
  11. package/src/tool/dewPointCalculator/i18n/it.ts +178 -0
  12. package/src/tool/dewPointCalculator/i18n/ja.ts +178 -0
  13. package/src/tool/dewPointCalculator/i18n/ko.ts +178 -0
  14. package/src/tool/dewPointCalculator/i18n/nl.ts +178 -0
  15. package/src/tool/dewPointCalculator/i18n/pl.ts +178 -0
  16. package/src/tool/dewPointCalculator/i18n/pt.ts +178 -0
  17. package/src/tool/dewPointCalculator/i18n/ru.ts +178 -0
  18. package/src/tool/dewPointCalculator/i18n/sv.ts +178 -0
  19. package/src/tool/dewPointCalculator/i18n/tr.ts +178 -0
  20. package/src/tool/dewPointCalculator/i18n/zh.ts +178 -0
  21. package/src/tool/dewPointCalculator/index.ts +16 -6
  22. package/src/tool/heatingComparator/i18n/de.ts +340 -0
  23. package/src/tool/heatingComparator/i18n/id.ts +324 -0
  24. package/src/tool/heatingComparator/i18n/it.ts +336 -0
  25. package/src/tool/heatingComparator/i18n/ja.ts +311 -0
  26. package/src/tool/heatingComparator/i18n/ko.ts +307 -0
  27. package/src/tool/heatingComparator/i18n/nl.ts +336 -0
  28. package/src/tool/heatingComparator/i18n/pl.ts +311 -0
  29. package/src/tool/heatingComparator/i18n/pt.ts +336 -0
  30. package/src/tool/heatingComparator/i18n/ru.ts +307 -0
  31. package/src/tool/heatingComparator/i18n/sv.ts +311 -0
  32. package/src/tool/heatingComparator/i18n/tr.ts +324 -0
  33. package/src/tool/heatingComparator/i18n/zh.ts +307 -0
  34. package/src/tool/heatingComparator/index.ts +13 -1
  35. package/src/tool/ledSavingCalculator/i18n/de.ts +208 -0
  36. package/src/tool/ledSavingCalculator/i18n/fr.ts +1 -1
  37. package/src/tool/ledSavingCalculator/i18n/id.ts +208 -0
  38. package/src/tool/ledSavingCalculator/i18n/it.ts +208 -0
  39. package/src/tool/ledSavingCalculator/i18n/ja.ts +208 -0
  40. package/src/tool/ledSavingCalculator/i18n/ko.ts +208 -0
  41. package/src/tool/ledSavingCalculator/i18n/nl.ts +208 -0
  42. package/src/tool/ledSavingCalculator/i18n/pl.ts +208 -0
  43. package/src/tool/ledSavingCalculator/i18n/pt.ts +208 -0
  44. package/src/tool/ledSavingCalculator/i18n/ru.ts +208 -0
  45. package/src/tool/ledSavingCalculator/i18n/sv.ts +208 -0
  46. package/src/tool/ledSavingCalculator/i18n/tr.ts +208 -0
  47. package/src/tool/ledSavingCalculator/i18n/zh.ts +208 -0
  48. package/src/tool/ledSavingCalculator/index.ts +16 -7
  49. package/src/tool/projectorCalculator/i18n/de.ts +180 -0
  50. package/src/tool/projectorCalculator/i18n/fr.ts +1 -1
  51. package/src/tool/projectorCalculator/i18n/id.ts +181 -0
  52. package/src/tool/projectorCalculator/i18n/it.ts +180 -0
  53. package/src/tool/projectorCalculator/i18n/ja.ts +180 -0
  54. package/src/tool/projectorCalculator/i18n/ko.ts +180 -0
  55. package/src/tool/projectorCalculator/i18n/nl.ts +180 -0
  56. package/src/tool/projectorCalculator/i18n/pl.ts +180 -0
  57. package/src/tool/projectorCalculator/i18n/pt.ts +180 -0
  58. package/src/tool/projectorCalculator/i18n/ru.ts +180 -0
  59. package/src/tool/projectorCalculator/i18n/sv.ts +180 -0
  60. package/src/tool/projectorCalculator/i18n/tr.ts +180 -0
  61. package/src/tool/projectorCalculator/i18n/zh.ts +180 -0
  62. package/src/tool/projectorCalculator/index.ts +15 -6
  63. package/src/tool/qrGenerator/i18n/de.ts +203 -0
  64. package/src/tool/qrGenerator/i18n/id.ts +151 -0
  65. package/src/tool/qrGenerator/i18n/it.ts +174 -0
  66. package/src/tool/qrGenerator/i18n/ja.ts +151 -0
  67. package/src/tool/qrGenerator/i18n/ko.ts +151 -0
  68. package/src/tool/qrGenerator/i18n/nl.ts +151 -0
  69. package/src/tool/qrGenerator/i18n/pl.ts +151 -0
  70. package/src/tool/qrGenerator/i18n/pt.ts +151 -0
  71. package/src/tool/qrGenerator/i18n/ru.ts +151 -0
  72. package/src/tool/qrGenerator/i18n/sv.ts +151 -0
  73. package/src/tool/qrGenerator/i18n/tr.ts +151 -0
  74. package/src/tool/qrGenerator/i18n/zh.ts +151 -0
  75. package/src/tool/qrGenerator/index.ts +17 -9
  76. package/src/tool/solarCalculator/i18n/de.ts +146 -0
  77. package/src/tool/solarCalculator/i18n/id.ts +126 -0
  78. package/src/tool/solarCalculator/i18n/it.ts +126 -0
  79. package/src/tool/solarCalculator/i18n/ja.ts +126 -0
  80. package/src/tool/solarCalculator/i18n/ko.ts +121 -0
  81. package/src/tool/solarCalculator/i18n/nl.ts +120 -0
  82. package/src/tool/solarCalculator/i18n/pl.ts +121 -0
  83. package/src/tool/solarCalculator/i18n/pt.ts +126 -0
  84. package/src/tool/solarCalculator/i18n/ru.ts +110 -0
  85. package/src/tool/solarCalculator/i18n/sv.ts +110 -0
  86. package/src/tool/solarCalculator/i18n/tr.ts +120 -0
  87. package/src/tool/solarCalculator/i18n/zh.ts +121 -0
  88. package/src/tool/solarCalculator/index.ts +17 -9
  89. package/src/tool/tariffComparator/i18n/de.ts +133 -0
  90. package/src/tool/tariffComparator/i18n/id.ts +133 -0
  91. package/src/tool/tariffComparator/i18n/it.ts +133 -0
  92. package/src/tool/tariffComparator/i18n/ja.ts +133 -0
  93. package/src/tool/tariffComparator/i18n/ko.ts +133 -0
  94. package/src/tool/tariffComparator/i18n/nl.ts +133 -0
  95. package/src/tool/tariffComparator/i18n/pl.ts +133 -0
  96. package/src/tool/tariffComparator/i18n/pt.ts +133 -0
  97. package/src/tool/tariffComparator/i18n/ru.ts +106 -0
  98. package/src/tool/tariffComparator/i18n/sv.ts +111 -0
  99. package/src/tool/tariffComparator/i18n/tr.ts +133 -0
  100. package/src/tool/tariffComparator/i18n/zh.ts +133 -0
  101. package/src/tool/tariffComparator/index.ts +16 -7
  102. package/src/types.ts +1 -1
@@ -0,0 +1,178 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { DewPointCalculatorUI } from '../ui';
4
+
5
+ const slug = 'ponto-de-orvalho';
6
+ const title = 'Calculadora de Ponto de Orvalho';
7
+ const description = 'Calcule a temperatura de condensação nas suas paredes usando a humidade e temperatura ambiente. Uma ferramenta vital para prevenir humidades e proteger a saúde da sua casa.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'O que é exatamente o ponto de orvalho?',
12
+ answer: 'É a temperatura à qual o ar deve arrefecer para que o vapor de água se condense em água líquida. Quanto mais alta for a humidade relativa, mais próximo está o ponto de orvalho da temperatura atual.',
13
+ },
14
+ {
15
+ question: 'Porque é que aparece bolor nos cantos da minha casa?',
16
+ answer: 'Os cantos são frequentemente pontes térmicas onde a parede está mais fria. Se a temperatura dessa superfície descer abaixo do ponto de orvalho, forma-se água líquida. O bolor precisa dessa humidade constante para crescer.',
17
+ },
18
+ {
19
+ question: 'Como posso baixar a humidade em casa?',
20
+ answer: 'A forma mais eficaz é ventilar (especialmente após o banho ou cozinhar) e usar desumidificadores. Manter uma temperatura constante também ajuda a que o ar consiga reter mais vapor sem condensar.',
21
+ },
22
+ {
23
+ question: 'O bolor por condensação é perigoso?',
24
+ answer: 'Sim. O bolor liberta esporos que podem causar problemas respiratórios, alergias e asma. Detetar o risco de condensação com esta calculadora é o primeiro passo para uma casa saudável.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ {
30
+ name: 'Medir temperatura e humidade',
31
+ text: 'Use um termómetro e higrómetro para conhecer os valores atuais da divisão.',
32
+ },
33
+ {
34
+ name: 'Introduzir valores',
35
+ text: 'Ajuste a temperatura em graus Celsius e a percentagem de humidade na calculadora.',
36
+ },
37
+ {
38
+ name: 'Obter temperatura crítica',
39
+ text: 'A ferramenta dir-lhe-á a que temperatura exata começará a condensar a água nas superfícies.',
40
+ },
41
+ {
42
+ name: 'Verificar superfícies',
43
+ text: 'Se tiver um termómetro laser, meça a temperatura das paredes. Se for igual ou menor ao resultado, precisa de ventilar ou isolar.',
44
+ },
45
+ ];
46
+
47
+ const faqSchema: WithContext<FAQPage> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'FAQPage',
50
+ mainEntity: faqData.map((item) => ({
51
+ '@type': 'Question',
52
+ name: item.question,
53
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
54
+ })),
55
+ };
56
+
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howToData.map((step) => ({
63
+ '@type': 'HowToStep',
64
+ name: step.name,
65
+ text: step.text,
66
+ })),
67
+ };
68
+
69
+ const appSchema: WithContext<SoftwareApplication> = {
70
+ '@context': 'https://schema.org',
71
+ '@type': 'SoftwareApplication',
72
+ name: title,
73
+ description,
74
+ applicationCategory: 'UtilityApplication',
75
+ operatingSystem: 'All',
76
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
77
+ inLanguage: 'pt',
78
+ };
79
+
80
+ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
81
+ slug,
82
+ title,
83
+ description,
84
+ faqTitle: 'Perguntas Frequentes',
85
+ faq: faqData,
86
+ bibliographyTitle: 'Bibliografia',
87
+ bibliography: [
88
+ {
89
+ name: 'Magnus Approximation of the Dew-Point — Meteorological Applications',
90
+ url: 'https://en.wikipedia.org/wiki/Dew_point',
91
+ },
92
+ {
93
+ name: 'Guide to Meteorological Instruments and Methods of Observation — 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
+ ],
97
+ howTo: howToData,
98
+ schemas: [faqSchema, howToSchema, appSchema],
99
+ seo: [
100
+ {
101
+ type: 'title',
102
+ text: 'O que é o Ponto de Orvalho e por que é importante no seu lar?',
103
+ level: 2,
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'O ponto de orvalho é a temperatura à qual o ar deve arrefecer para que o vapor de água se condense. No contexto de uma habitação, este conceito marca a fronteira entre uma casa sã e uma com problemas estruturais de humidade. Quando a temperatura de uma superfície cai abaixo do ponto de orvalho, aparecem gotas de água — o ambiente ideal para o aparecimento de fungos nocivos.',
108
+ },
109
+ {
110
+ type: 'stats',
111
+ items: [
112
+ { value: '> 5°C', label: 'Diferença Segura', icon: 'mdi:shield-check' },
113
+ { value: '40–60%', label: 'Humidade Ideal', icon: 'mdi:water-percent' },
114
+ { value: '< 1°C', label: 'Perigo Extremo', icon: 'mdi:alert' },
115
+ ],
116
+ columns: 3,
117
+ },
118
+ {
119
+ type: 'comparative',
120
+ items: [
121
+ {
122
+ title: 'A Fórmula de Magnus Tetens',
123
+ description: 'Para calcular o ponto de orvalho com precisão utilizamos a aproximação de Magnus-Tetens, recomendada pela Organização Meteorológica Mundial para temperaturas entre 0°C e 50°C.',
124
+ icon: 'mdi:calculator',
125
+ points: ['Precisão científica validada', 'Válida para gamas de temperatura habitacional'],
126
+ },
127
+ {
128
+ title: 'Pontes Térmicas e Bolor',
129
+ description: 'Os cantos dos quartos e as janelas são os pontos mais frios. Se a sua temperatura cair abaixo do ponto de orvalho, a condensação e o bolor são inevitáveis.',
130
+ icon: 'mdi:home-thermometer',
131
+ points: ['Os cantos são os pontos mais vulneráveis', 'O isolamento térmico previne a condensação'],
132
+ },
133
+ ],
134
+ columns: 2,
135
+ },
136
+ {
137
+ type: 'title',
138
+ text: 'Níveis de Risco',
139
+ level: 3,
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: '<strong>Risco Baixo (diferença &gt; 5°C):</strong> As suas paredes estão seguras. <strong>Risco Médio (3–5°C):</strong> Vigie os cantos e as pontes térmicas. <strong>Risco Alto (1–3°C):</strong> Condensação provável em vidros — ventile imediatamente. <strong>Perigo Extremo (&lt; 1°C):</strong> Condensação ativa com risco imediato de bolor negro.',
144
+ },
145
+ {
146
+ type: 'diagnostic',
147
+ variant: 'warning',
148
+ title: 'A Regra de Ouro',
149
+ icon: 'mdi:thermometer-alert',
150
+ badge: 'Conselho Chave',
151
+ html: '<p>Se a temperatura da sua parede estiver a menos de <strong>3°C do ponto de orvalho</strong>, tem um risco iminente de condensação. Ventile e mantenha a humidade entre 40% e 60%.</p>',
152
+ },
153
+ {
154
+ type: 'summary',
155
+ title: 'Como Prevenir a Condensação',
156
+ items: [
157
+ 'Ventile diariamente, especialmente após o banho ou cozinhar.',
158
+ 'Mantenha a humidade relativa entre 40% e 60%.',
159
+ 'Use exaustores em casas de banho e cozinhas.',
160
+ 'Não seque roupa dentro de casa sem ventilação.',
161
+ 'Isole as paredes para evitar superfícies frias.',
162
+ ],
163
+ },
164
+ ],
165
+ ui: {
166
+ labelTemperature: 'Temperatura Ambiente',
167
+ labelHumidity: 'Humidade Relativa',
168
+ labelDewPoint: 'Ponto de Orvalho',
169
+ riskLow: 'Risco Baixo',
170
+ riskMedium: 'Risco Médio',
171
+ riskHigh: 'Risco Alto',
172
+ riskExtreme: 'Perigo Extremo',
173
+ riskLowDesc: 'Diferença > 5°C. Superfícies seguras.',
174
+ riskMediumDesc: 'Diferença 3–5°C. Vigie os cantos.',
175
+ riskHighDesc: 'Diferenza 1–3°C. Ventile imediatamente.',
176
+ riskExtremeDesc: 'Diferença < 1°C. Condensação ativa.',
177
+ },
178
+ };
@@ -0,0 +1,178 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { DewPointCalculatorUI } from '../ui';
4
+
5
+ const slug = 'tochka-rosy';
6
+ const title = 'Калькулятор Точки Росы';
7
+ const description = 'Рассчитайте температуру образования конденсата на стенах на основе влажности и комнатной температуры. Важный инструмент для профилактики плесени и защиты вашего дома.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Что такое точка росы?',
12
+ answer: 'Это температура, до которой должен охладиться воздух, чтобы содержащийся в нем водяной пар сконденсировался в жидкость. Чем выше влажность, тем ближе точка росы к текущей температуре.',
13
+ },
14
+ {
15
+ question: 'Почему в углах комнат появляется плесень?',
16
+ answer: 'Углы — это «мостики холода», где стена холоднее всего. Если температура поверхности падает ниже точки росы, образуется конденсат. Плесень нуждается в этой постоянной влаге для роста.',
17
+ },
18
+ {
19
+ question: 'Как снизить влажность в доме?',
20
+ answer: 'Самый эффективный способ — проветривание (особенно после душа или готовки) и использование осушителей. Поддержание стабильной температуры также помогает воздуху удерживать больше пара без конденсации.',
21
+ },
22
+ {
23
+ question: 'Опасна ли плесень от конденсата?',
24
+ answer: 'Да. Плесень выделяет споры, вызывающие респираторные заболевания и аллергии. Определение риска конденсации — первый шаг к здоровому дому.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ {
30
+ name: 'Измерьте температуру и влажность',
31
+ text: 'Используйте термометр и гигрометр, чтобы узнать текущие значения в комнате.',
32
+ },
33
+ {
34
+ name: 'Введите значения',
35
+ text: 'Укажите температуру и процент влажности в калькуляторе.',
36
+ },
37
+ {
38
+ name: 'Узнайте критическую температуру',
39
+ text: 'Инструмент покажет точную температуру, при которой на поверхностях начнет выпадать роса.',
40
+ },
41
+ {
42
+ name: 'Проверьте поверхности',
43
+ text: 'Если у вас есть ИК-термометр, замерьте температуру стен. Если она ниже или равна результату, нужно проветривание или утепление.',
44
+ },
45
+ ];
46
+
47
+ const faqSchema: WithContext<FAQPage> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'FAQPage',
50
+ mainEntity: faqData.map((item) => ({
51
+ '@type': 'Question',
52
+ name: item.question,
53
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
54
+ })),
55
+ };
56
+
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howToData.map((step) => ({
63
+ '@type': 'HowToStep',
64
+ name: step.name,
65
+ text: step.text,
66
+ })),
67
+ };
68
+
69
+ const appSchema: WithContext<SoftwareApplication> = {
70
+ '@context': 'https://schema.org',
71
+ '@type': 'SoftwareApplication',
72
+ name: title,
73
+ description,
74
+ applicationCategory: 'UtilityApplication',
75
+ operatingSystem: 'All',
76
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'RUB' },
77
+ inLanguage: 'ru',
78
+ };
79
+
80
+ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
81
+ slug,
82
+ title,
83
+ description,
84
+ faqTitle: 'Часто задаваемые вопросы',
85
+ faq: faqData,
86
+ bibliographyTitle: 'Библиография',
87
+ bibliography: [
88
+ {
89
+ name: 'Приближение Магнуса для точки росы',
90
+ url: 'https://ru.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
+ ],
97
+ howTo: howToData,
98
+ schemas: [faqSchema, howToSchema, appSchema],
99
+ seo: [
100
+ {
101
+ type: 'title',
102
+ text: 'Что такое точка росы и почему она важна?',
103
+ level: 2,
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'Точка росы — это температура перехода влаги из воздуха в жидкое состояние. В быту это граница между здоровым домом и сырым помещением. Когда стена холоднее точки росы, на ней выпадает конденсат — идеальная среда для плесени.',
108
+ },
109
+ {
110
+ type: 'stats',
111
+ items: [
112
+ { value: '> 5°C', label: 'Безопасно', icon: 'mdi:shield-check' },
113
+ { value: '40–60%', label: 'Идеал влажности', icon: 'mdi:water-percent' },
114
+ { value: '< 1°C', label: 'Высокий риск', icon: 'mdi:alert' },
115
+ ],
116
+ columns: 3,
117
+ },
118
+ {
119
+ type: 'comparative',
120
+ items: [
121
+ {
122
+ title: 'Формула Магнуса Тетенса',
123
+ description: 'Для расчетов используется метод Магнуса-Тетенса, рекомендованный ВМО для температур от 0°C до 50°C.',
124
+ icon: 'mdi:calculator',
125
+ points: ['Научная точность подтверждена', 'Оптимально для жилых помещений'],
126
+ },
127
+ {
128
+ title: 'Мостики холода',
129
+ description: 'Углы и оконные рамы — самые холодные места. Если их температура ниже точки росы, плесень неизбежна.',
130
+ icon: 'mdi:home-thermometer',
131
+ points: ['Углы наиболее уязвимы', 'Утепление предотвращает конденсат'],
132
+ },
133
+ ],
134
+ columns: 2,
135
+ },
136
+ {
137
+ type: 'title',
138
+ text: 'Уровни риска',
139
+ level: 3,
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: '<strong>Низкий (разница &gt; 5°C):</strong> Стены в безопасности. <strong>Средний (3–5°C):</strong> Следите за углами. <strong>Высокий (1–3°C):</strong> Возможен конденсат на окнах — проветрите. <strong>Опасно (&lt; 1°C):</strong> Активный конденсат, риск черной плесени.',
144
+ },
145
+ {
146
+ type: 'diagnostic',
147
+ variant: 'warning',
148
+ title: 'Золотое правило',
149
+ icon: 'mdi:thermometer-alert',
150
+ badge: 'Совет эксперта',
151
+ html: '<p>Если температура стены менее чем на <strong>3°C выше точки росы</strong>, риск конденсации критический. Проветривайте и держите влажность 40–60%.</p>',
152
+ },
153
+ {
154
+ type: 'summary',
155
+ title: 'Как избежать конденсата',
156
+ items: [
157
+ 'Проветривайте ежедневно после душа или готовки.',
158
+ 'Держите влажность в пределах 40–60%.',
159
+ 'Включайте вытяжку на кухне.',
160
+ 'Не сушите белье в комнате без вентиляции.',
161
+ 'Утеплите стены для устранения холодных поверхностей.',
162
+ ],
163
+ },
164
+ ],
165
+ ui: {
166
+ labelTemperature: 'Температура воздуха',
167
+ labelHumidity: 'Относит. влажность',
168
+ labelDewPoint: 'Точка росы',
169
+ riskLow: 'Низкий риск',
170
+ riskMedium: 'Средний риск',
171
+ riskHigh: 'Высокий риск',
172
+ riskExtreme: 'Опасно',
173
+ riskLowDesc: 'Разница > 5°C. Безопасно.',
174
+ riskMediumDesc: 'Разница 3–5°C. Проверьте углы.',
175
+ riskHighDesc: 'Разница 1–3°C. Проветрите сейчас.',
176
+ riskExtremeDesc: 'Разница < 1°C. Идет конденсация.',
177
+ },
178
+ };
@@ -0,0 +1,178 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { DewPointCalculatorUI } from '../ui';
4
+
5
+ const slug = 'daggpunkt-raknare';
6
+ const title = 'Daggpunktsräknare';
7
+ const description = 'Beräkna kondenstemperaturen på dina väggar baserat på luftfuktighet och rumstemperatur. Ett viktigt verktyg för att förebygga fukt och skydda ditt hem.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Vad är daggpunkt egentligen?',
12
+ answer: 'Daggpunkten är den temperatur till vilken luft måste kylas för att vattenångan i den ska kondensera till flytande vatten. Ju högre den relativa luftfuktigheten är, desto närmare ligger daggpunkten den aktuella temperaturen.',
13
+ },
14
+ {
15
+ question: 'Varför uppstår mögel i hörnen av mitt hus?',
16
+ answer: 'Hörn är ofta köldbryggor där väggen är kallare. Om temperaturen på den ytan faller under daggpunkten bildas kondensvatten. Mögel behöver denna konstanta fukt för att växa.',
17
+ },
18
+ {
19
+ question: 'Hur kan jag sänka luftfuktigheten hemma?',
20
+ answer: 'Det mest effektiva sättet är att ventilera (särskilt efter dusch eller matlagning) och använda avfuktare. Att hålla en jämn temperatur hjälper också luften att hålla kvar mer ånga utan att den kondenserar.',
21
+ },
22
+ {
23
+ question: 'Är mögel från kondens farligt?',
24
+ answer: 'Ja. Mögel frigör sporer som kan orsaka andningsproblem, allergier och astma. Att upptäcka kondensrisk med denna räknare är första steget mot ett hälsosamt hem.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ {
30
+ name: 'Mät temperatur och fuktighet',
31
+ text: 'Använd en termometer och hygrometer för att mäta de nuvarande värdena i rummet.',
32
+ },
33
+ {
34
+ name: 'Ange värden',
35
+ text: 'Ställ in temperaturen i Celsius och luftfuktigheten i procent i räknaren.',
36
+ },
37
+ {
38
+ name: 'Se kritisk temperatur',
39
+ text: 'Verktyget berättar exakt vid vilken yttemperatur vatten börjar kondensera.',
40
+ },
41
+ {
42
+ name: 'Kontrollera ytor',
43
+ text: 'Använd en infraröd termometer för att mäta väggarnas temperatur. Är den under daggpunkten behöver du ventilera eller isolera.',
44
+ },
45
+ ];
46
+
47
+ const faqSchema: WithContext<FAQPage> = {
48
+ '@context': 'https://schema.org',
49
+ '@type': 'FAQPage',
50
+ mainEntity: faqData.map((item) => ({
51
+ '@type': 'Question',
52
+ name: item.question,
53
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
54
+ })),
55
+ };
56
+
57
+ const howToSchema: WithContext<HowTo> = {
58
+ '@context': 'https://schema.org',
59
+ '@type': 'HowTo',
60
+ name: title,
61
+ description,
62
+ step: howToData.map((step) => ({
63
+ '@type': 'HowToStep',
64
+ name: step.name,
65
+ text: step.text,
66
+ })),
67
+ };
68
+
69
+ const appSchema: WithContext<SoftwareApplication> = {
70
+ '@context': 'https://schema.org',
71
+ '@type': 'SoftwareApplication',
72
+ name: title,
73
+ description,
74
+ applicationCategory: 'UtilityApplication',
75
+ operatingSystem: 'All',
76
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'SEK' },
77
+ inLanguage: 'sv',
78
+ };
79
+
80
+ export const content: ToolLocaleContent<DewPointCalculatorUI> = {
81
+ slug,
82
+ title,
83
+ description,
84
+ faqTitle: 'Vanliga frågor',
85
+ faq: faqData,
86
+ bibliographyTitle: 'Referenser',
87
+ bibliography: [
88
+ {
89
+ name: 'Magnus approximation för daggpunkt',
90
+ url: 'https://sv.wikipedia.org/wiki/Daggpunkt',
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
+ ],
97
+ howTo: howToData,
98
+ schemas: [faqSchema, howToSchema, appSchema],
99
+ seo: [
100
+ {
101
+ type: 'title',
102
+ text: 'Vad är daggpunkt och varför spelar det roll i ditt hem?',
103
+ level: 2,
104
+ },
105
+ {
106
+ type: 'paragraph',
107
+ html: 'Daggpunkten är den temperatur där vattenånga i luften blir flytande. I hemmet markerar detta gränsen mellan ett hälsosamt hus och ett med fuktproblem. När yttemperaturen på en vägg faller under daggpunkten uppstår kondens — en perfekt grogrund för mögel.',
108
+ },
109
+ {
110
+ type: 'stats',
111
+ items: [
112
+ { value: '> 5°C', label: 'Säker Marginal', icon: 'mdi:shield-check' },
113
+ { value: '40–60%', label: 'Ideal Fuktighet', icon: 'mdi:water-percent' },
114
+ { value: '< 1°C', label: 'Hög Risk', icon: 'mdi:alert' },
115
+ ],
116
+ columns: 3,
117
+ },
118
+ {
119
+ type: 'comparative',
120
+ items: [
121
+ {
122
+ title: 'Magnus Tetens formel',
123
+ description: 'Vi använder Magnus-Tetens approximation, som rekommenderas av WMO för temperaturer mellan 0°C och 50°C.',
124
+ icon: 'mdi:calculator',
125
+ points: ['Vetenskapligt validerad precision', 'Idealisk för inomhusklimat'],
126
+ },
127
+ {
128
+ title: 'Köldbryggor och mögel',
129
+ description: 'Hörn och fönsterkarmar är ofta kalla punkter. Om deras temperatur faller under daggpunkten är mögel oundvikligt.',
130
+ icon: 'mdi:home-thermometer',
131
+ points: ['Hörn är mest utsatta', 'Isolering förebygger kondens'],
132
+ },
133
+ ],
134
+ columns: 2,
135
+ },
136
+ {
137
+ type: 'title',
138
+ text: 'Risknivåer',
139
+ level: 3,
140
+ },
141
+ {
142
+ type: 'paragraph',
143
+ html: '<strong>Låg risk (diff &gt; 5°C):</strong> Dina väggar är säkra. <strong>Medelrisk (3–5°C):</strong> Håll koll på hörn. <strong>Hög risk (1–3°C):</strong> Kondens på rutor trolig — ventilera direkt. <strong>Fara (&lt; 1°C):</strong> Aktiv kondens med risk för svartmögel.',
144
+ },
145
+ {
146
+ type: 'diagnostic',
147
+ variant: 'warning',
148
+ title: 'Gyllene regeln',
149
+ icon: 'mdi:thermometer-alert',
150
+ badge: 'Viktigt råd',
151
+ html: '<p>Om väggtemperaturen är mindre än <strong>3°C från daggpunkten</strong> har du en akut risk för kondens. Ventilera mer och håll fuktigheten mellan 40 % och 60 %.</p>',
152
+ },
153
+ {
154
+ type: 'summary',
155
+ title: 'Så förebygger du kondens',
156
+ items: [
157
+ 'Vädra dagligen, särskilt efter dusch och matlagning.',
158
+ 'Håll den relativa luftfuktigheten mellan 40 % och 60 %.',
159
+ 'Använd köksfläkt vid matlagning.',
160
+ 'Torka inte tvätt inomhus utan god ventilation.',
161
+ 'Isolera väggar för att slippa kalla ytor.',
162
+ ],
163
+ },
164
+ ],
165
+ ui: {
166
+ labelTemperature: 'Rumstemperatur',
167
+ labelHumidity: 'Relativ fuktighet',
168
+ labelDewPoint: 'Daggpunkt',
169
+ riskLow: 'Låg risk',
170
+ riskMedium: 'Medelrisk',
171
+ riskHigh: 'Hög risk',
172
+ riskExtreme: 'Fara',
173
+ riskLowDesc: 'Differens > 5°C. Ytorna är säkra.',
174
+ riskMediumDesc: 'Differens 3–5°C. Kolla hörnen.',
175
+ riskHighDesc: 'Differens 1–3°C. Ventilera genast.',
176
+ riskExtremeDesc: 'Differens < 1°C. Aktiv kondensation.',
177
+ },
178
+ };