@jjlmoya/utils-nature 1.23.0 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/es.ts +1 -1
  3. package/src/category/i18n/fr.ts +110 -110
  4. package/src/category/i18n/it.ts +1 -1
  5. package/src/category/i18n/pl.ts +1 -1
  6. package/src/category/i18n/pt.ts +1 -1
  7. package/src/category/i18n/ru.ts +110 -110
  8. package/src/category/seo.astro +1 -1
  9. package/src/components/PreviewNavSidebar.astro +1 -1
  10. package/src/components/PreviewToolbar.astro +1 -1
  11. package/src/data.ts +1 -1
  12. package/src/env.d.ts +1 -1
  13. package/src/layouts/PreviewLayout.astro +117 -117
  14. package/src/pages/[locale]/[slug].astro +164 -164
  15. package/src/pages/index.astro +1 -1
  16. package/src/tests/category_seo_quality.test.ts +74 -0
  17. package/src/tests/faq_count.test.ts +19 -19
  18. package/src/tests/mocks/astro_mock.js +1 -1
  19. package/src/tests/no_en_dash.test.ts +71 -71
  20. package/src/tests/no_h1_in_components.test.ts +1 -1
  21. package/src/tests/seo_length.test.ts +23 -23
  22. package/src/tests/seo_parity.test.ts +2 -2
  23. package/src/tests/seo_translation_completeness.test.ts +18 -12
  24. package/src/tests/spanish_leakage.test.ts +175 -175
  25. package/src/tool/cricketThermometer/i18n/de.ts +169 -169
  26. package/src/tool/cricketThermometer/i18n/en.ts +169 -169
  27. package/src/tool/cricketThermometer/i18n/es.ts +169 -169
  28. package/src/tool/cricketThermometer/i18n/fr.ts +169 -169
  29. package/src/tool/cricketThermometer/i18n/id.ts +169 -169
  30. package/src/tool/cricketThermometer/i18n/it.ts +169 -169
  31. package/src/tool/cricketThermometer/i18n/ja.ts +169 -169
  32. package/src/tool/cricketThermometer/i18n/ko.ts +169 -169
  33. package/src/tool/cricketThermometer/i18n/nl.ts +169 -169
  34. package/src/tool/cricketThermometer/i18n/pl.ts +169 -169
  35. package/src/tool/cricketThermometer/i18n/pt.ts +169 -169
  36. package/src/tool/cricketThermometer/i18n/ru.ts +169 -169
  37. package/src/tool/cricketThermometer/i18n/sv.ts +169 -169
  38. package/src/tool/cricketThermometer/i18n/tr.ts +169 -169
  39. package/src/tool/cricketThermometer/i18n/zh.ts +169 -169
  40. package/src/tool/cricketThermometer/seo.astro +15 -15
  41. package/src/tool/digitalCarbon/i18n/de.ts +229 -229
  42. package/src/tool/digitalCarbon/i18n/fr.ts +229 -229
  43. package/src/tool/digitalCarbon/i18n/ru.ts +229 -229
  44. package/src/tool/digitalCarbon/seo.astro +15 -15
  45. package/src/tool/rainHarvester/i18n/de.ts +167 -167
  46. package/src/tool/rainHarvester/i18n/en.ts +167 -167
  47. package/src/tool/rainHarvester/i18n/es.ts +167 -167
  48. package/src/tool/rainHarvester/i18n/fr.ts +167 -167
  49. package/src/tool/rainHarvester/i18n/id.ts +167 -167
  50. package/src/tool/rainHarvester/i18n/it.ts +167 -167
  51. package/src/tool/rainHarvester/i18n/ja.ts +167 -167
  52. package/src/tool/rainHarvester/i18n/ko.ts +167 -167
  53. package/src/tool/rainHarvester/i18n/nl.ts +167 -167
  54. package/src/tool/rainHarvester/i18n/pl.ts +167 -167
  55. package/src/tool/rainHarvester/i18n/pt.ts +167 -167
  56. package/src/tool/rainHarvester/i18n/ru.ts +167 -167
  57. package/src/tool/rainHarvester/i18n/sv.ts +167 -167
  58. package/src/tool/rainHarvester/i18n/tr.ts +167 -167
  59. package/src/tool/rainHarvester/i18n/zh.ts +167 -167
  60. package/src/tool/rainHarvester/seo.astro +15 -15
  61. package/src/tool/seedCalculator/i18n/fr.ts +197 -197
  62. package/src/tool/seedCalculator/i18n/pl.ts +197 -197
  63. package/src/tool/seedCalculator/i18n/ru.ts +197 -197
  64. package/src/tool/seedCalculator/seo.astro +15 -15
  65. package/src/types.ts +1 -1
@@ -1,169 +1,169 @@
1
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
- import { bibliography } from '../bibliography';
3
- import type { ToolLocaleContent } from '../../../types';
4
- import type { CricketThermometerUI } from '../ui';
5
-
6
- const slug = 'cricket-thermometer';
7
- const title = 'Cricket Thermometer: Dolbear\'s Law Temperature Calculator';
8
- const description =
9
- 'No thermometer? Listen to the crickets. Calculate the exact temperature by counting chirps with our Dolbear\'s Law calculator.';
10
-
11
- const faqData = [
12
- {
13
- question: 'What is Dolbear\'s Law?',
14
- answer:
15
- 'Formulated in 1897 by Amos Dolbear, it is a scientific observation that discovered a linear correlation between the chirping rate of crickets and the ambient air temperature.',
16
- },
17
- {
18
- question: 'Why do crickets chirp faster in the heat?',
19
- answer:
20
- 'Crickets are cold-blooded animals (ectotherms). The speed of their metabolic processes and muscle contractions depends on external temperature; the warmer it is, the more energy they have to emit sounds rapidly.',
21
- },
22
- {
23
- question: 'Is this measurement accurate?',
24
- answer:
25
- 'It is surprisingly accurate for species like the snow tree cricket (Oecanthus fultoni), with a margin of error of about 0.5°C if counted correctly. However, factors such as humidity or wind can alter the result.',
26
- },
27
- {
28
- question: 'Which cricket should I use for the calculation?',
29
- answer:
30
- 'The original formula is based on the snow tree cricket. For the common field cricket, the relationship is similar but the rate tends to be slightly slower.',
31
- },
32
- ];
33
-
34
- const howToData = [
35
- {
36
- name: 'Find a solitary cricket',
37
- text: 'Find a quiet place at night where you can clearly hear the chirping of a single cricket to avoid confusing the rhythms.',
38
- },
39
- {
40
- name: 'Count chirps for 15 seconds',
41
- text: 'Use a stopwatch and count how many stridulations the insect emits in exactly 15 seconds.',
42
- },
43
- {
44
- name: 'Enter the value',
45
- text: 'Tap the TAP button in rhythm with the chirps for a few seconds so the calculator automatically computes the BPM.',
46
- },
47
- {
48
- name: 'Verify the temperature',
49
- text: 'The system will apply the formula T(°C) = 10 + (N - 40) / 7 to give you an estimate of the ambient heat in degrees Celsius.',
50
- },
51
- ];
52
-
53
- const faqSchema: WithContext<FAQPage> = {
54
- '@context': 'https://schema.org',
55
- '@type': 'FAQPage',
56
- mainEntity: faqData.map((item) => ({
57
- '@type': 'Question',
58
- name: item.question,
59
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
- })),
61
- };
62
-
63
- const howToSchema: WithContext<HowTo> = {
64
- '@context': 'https://schema.org',
65
- '@type': 'HowTo',
66
- name: title,
67
- description,
68
- step: howToData.map((step, i) => ({
69
- '@type': 'HowToStep',
70
- position: i + 1,
71
- name: step.name,
72
- text: step.text,
73
- })),
74
- };
75
-
76
- const appSchema: WithContext<SoftwareApplication> = {
77
- '@context': 'https://schema.org',
78
- '@type': 'SoftwareApplication',
79
- name: title,
80
- description,
81
- applicationCategory: 'UtilityApplication',
82
- operatingSystem: 'All',
83
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
84
- inLanguage: 'en',
85
- };
86
-
87
- export const content: ToolLocaleContent<CricketThermometerUI> = {
88
- slug,
89
- title,
90
- description,
91
- faq: faqData,
92
- bibliography,
93
- howTo: howToData,
94
- schemas: [faqSchema, howToSchema, appSchema],
95
- seo: [
96
- {
97
- type: 'title',
98
- text: 'Complete Guide: How to Use Dolbear\'s Law to Calculate Temperature',
99
- level: 2,
100
- },
101
- {
102
- type: 'paragraph',
103
- html: 'Did you know you can tell the exact temperature just by listening to nature? In 1897, physicist Amos Dolbear discovered a precise mathematical relationship between the rate of cricket chirps and the ambient heat. This tool digitalizes that discovery to turn your phone into a natural thermometer.',
104
- },
105
- {
106
- type: 'tip',
107
- title: 'Why do crickets sing?',
108
- html: '<p>The cricket\'s "song", or <strong>stridulation</strong>, is actually a mating call. Males rub their wings (not their legs) together to create this sound. Fascinatingly, since they are cold-blooded animals (ectotherms), the speed of this rubbing depends directly on the thermal energy of the air.</p>',
109
- },
110
- {
111
- type: 'title',
112
- text: 'The Science: Ectothermy and Metabolism',
113
- level: 3,
114
- },
115
- {
116
- type: 'paragraph',
117
- html: 'Unlike mammals, which maintain a constant body temperature, insects depend on external heat. Their biochemical reactions follow the <strong>Arrhenius Equation</strong>: the more heat, the faster the reaction.',
118
- },
119
- {
120
- type: 'paragraph',
121
- html: 'This means that for the cricket\'s muscles to contract and rub its wings, they need enzymatic reactions. If it\'s cold, these reactions are slow and the chirp is sluggish. If it\'s warm, metabolism speeds up and the song becomes a frantic trill.',
122
- },
123
- {
124
- type: 'title',
125
- text: 'Dolbear\'s Formula',
126
- level: 3,
127
- },
128
- {
129
- type: 'paragraph',
130
- html: 'Although variations exist for different species, the most famous formula is for the snow tree cricket (<em>Oecanthus fultoni</em>). To obtain the temperature in degrees Celsius:',
131
- },
132
- {
133
- type: 'code',
134
- code: 'T(°C) = 10 + (N - 40) / 7\n\nWhere N = number of chirps per minute.',
135
- ariaLabel: 'Dolbear\'s formula for calculating temperature from cricket chirps',
136
- },
137
- {
138
- type: 'paragraph',
139
- html: 'Our tool does this automatically: it measures the time between your taps, calculates chirps per minute (BPM) and applies the formula instantly.',
140
- },
141
- {
142
- type: 'title',
143
- text: 'Fascinating Facts',
144
- level: 3,
145
- },
146
- {
147
- type: 'list',
148
- items: [
149
- '<strong>Thermometers of Love:</strong> Some theories suggest that females prefer males who sing at the "correct" frequency for the current temperature, as it indicates the male is healthy and has a strong metabolism.',
150
- '<strong>Cold Limit:</strong> Below 10°C (50°F), most crickets stop singing because their metabolism is too slow to sustain the muscular effort.',
151
- '<strong>Synchronization:</strong> On warm nights, thousands of crickets can synchronize their chirps, creating an impressive "wave" sound effect.',
152
- ],
153
- },
154
- {
155
- type: 'tip',
156
- title: 'Accuracy Note',
157
- html: '<p>Accuracy depends on the cricket species. This tool is calibrated for the common field cricket and tree cricket. Factors such as humidity or wind can alter the result by ±0.5°C.</p>',
158
- },
159
- ],
160
- ui: {
161
- labelWaiting: 'Waiting...',
162
- labelTapping: 'Keep tapping...',
163
- tapInstruction: 'Every time you hear a chirp',
164
- btnReset: 'Reset',
165
- btnSoundOn: 'Sound: On',
166
- btnSoundOff: 'Sound: Off',
167
- unitChirpsMin: 'chirps/min',
168
- },
169
- };
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import { bibliography } from '../bibliography';
3
+ import type { ToolLocaleContent } from '../../../types';
4
+ import type { CricketThermometerUI } from '../ui';
5
+
6
+ const slug = 'cricket-thermometer';
7
+ const title = 'Cricket Thermometer: Dolbear\'s Law Temperature Calculator';
8
+ const description =
9
+ 'No thermometer? Listen to the crickets. Calculate the exact temperature by counting chirps with our Dolbear\'s Law calculator.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'What is Dolbear\'s Law?',
14
+ answer:
15
+ 'Formulated in 1897 by Amos Dolbear, it is a scientific observation that discovered a linear correlation between the chirping rate of crickets and the ambient air temperature.',
16
+ },
17
+ {
18
+ question: 'Why do crickets chirp faster in the heat?',
19
+ answer:
20
+ 'Crickets are cold-blooded animals (ectotherms). The speed of their metabolic processes and muscle contractions depends on external temperature; the warmer it is, the more energy they have to emit sounds rapidly.',
21
+ },
22
+ {
23
+ question: 'Is this measurement accurate?',
24
+ answer:
25
+ 'It is surprisingly accurate for species like the snow tree cricket (Oecanthus fultoni), with a margin of error of about 0.5°C if counted correctly. However, factors such as humidity or wind can alter the result.',
26
+ },
27
+ {
28
+ question: 'Which cricket should I use for the calculation?',
29
+ answer:
30
+ 'The original formula is based on the snow tree cricket. For the common field cricket, the relationship is similar but the rate tends to be slightly slower.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Find a solitary cricket',
37
+ text: 'Find a quiet place at night where you can clearly hear the chirping of a single cricket to avoid confusing the rhythms.',
38
+ },
39
+ {
40
+ name: 'Count chirps for 15 seconds',
41
+ text: 'Use a stopwatch and count how many stridulations the insect emits in exactly 15 seconds.',
42
+ },
43
+ {
44
+ name: 'Enter the value',
45
+ text: 'Tap the TAP button in rhythm with the chirps for a few seconds so the calculator automatically computes the BPM.',
46
+ },
47
+ {
48
+ name: 'Verify the temperature',
49
+ text: 'The system will apply the formula T(°C) = 10 + (N - 40) / 7 to give you an estimate of the ambient heat in degrees Celsius.',
50
+ },
51
+ ];
52
+
53
+ const faqSchema: WithContext<FAQPage> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'FAQPage',
56
+ mainEntity: faqData.map((item) => ({
57
+ '@type': 'Question',
58
+ name: item.question,
59
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
+ })),
61
+ };
62
+
63
+ const howToSchema: WithContext<HowTo> = {
64
+ '@context': 'https://schema.org',
65
+ '@type': 'HowTo',
66
+ name: title,
67
+ description,
68
+ step: howToData.map((step, i) => ({
69
+ '@type': 'HowToStep',
70
+ position: i + 1,
71
+ name: step.name,
72
+ text: step.text,
73
+ })),
74
+ };
75
+
76
+ const appSchema: WithContext<SoftwareApplication> = {
77
+ '@context': 'https://schema.org',
78
+ '@type': 'SoftwareApplication',
79
+ name: title,
80
+ description,
81
+ applicationCategory: 'UtilityApplication',
82
+ operatingSystem: 'All',
83
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
84
+ inLanguage: 'en',
85
+ };
86
+
87
+ export const content: ToolLocaleContent<CricketThermometerUI> = {
88
+ slug,
89
+ title,
90
+ description,
91
+ faq: faqData,
92
+ bibliography,
93
+ howTo: howToData,
94
+ schemas: [faqSchema, howToSchema, appSchema],
95
+ seo: [
96
+ {
97
+ type: 'title',
98
+ text: 'Complete Guide: How to Use Dolbear\'s Law to Calculate Temperature',
99
+ level: 2,
100
+ },
101
+ {
102
+ type: 'paragraph',
103
+ html: 'Did you know you can tell the exact temperature just by listening to nature? In 1897, physicist Amos Dolbear discovered a precise mathematical relationship between the rate of cricket chirps and the ambient heat. This tool digitalizes that discovery to turn your phone into a natural thermometer.',
104
+ },
105
+ {
106
+ type: 'tip',
107
+ title: 'Why do crickets sing?',
108
+ html: '<p>The cricket\'s "song", or <strong>stridulation</strong>, is actually a mating call. Males rub their wings (not their legs) together to create this sound. Fascinatingly, since they are cold-blooded animals (ectotherms), the speed of this rubbing depends directly on the thermal energy of the air.</p>',
109
+ },
110
+ {
111
+ type: 'title',
112
+ text: 'The Science: Ectothermy and Metabolism',
113
+ level: 3,
114
+ },
115
+ {
116
+ type: 'paragraph',
117
+ html: 'Unlike mammals, which maintain a constant body temperature, insects depend on external heat. Their biochemical reactions follow the <strong>Arrhenius Equation</strong>: the more heat, the faster the reaction.',
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: 'This means that for the cricket\'s muscles to contract and rub its wings, they need enzymatic reactions. If it\'s cold, these reactions are slow and the chirp is sluggish. If it\'s warm, metabolism speeds up and the song becomes a frantic trill.',
122
+ },
123
+ {
124
+ type: 'title',
125
+ text: 'Dolbear\'s Formula',
126
+ level: 3,
127
+ },
128
+ {
129
+ type: 'paragraph',
130
+ html: 'Although variations exist for different species, the most famous formula is for the snow tree cricket (<em>Oecanthus fultoni</em>). To obtain the temperature in degrees Celsius:',
131
+ },
132
+ {
133
+ type: 'code',
134
+ code: 'T(°C) = 10 + (N - 40) / 7\n\nWhere N = number of chirps per minute.',
135
+ ariaLabel: 'Dolbear\'s formula for calculating temperature from cricket chirps',
136
+ },
137
+ {
138
+ type: 'paragraph',
139
+ html: 'Our tool does this automatically: it measures the time between your taps, calculates chirps per minute (BPM) and applies the formula instantly.',
140
+ },
141
+ {
142
+ type: 'title',
143
+ text: 'Fascinating Facts',
144
+ level: 3,
145
+ },
146
+ {
147
+ type: 'list',
148
+ items: [
149
+ '<strong>Thermometers of Love:</strong> Some theories suggest that females prefer males who sing at the "correct" frequency for the current temperature, as it indicates the male is healthy and has a strong metabolism.',
150
+ '<strong>Cold Limit:</strong> Below 10°C (50°F), most crickets stop singing because their metabolism is too slow to sustain the muscular effort.',
151
+ '<strong>Synchronization:</strong> On warm nights, thousands of crickets can synchronize their chirps, creating an impressive "wave" sound effect.',
152
+ ],
153
+ },
154
+ {
155
+ type: 'tip',
156
+ title: 'Accuracy Note',
157
+ html: '<p>Accuracy depends on the cricket species. This tool is calibrated for the common field cricket and tree cricket. Factors such as humidity or wind can alter the result by ±0.5°C.</p>',
158
+ },
159
+ ],
160
+ ui: {
161
+ labelWaiting: 'Waiting...',
162
+ labelTapping: 'Keep tapping...',
163
+ tapInstruction: 'Every time you hear a chirp',
164
+ btnReset: 'Reset',
165
+ btnSoundOn: 'Sound: On',
166
+ btnSoundOff: 'Sound: Off',
167
+ unitChirpsMin: 'chirps/min',
168
+ },
169
+ };