@jjlmoya/utils-chrono 1.9.0 → 1.11.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.
- package/package.json +1 -1
- package/src/category/index.ts +4 -0
- package/src/entries.ts +7 -1
- package/src/tests/locale_completeness.test.ts +1 -1
- package/src/tests/tool_validation.test.ts +1 -1
- package/src/tool/gear-train-explorer/bibliography.astro +16 -0
- package/src/tool/gear-train-explorer/bibliography.ts +12 -0
- package/src/tool/gear-train-explorer/client.ts +146 -0
- package/src/tool/gear-train-explorer/component.astro +17 -0
- package/src/tool/gear-train-explorer/components/GearPanel.astro +102 -0
- package/src/tool/gear-train-explorer/entry.ts +53 -0
- package/src/tool/gear-train-explorer/gear-train-explorer.css +172 -0
- package/src/tool/gear-train-explorer/gears.ts +148 -0
- package/src/tool/gear-train-explorer/helpers.ts +49 -0
- package/src/tool/gear-train-explorer/i18n/de.ts +99 -0
- package/src/tool/gear-train-explorer/i18n/en.ts +98 -0
- package/src/tool/gear-train-explorer/i18n/es.ts +99 -0
- package/src/tool/gear-train-explorer/i18n/fr.ts +99 -0
- package/src/tool/gear-train-explorer/i18n/id.ts +98 -0
- package/src/tool/gear-train-explorer/i18n/it.ts +99 -0
- package/src/tool/gear-train-explorer/i18n/ja.ts +98 -0
- package/src/tool/gear-train-explorer/i18n/ko.ts +98 -0
- package/src/tool/gear-train-explorer/i18n/nl.ts +99 -0
- package/src/tool/gear-train-explorer/i18n/pl.ts +99 -0
- package/src/tool/gear-train-explorer/i18n/pt.ts +99 -0
- package/src/tool/gear-train-explorer/i18n/ru.ts +99 -0
- package/src/tool/gear-train-explorer/i18n/sv.ts +99 -0
- package/src/tool/gear-train-explorer/i18n/tr.ts +98 -0
- package/src/tool/gear-train-explorer/i18n/zh.ts +98 -0
- package/src/tool/gear-train-explorer/index.ts +11 -0
- package/src/tool/gear-train-explorer/movements.ts +61 -0
- package/src/tool/gear-train-explorer/scene.ts +120 -0
- package/src/tool/gear-train-explorer/seo.astro +16 -0
- package/src/tool/gear-train-explorer/state.ts +30 -0
- package/src/tool/sidereal-time-tracker/bibliography.astro +16 -0
- package/src/tool/sidereal-time-tracker/bibliography.ts +16 -0
- package/src/tool/sidereal-time-tracker/client.ts +278 -0
- package/src/tool/sidereal-time-tracker/component.astro +15 -0
- package/src/tool/sidereal-time-tracker/components/SiderealPanel.astro +197 -0
- package/src/tool/sidereal-time-tracker/entry.ts +51 -0
- package/src/tool/sidereal-time-tracker/helpers.ts +80 -0
- package/src/tool/sidereal-time-tracker/i18n/de.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/en.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/es.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/fr.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/id.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/it.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/ja.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/ko.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/nl.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/pl.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/pt.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/ru.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/sv.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/tr.ts +93 -0
- package/src/tool/sidereal-time-tracker/i18n/zh.ts +93 -0
- package/src/tool/sidereal-time-tracker/index.ts +11 -0
- package/src/tool/sidereal-time-tracker/seo.astro +16 -0
- package/src/tool/sidereal-time-tracker/sidereal-time-tracker.css +257 -0
- package/src/tools.ts +4 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
import '../sidereal-time-tracker.css';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
labels: Record<string, string>;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const { labels } = Astro.props;
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<div class="sid-card">
|
|
12
|
+
<div class="sid-grid">
|
|
13
|
+
<div class="sid-dial-container">
|
|
14
|
+
<svg class="sid-svg-clock" viewBox="0 0 400 400" id="sid-watch-dial">
|
|
15
|
+
<circle cx="200" cy="200" r="195" fill="var(--sid-dial-outer-bg)" stroke="var(--sid-gold)" stroke-width="4"></circle>
|
|
16
|
+
<circle cx="200" cy="200" r="180" fill="none" stroke="var(--sid-gold-glow)" stroke-width="1"></circle>
|
|
17
|
+
|
|
18
|
+
<line x1="200" y1="8" x2="200" y2="28" stroke="var(--sid-gold)" stroke-width="1" stroke-dasharray="2 2" opacity="0.6"></line>
|
|
19
|
+
<polygon points="200,28 197,22 203,22" fill="var(--sid-gold)" opacity="0.8"></polygon>
|
|
20
|
+
<text x="200" y="16" fill="var(--sid-gold)" font-size="5" font-family="Outfit" font-weight="700" letter-spacing="0.5" text-anchor="middle" opacity="0.8">MERIDIAN</text>
|
|
21
|
+
|
|
22
|
+
<g class="sid-sky-sphere" id="sid-celestial-sphere">
|
|
23
|
+
<circle cx="200" cy="200" r="160" fill="var(--sid-dial-inner-bg)"></circle>
|
|
24
|
+
|
|
25
|
+
<g id="sid-constellations-north">
|
|
26
|
+
<line class="sid-constellation" x1="160" y1="120" x2="180" y2="100"></line>
|
|
27
|
+
<line class="sid-constellation" x1="180" y1="100" x2="205" y2="90"></line>
|
|
28
|
+
<line class="sid-constellation" x1="205" y1="90" x2="225" y2="105"></line>
|
|
29
|
+
<line class="sid-constellation" x1="225" y1="105" x2="215" y2="135"></line>
|
|
30
|
+
<line class="sid-constellation" x1="215" y1="135" x2="190" y2="140"></line>
|
|
31
|
+
<line class="sid-constellation" x1="190" y1="140" x2="160" y2="120"></line>
|
|
32
|
+
|
|
33
|
+
<line class="sid-constellation" x1="90" y1="210" x2="120" y2="190"></line>
|
|
34
|
+
<line class="sid-constellation" x1="120" y1="190" x2="130" y2="160"></line>
|
|
35
|
+
<line class="sid-constellation" x1="130" y1="160" x2="110" y2="140"></line>
|
|
36
|
+
|
|
37
|
+
<line class="sid-constellation" x1="270" y1="230" x2="290" y2="260"></line>
|
|
38
|
+
<line class="sid-constellation" x1="290" y1="260" x2="320" y2="250"></line>
|
|
39
|
+
<line class="sid-constellation" x1="320" y1="250" x2="310" y2="220"></line>
|
|
40
|
+
<line class="sid-constellation" x1="310" y1="220" x2="270" y2="230"></line>
|
|
41
|
+
|
|
42
|
+
<circle class="sid-star-blink" cx="160" cy="120" r="3" fill="var(--sid-star)"></circle>
|
|
43
|
+
<circle class="sid-star-blink" cx="180" cy="100" r="2.5" fill="var(--sid-gold)"></circle>
|
|
44
|
+
<circle class="sid-star-blink" cx="205" cy="90" r="4" fill="var(--sid-star)"></circle>
|
|
45
|
+
<circle class="sid-star-blink" cx="225" cy="105" r="2" fill="var(--sid-star)"></circle>
|
|
46
|
+
<circle class="sid-star-blink" cx="215" cy="135" r="3" fill="var(--sid-star)"></circle>
|
|
47
|
+
<circle class="sid-star-blink" cx="190" cy="140" r="2" fill="var(--sid-star)"></circle>
|
|
48
|
+
|
|
49
|
+
<circle class="sid-star-blink" cx="90" cy="210" r="3.5" fill="var(--sid-star)"></circle>
|
|
50
|
+
<circle class="sid-star-blink" cx="120" cy="190" r="2.5" fill="var(--sid-star)"></circle>
|
|
51
|
+
<circle class="sid-star-blink" cx="130" cy="160" r="3.5" fill="var(--sid-gold)"></circle>
|
|
52
|
+
<circle class="sid-star-blink" cx="110" cy="140" r="2" fill="var(--sid-star)"></circle>
|
|
53
|
+
|
|
54
|
+
<circle class="sid-star-blink" cx="270" cy="230" r="3" fill="var(--sid-star)"></circle>
|
|
55
|
+
<circle class="sid-star-blink" cx="290" cy="260" r="2" fill="var(--sid-star)"></circle>
|
|
56
|
+
<circle class="sid-star-blink" cx="320" cy="250" r="3.5" fill="var(--sid-star)"></circle>
|
|
57
|
+
<circle class="sid-star-blink" cx="310" cy="220" r="4" fill="var(--sid-gold)"></circle>
|
|
58
|
+
|
|
59
|
+
<text x="205" y="80" fill="var(--sid-sky-text)" font-size="7" text-anchor="middle">URSA MAJOR</text>
|
|
60
|
+
<text x="110" y="225" fill="var(--sid-sky-text)" font-size="7" text-anchor="middle">CASSIOPEIA</text>
|
|
61
|
+
<text x="305" y="210" fill="var(--sid-sky-text)" font-size="7" text-anchor="middle">CYGNUS</text>
|
|
62
|
+
</g>
|
|
63
|
+
|
|
64
|
+
<g id="sid-constellations-south" style="display: none;">
|
|
65
|
+
<line class="sid-constellation" x1="200" y1="90" x2="200" y2="150"></line>
|
|
66
|
+
<line class="sid-constellation" x1="170" y1="120" x2="230" y2="125"></line>
|
|
67
|
+
<circle class="sid-star-blink" cx="200" cy="90" r="3.5" fill="var(--sid-star)"></circle>
|
|
68
|
+
<circle class="sid-star-blink" cx="200" cy="150" r="4" fill="var(--sid-gold)"></circle>
|
|
69
|
+
<circle class="sid-star-blink" cx="170" cy="120" r="3.5" fill="var(--sid-star)"></circle>
|
|
70
|
+
<circle class="sid-star-blink" cx="230" cy="125" r="3" fill="var(--sid-star)"></circle>
|
|
71
|
+
<circle class="sid-star-blink" cx="215" cy="138" r="2" fill="var(--sid-star)"></circle>
|
|
72
|
+
|
|
73
|
+
<line class="sid-constellation" x1="270" y1="120" x2="310" y2="140"></line>
|
|
74
|
+
<circle class="sid-star-blink" cx="270" cy="120" r="4.5" fill="var(--sid-gold)"></circle>
|
|
75
|
+
<circle class="sid-star-blink" cx="310" cy="140" r="4" fill="var(--sid-star)"></circle>
|
|
76
|
+
|
|
77
|
+
<line class="sid-constellation" x1="100" y1="110" x2="120" y2="80"></line>
|
|
78
|
+
<line class="sid-constellation" x1="120" y1="80" x2="140" y2="100"></line>
|
|
79
|
+
<circle class="sid-star-blink" cx="100" cy="110" r="5" fill="var(--sid-gold)"></circle>
|
|
80
|
+
<circle class="sid-star-blink" cx="120" cy="80" r="3" fill="var(--sid-star)"></circle>
|
|
81
|
+
<circle class="sid-star-blink" cx="140" cy="100" r="2.5" fill="var(--sid-star)"></circle>
|
|
82
|
+
|
|
83
|
+
<text x="200" y="75" fill="var(--sid-sky-text)" font-size="7" text-anchor="middle">CRUX</text>
|
|
84
|
+
<text x="290" y="110" fill="var(--sid-sky-text)" font-size="7" text-anchor="middle">CENTAURUS</text>
|
|
85
|
+
<text x="100" y="125" fill="var(--sid-sky-text)" font-size="7" text-anchor="middle">CARINA</text>
|
|
86
|
+
</g>
|
|
87
|
+
</g>
|
|
88
|
+
|
|
89
|
+
<g fill="var(--sid-gold)" font-size="10" font-family="Outfit" font-weight="600" text-anchor="middle">
|
|
90
|
+
<text x="200" y="42">XXIV</text>
|
|
91
|
+
<text x="280" y="62">II</text>
|
|
92
|
+
<text x="338" y="120">IV</text>
|
|
93
|
+
<text x="358" y="204">VI</text>
|
|
94
|
+
<text x="338" y="288">VIII</text>
|
|
95
|
+
<text x="280" y="346">X</text>
|
|
96
|
+
<text x="200" y="366">XII</text>
|
|
97
|
+
<text x="120" y="346">XIV</text>
|
|
98
|
+
<text x="62" y="288">XVI</text>
|
|
99
|
+
<text x="42" y="204">XVIII</text>
|
|
100
|
+
<text x="62" y="120">XX</text>
|
|
101
|
+
<text x="120" y="62">XXII</text>
|
|
102
|
+
</g>
|
|
103
|
+
|
|
104
|
+
<g fill="var(--sid-indigo)" font-size="11" font-family="Outfit" text-anchor="middle" opacity="0.6">
|
|
105
|
+
<text x="200" y="70">12</text>
|
|
106
|
+
<text x="330" y="204">3</text>
|
|
107
|
+
<text x="200" y="334">6</text>
|
|
108
|
+
<text x="70" y="204">9</text>
|
|
109
|
+
</g>
|
|
110
|
+
|
|
111
|
+
<line class="sid-hand-solar" id="sid-hand-solar-hour" x1="200" y1="200" x2="200" y2="110" stroke-width="5" stroke-linecap="round"></line>
|
|
112
|
+
<line class="sid-hand-solar" id="sid-hand-solar-min" x1="200" y1="200" x2="200" y2="80" stroke-width="3" stroke-linecap="round"></line>
|
|
113
|
+
|
|
114
|
+
<g class="sid-hand-sidereal" id="sid-hand-sid-hour">
|
|
115
|
+
<line x1="200" y1="200" x2="200" y2="60" stroke="var(--sid-gold)" stroke-width="2.5" stroke-linecap="round"></line>
|
|
116
|
+
<polygon points="200,48 195,60 205,60" fill="var(--sid-gold)"></polygon>
|
|
117
|
+
</g>
|
|
118
|
+
|
|
119
|
+
<line x1="200" y1="200" x2="200" y2="52" stroke="var(--sid-second-hand)" stroke-width="1.5" id="sid-hand-sec" style="transform-origin: 200px 200px; transition: transform 0.1s linear;"></line>
|
|
120
|
+
<circle cx="200" cy="200" r="6" fill="var(--sid-gold)"></circle>
|
|
121
|
+
<circle cx="200" cy="200" r="2" fill="var(--sid-black)"></circle>
|
|
122
|
+
</svg>
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
<div class="sid-controls-column">
|
|
126
|
+
<div class="sid-card-panel">
|
|
127
|
+
<div class="sid-readout-row">
|
|
128
|
+
<span class="sid-readout-label">{labels.solarTimeLabel}</span>
|
|
129
|
+
<span class="sid-readout-value" id="sid-val-solar">00:00:00</span>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="sid-readout-row">
|
|
132
|
+
<span class="sid-readout-label">{labels.siderealTimeLabel}</span>
|
|
133
|
+
<span class="sid-readout-value sid-gold-text" id="sid-val-sidereal">00:00:00</span>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="sid-readout-row">
|
|
136
|
+
<span class="sid-readout-label">{labels.differenceLabel}</span>
|
|
137
|
+
<span class="sid-readout-value" id="sid-val-drift">0m 00s</span>
|
|
138
|
+
</div>
|
|
139
|
+
<div class="sid-readout-row">
|
|
140
|
+
<span class="sid-readout-label">Julian Date</span>
|
|
141
|
+
<span class="sid-readout-value" id="sid-val-julian" style="font-size: 1rem;">0.0</span>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
|
|
145
|
+
<div class="sid-card-panel">
|
|
146
|
+
<div class="sid-control-group">
|
|
147
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem;">
|
|
148
|
+
<label class="sid-label" for="sid-input-longitude" style="margin-bottom: 0;">
|
|
149
|
+
{labels.longitudeLabel}: <span id="sid-label-longitude-val">0.0°</span>
|
|
150
|
+
</label>
|
|
151
|
+
<button type="button" class="sid-btn-location" id="sid-btn-locate" title={labels.useLocationBtn}>
|
|
152
|
+
<svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor"><path d="M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h-2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"/></svg>
|
|
153
|
+
</button>
|
|
154
|
+
</div>
|
|
155
|
+
<input type="range" class="sid-slider" id="sid-input-longitude" min="-180" max="180" step="0.1" value="0.0" />
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
<div class="sid-control-group">
|
|
159
|
+
<label class="sid-label">{labels.longitudeFormatLabel}</label>
|
|
160
|
+
<div class="sid-speed-btn-row">
|
|
161
|
+
<button type="button" class="sid-btn-toggle active" id="sid-btn-format-decimal" data-format="decimal">{labels.longitudeFormatDecimal}</button>
|
|
162
|
+
<button type="button" class="sid-btn-toggle" id="sid-btn-format-dms" data-format="dms">{labels.longitudeFormatDMS}</button>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
|
|
166
|
+
<div class="sid-control-group">
|
|
167
|
+
<label class="sid-label">{labels.hemisphereLabel}</label>
|
|
168
|
+
<div class="sid-speed-btn-row">
|
|
169
|
+
<button type="button" class="sid-btn-toggle active" id="sid-btn-hem-north" data-hem="N">{labels.hemisphereNorth}</button>
|
|
170
|
+
<button type="button" class="sid-btn-toggle" id="sid-btn-hem-south" data-hem="S">{labels.hemisphereSouth}</button>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
<div class="sid-control-group">
|
|
175
|
+
<label class="sid-label">{labels.speedLabel}</label>
|
|
176
|
+
<div class="sid-speed-btn-row">
|
|
177
|
+
<button type="button" class="sid-btn-toggle active" id="sid-btn-speed-1" data-speed="1">{labels.speedNormal}</button>
|
|
178
|
+
<button type="button" class="sid-btn-toggle" id="sid-btn-speed-100" data-speed="200">{labels.speedFast}</button>
|
|
179
|
+
<button type="button" class="sid-btn-toggle" id="sid-btn-speed-10000" data-speed="5000">{labels.speedVeryFast}</button>
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
|
|
183
|
+
<div class="sid-control-group" style="margin-top: 1.5rem; display: flex; justify-content: space-between; align-items: center;">
|
|
184
|
+
<span class="sid-label" style="margin-bottom: 0;">{labels.audioToggleLabel}</span>
|
|
185
|
+
<button type="button" class="sid-btn-toggle" id="sid-btn-audio">OFF</button>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
|
|
189
|
+
<div class="sid-tip-box">
|
|
190
|
+
<div class="sid-tip-title">{labels.tipTitle}</div>
|
|
191
|
+
<div>{labels.step1}</div>
|
|
192
|
+
<div style="margin-top: 0.25rem;">{labels.step2}</div>
|
|
193
|
+
<div style="margin-top: 0.25rem;">{labels.step3}</div>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
</div>
|
|
197
|
+
</div>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ChronoToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export type SiderealTimeTrackerUI = {
|
|
4
|
+
title: string;
|
|
5
|
+
longitudeLabel: string;
|
|
6
|
+
solarTimeLabel: string;
|
|
7
|
+
siderealTimeLabel: string;
|
|
8
|
+
differenceLabel: string;
|
|
9
|
+
utcLabel: string;
|
|
10
|
+
speedLabel: string;
|
|
11
|
+
speedNormal: string;
|
|
12
|
+
speedFast: string;
|
|
13
|
+
speedVeryFast: string;
|
|
14
|
+
audioToggleLabel: string;
|
|
15
|
+
step1: string;
|
|
16
|
+
step2: string;
|
|
17
|
+
step3: string;
|
|
18
|
+
tipTitle: string;
|
|
19
|
+
tipContent: string;
|
|
20
|
+
useLocationBtn: string;
|
|
21
|
+
hemisphereLabel: string;
|
|
22
|
+
hemisphereNorth: string;
|
|
23
|
+
hemisphereSouth: string;
|
|
24
|
+
longitudeFormatLabel: string;
|
|
25
|
+
longitudeFormatDecimal: string;
|
|
26
|
+
longitudeFormatDMS: string;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export type SiderealTimeTrackerLocaleContent = ToolLocaleContent<SiderealTimeTrackerUI>;
|
|
30
|
+
|
|
31
|
+
export const siderealTimeTracker: ChronoToolEntry<SiderealTimeTrackerUI> = {
|
|
32
|
+
id: 'sidereal-time-tracker',
|
|
33
|
+
icons: { bg: 'mdi:orbit', fg: 'mdi:creation-outline' },
|
|
34
|
+
i18n: {
|
|
35
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
36
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
37
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
38
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
39
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
40
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
41
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
42
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
43
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
44
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
45
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
46
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
47
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
48
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
49
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
50
|
+
},
|
|
51
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { WithContext, Thing } from 'schema-dts';
|
|
2
|
+
import type { FAQItem, HowToStep } from '../../types';
|
|
3
|
+
|
|
4
|
+
export function getJulianDate(date: Date): number {
|
|
5
|
+
return (date.getTime() / 86400000) + 2440587.5;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function getGMST(date: Date): number {
|
|
9
|
+
const jd = getJulianDate(date);
|
|
10
|
+
const d = jd - 2451545.0;
|
|
11
|
+
let gmst = (18.697374558 + 24.06570982441908 * d) % 24;
|
|
12
|
+
if (gmst < 0) {
|
|
13
|
+
gmst += 24;
|
|
14
|
+
}
|
|
15
|
+
return gmst;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function getLST(date: Date, longitude: number): number {
|
|
19
|
+
const gmst = getGMST(date);
|
|
20
|
+
const longitudeHours = longitude / 15;
|
|
21
|
+
let lst = (gmst + longitudeHours) % 24;
|
|
22
|
+
if (lst < 0) {
|
|
23
|
+
lst += 24;
|
|
24
|
+
}
|
|
25
|
+
return lst;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function formatHours(hours: number): string {
|
|
29
|
+
const h = Math.floor(hours);
|
|
30
|
+
const m = Math.floor((hours * 60) % 60);
|
|
31
|
+
const s = Math.floor((hours * 3600) % 60);
|
|
32
|
+
return `${h.toString().padStart(2, '0')}:${m.toString().padStart(2, '0')}:${s.toString().padStart(2, '0')}`;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function buildFAQ(faq: FAQItem[]): WithContext<Thing> {
|
|
36
|
+
return {
|
|
37
|
+
'@context': 'https://schema.org',
|
|
38
|
+
'@type': 'FAQPage',
|
|
39
|
+
'mainEntity': faq.map((f) => ({
|
|
40
|
+
'@type': 'Question',
|
|
41
|
+
'name': f.question,
|
|
42
|
+
'acceptedAnswer': {
|
|
43
|
+
'@type': 'Answer',
|
|
44
|
+
'text': f.answer,
|
|
45
|
+
},
|
|
46
|
+
})),
|
|
47
|
+
} as unknown as WithContext<Thing>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function buildApp(title: string): WithContext<Thing> {
|
|
51
|
+
return {
|
|
52
|
+
'@context': 'https://schema.org',
|
|
53
|
+
'@type': 'SoftwareApplication',
|
|
54
|
+
'name': title,
|
|
55
|
+
'operatingSystem': 'All',
|
|
56
|
+
'applicationCategory': 'UtilitiesApplication',
|
|
57
|
+
'browserRequirements': 'Requires HTML5. Requires JavaScript.',
|
|
58
|
+
} as unknown as WithContext<Thing>;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function buildHowTo(title: string, howTo: HowToStep[]): WithContext<Thing> {
|
|
62
|
+
return {
|
|
63
|
+
'@context': 'https://schema.org',
|
|
64
|
+
'@type': 'HowTo',
|
|
65
|
+
'name': title,
|
|
66
|
+
'step': howTo.map((h) => ({
|
|
67
|
+
'@type': 'HowToStep',
|
|
68
|
+
'name': h.name,
|
|
69
|
+
'text': h.text,
|
|
70
|
+
})),
|
|
71
|
+
} as unknown as WithContext<Thing>;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function buildSchemas(
|
|
75
|
+
title: string,
|
|
76
|
+
faq: FAQItem[],
|
|
77
|
+
howTo: HowToStep[]
|
|
78
|
+
): WithContext<Thing>[] {
|
|
79
|
+
return [buildFAQ(faq), buildApp(title), buildHowTo(title, howTo)];
|
|
80
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { SiderealTimeTrackerUI } from '../entry';
|
|
3
|
+
import { bibliography } from '../bibliography';
|
|
4
|
+
import { buildSchemas } from '../helpers';
|
|
5
|
+
|
|
6
|
+
const faq = [
|
|
7
|
+
{
|
|
8
|
+
question: 'Was ist der Unterschied zwischen Sonnenzeit und siderischer Zeit?',
|
|
9
|
+
answer: 'Die Sonnenzeit basiert auf der Position der Sonne relativ zum lokalen Meridian (dauert 24 Stunden), während die siderische Zeit auf der Erdrotation relativ zu fernen Hintergrundsternen basiert (dauert 23 Stunden, 56 Minuten, 4,09 Sekunden).',
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
question: 'Warum ist ein siderischer Tag kürzer als ein Sonnentag?',
|
|
13
|
+
answer: 'Während die Erde sich um ihre Achse dreht, wandert sie auch auf ihrer Umlaufbahn um die Sonne. Um der Sonne wieder zugewandt zu sein, muss sich die Erde etwas mehr als 360 Grad drehen, was im Vergleich zu einer rein sternenbezogenen Rotation etwa 3 Minuten und 56 Sekunden mehr braucht.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Wie beeinflusst die Länge die lokale siderische Zeit?',
|
|
17
|
+
answer: 'Die lokale siderische Zeit wird berechnet, indem die Länge des Beobachters (umgerechnet in Stunden: 15 Grad pro Stunde) zur Greenwich Mean Sidereal Time (GMST) addiert wird. Jeder Grad nach Osten fügt 4 Minuten zur lokalen siderischen Uhr hinzu.',
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
const howTo = [
|
|
22
|
+
{
|
|
23
|
+
name: 'Referenzlänge einstellen',
|
|
24
|
+
text: 'Passen Sie den Schieberegler auf Ihre lokale Länge an. Dadurch wird die 24-Stunden-Skala auf Ihren lokalen Meridian ausgerichtet.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'Sonnen- und Sternzeiger beobachten',
|
|
28
|
+
text: 'Betrachten Sie das Zifferblatt: Normale Sonnenzeiger zeigen die UTC-Zeit auf der inneren 12-Stunden-Skala an, während der goldene Zeiger und die Sterne die siderische Zeit auf der äußeren 24-Stunden-Skala anzeigen.',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'Geschwindigkeit erhöhen',
|
|
32
|
+
text: 'Klicken Sie auf 200× oder 5000× Geschwindigkeitsmultiplikator, um die Drehung des Sternhimmels zu beobachten und die Drift in Echtzeit wachsen zu sehen.',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const title = 'Astronomischer Siderischer Zeitmesser: Lokale Sternzeituhr';
|
|
37
|
+
|
|
38
|
+
export const content: ToolLocaleContent<SiderealTimeTrackerUI> = {
|
|
39
|
+
slug: 'astronomischer-siderischer-zeitmesser',
|
|
40
|
+
title,
|
|
41
|
+
description: 'Verfolgen Sie die Greenwich Mean Sidereal Time (GMST) und die lokale siderische Zeit (LST) mit einem künstlerischen astronomischen Astrolabium-Zifferblatt und einem Echtzeit-Sterndriftsimulator.',
|
|
42
|
+
ui: {
|
|
43
|
+
title: 'Astronomischer Siderischer Zeitmesser',
|
|
44
|
+
longitudeLabel: 'Beobachterlänge',
|
|
45
|
+
solarTimeLabel: 'Koordinierte Weltzeit (UTC)',
|
|
46
|
+
siderealTimeLabel: 'Lokale Siderische Zeit (LST)',
|
|
47
|
+
differenceLabel: 'Stern-Sonnen-Drift',
|
|
48
|
+
utcLabel: 'UTC Datum/Uhrzeit',
|
|
49
|
+
speedLabel: 'Geschwindigkeit',
|
|
50
|
+
speedNormal: '1× (Echtzeit)',
|
|
51
|
+
speedFast: '200× (Zeitraffer)',
|
|
52
|
+
speedVeryFast: '5000× (Drift)',
|
|
53
|
+
audioToggleLabel: 'Kosmische Klangtöne',
|
|
54
|
+
step1: 'Passen Sie Ihre lokale Länge an, um die Verschiebung der lokalen siderischen Zeit in Echtzeit zu sehen.',
|
|
55
|
+
step2: 'Schalten Sie den Geschwindigkeitsmultiplikator um, um die Drift des Sonnenzeigers und der Sternsphäre zu beobachten.',
|
|
56
|
+
step3: 'Aktivieren Sie die kosmischen Klangtöne, um den Unterschied zwischen einem normalen Ticken und einer astronomischen Stunde zu hören.',
|
|
57
|
+
tipTitle: 'Astronomische Drift',
|
|
58
|
+
tipContent: 'Weil die Erde die Sonne umkreist, hinken normale Sonnenuhren der siderischen Zeit um 3 Minuten und 56 Sekunden pro Tag hinterher und driften über ein ganzes Jahr um genau 24 Stunden.',
|
|
59
|
+
useLocationBtn: 'Aktuellen Standort verwenden',
|
|
60
|
+
hemisphereLabel: 'Sternhalbkugel',
|
|
61
|
+
hemisphereNorth: 'Nord (Großer Bär)',
|
|
62
|
+
hemisphereSouth: 'Süd (Kreuz)',
|
|
63
|
+
longitudeFormatLabel: 'Längenformat',
|
|
64
|
+
longitudeFormatDecimal: 'Dezimalgrad',
|
|
65
|
+
longitudeFormatDMS: 'Grad/Minuten',
|
|
66
|
+
},
|
|
67
|
+
seo: [
|
|
68
|
+
{ type: 'title', text: 'Was ist siderische Zeit?', level: 2 },
|
|
69
|
+
{ type: 'paragraph', html: 'Siderische Zeit ist ein Zeitmesssystem, das Astronomen verwenden, um Himmelsobjekte zu lokalisieren. Ein siderischer Tag dauert ungefähr 23 Stunden, 56 Minuten und 4,09 Sekunden. Es ist die Zeit, die die Erde für eine vollständige Drehung um ihre Achse relativ zur Tagundnachtgleiche oder zu den fernen Sternen benötigt, nicht zur Sonne.' },
|
|
70
|
+
{ type: 'title', text: 'Sonnentag vs. Siderischer Tag', level: 3 },
|
|
71
|
+
{ type: 'paragraph', html: 'Ein Sonnentag misst die Zeit zwischen aufeinanderfolgenden Durchgängen der Sonne durch den lokalen Meridian. Weil die Erde täglich etwa 1/365 ihrer Umlaufbahn um die Sonne zurücklegt, muss sie sich etwas mehr als 360 Grad drehen, um sich wieder an der Sonne auszurichten. Ein siderischer Tag ist eine echte 360-Grad-Drehung relativ zu den Sternen und ist daher 3 Minuten und 56 Sekunden kürzer.' },
|
|
72
|
+
{ type: 'title', text: 'Warum Astronomen und Uhrmacher sich dafür interessieren', level: 3 },
|
|
73
|
+
{ type: 'paragraph', html: 'Für Astronomen steht ein Stern zur gleichen siderischen Zeit immer an derselben Position am Himmel. Um Sterne zu verfolgen, müssen Teleskopmontierungen genau einmal pro siderischem Tag rotieren. Hochwertige Uhrenmarken (wie Patek Philippe, Vacheron Constantin und IWC) schaffen extrem komplizierte astronomische Uhren mit siderischen Räderwerken, die die LST direkt am Handgelenk anzeigen.' },
|
|
74
|
+
{ type: 'title', text: 'Stern und Sonnendrift Referenztabelle', level: 3 },
|
|
75
|
+
{
|
|
76
|
+
type: 'table', headers: ['Vergangene Tage', 'Siderische Zeit voraus', 'Grad der Rotationsverschiebung', 'Sternbild-Drift'], rows: [
|
|
77
|
+
['1 Tag', '3m 56s', '0,986°', 'Leichte Westverschiebung'],
|
|
78
|
+
['15 Tage', '59m 0s', '14,79°', 'Halbe Tierkreiszeichen-Verschiebung'],
|
|
79
|
+
['30 Tage', '1h 58m', '29,58°', 'Eine ganze Tierkreiszeichen-Verschiebung'],
|
|
80
|
+
['90 Tage', '5h 54m', '88,74°', 'Eine ganze Jahreszeit-Verschiebung'],
|
|
81
|
+
['180 Tage', '11h 48m', '177,48°', 'Gegenüberliegende Sternbilder um Mitternacht sichtbar'],
|
|
82
|
+
['365 Tage', '24h 0m', '360,00°', 'Kompletter Zyklus, Sternausrichtung zurückgesetzt'],
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
{ type: 'diagnostic', variant: 'info', title: 'Berechnet aus der J2000 Epoche', icon: 'mdi:creation-outline', badge: 'BERECHNUNG', html: 'Die lokale siderische Zeit wird berechnet, indem die UTC-Zeit in das julianische Datum (Tage seit -4712) umgewandelt wird, die Greenwich Mean Sidereal Time ermittelt wird und Ihre Länge (15 Grad pro Stunde) angewendet wird. Unser Tool verwendet das hochpräzise IAU J2000 lineare Modell für die Echtzeitverfolgung.' },
|
|
86
|
+
],
|
|
87
|
+
faq,
|
|
88
|
+
bibliography,
|
|
89
|
+
howTo,
|
|
90
|
+
schemas: [],
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
content.schemas = buildSchemas(title, faq, howTo);
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { SiderealTimeTrackerUI } from '../entry';
|
|
3
|
+
import { bibliography } from '../bibliography';
|
|
4
|
+
import { buildSchemas } from '../helpers';
|
|
5
|
+
|
|
6
|
+
const faq = [
|
|
7
|
+
{
|
|
8
|
+
question: 'What is the difference between solar time and sidereal time?',
|
|
9
|
+
answer: 'Solar time is based on the Sun\'s position relative to the local meridian (takes 24 hours), whereas sidereal time is based on the Earth\'s rotation relative to distant background stars (takes 23 hours, 56 minutes, 4.09 seconds).',
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
question: 'Why is a sidereal day shorter than a solar day?',
|
|
13
|
+
answer: 'As the Earth rotates on its axis, it also travels along its orbit around the Sun. To face the Sun again, the Earth has to rotate slightly more than 360 degrees, which adds about 3 minutes and 56 seconds to the day compared to a simple star-aligned rotation.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'How does longitude affect local sidereal time?',
|
|
17
|
+
answer: 'Local Sidereal Time is calculated by adding the observer\'s longitude (converted to hours: 15 degrees per hour) to Greenwich Mean Sidereal Time (GMST). Every degree east adds 4 minutes to your local sidereal clock.',
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
const howTo = [
|
|
22
|
+
{
|
|
23
|
+
name: 'Set your reference longitude',
|
|
24
|
+
text: 'Adjust the slider to your local longitude. This aligns the 24-hour sidereal scale to your local meridian.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'Observe the solar and sidereal hour hands',
|
|
28
|
+
text: 'Look at the timepiece: standard solar hands show UTC time on the inner 12-hour dial, while the gold hand and stars show Sidereal time on the outer 24-hour scale.',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'Accelerate the celestial rate',
|
|
32
|
+
text: 'Click 200x or 5000x speed multipliers to watch the stellar background sphere rotate and see the drift accumulate in real-time.',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const title = 'Astronomical Sidereal Time Tracker: Local Sidereal Time Clock';
|
|
37
|
+
|
|
38
|
+
export const content: ToolLocaleContent<SiderealTimeTrackerUI> = {
|
|
39
|
+
slug: 'sidereal-time-tracker',
|
|
40
|
+
title,
|
|
41
|
+
description: 'Track Greenwich Mean Sidereal Time (GMST) and Local Sidereal Time (LST) with an artistic astronomical astrolabe watch face and real-time stellar drift simulator.',
|
|
42
|
+
ui: {
|
|
43
|
+
title: 'Astronomical Sidereal Time Tracker',
|
|
44
|
+
longitudeLabel: 'Observer Longitude',
|
|
45
|
+
solarTimeLabel: 'Coordinated Universal Time (UTC)',
|
|
46
|
+
siderealTimeLabel: 'Local Sidereal Time (LST)',
|
|
47
|
+
differenceLabel: 'Stellar-Solar Drift',
|
|
48
|
+
utcLabel: 'UTC Date/Time',
|
|
49
|
+
speedLabel: 'Celestial Speed Rate',
|
|
50
|
+
speedNormal: '1x (Real-time)',
|
|
51
|
+
speedFast: '200x (Time-lapse)',
|
|
52
|
+
speedVeryFast: '5000x (Drift)',
|
|
53
|
+
audioToggleLabel: 'Cosmic Chime Ticks',
|
|
54
|
+
step1: 'Adjust your local Longitude to see Local Sidereal Time shift in real-time.',
|
|
55
|
+
step2: 'Toggle the speed multiplier to watch the standard solar hour hand and the sidereal star sphere drift.',
|
|
56
|
+
step3: 'Enable Cosmic Chimes to hear the difference between a standard tick and an astronomical hour crossing.',
|
|
57
|
+
tipTitle: 'Astronomical Drift',
|
|
58
|
+
tipContent: 'Because the Earth orbits the Sun, standard solar clocks lag behind sidereal time by 3 minutes and 56 seconds per day, drifting exactly 24 hours over the course of a full year.',
|
|
59
|
+
useLocationBtn: 'Use Current Location',
|
|
60
|
+
hemisphereLabel: 'Stellar Hemisphere',
|
|
61
|
+
hemisphereNorth: 'North (Ursa Major)',
|
|
62
|
+
hemisphereSouth: 'South (Crux)',
|
|
63
|
+
longitudeFormatLabel: 'Longitude Format',
|
|
64
|
+
longitudeFormatDecimal: 'Decimal Degrees',
|
|
65
|
+
longitudeFormatDMS: 'Degrees/Minutes',
|
|
66
|
+
},
|
|
67
|
+
seo: [
|
|
68
|
+
{ type: 'title', text: 'What is Sidereal Time?', level: 2 },
|
|
69
|
+
{ type: 'paragraph', html: 'Sidereal time is a timekeeping system astronomers use to locate celestial objects. A sidereal day is approximately 23 hours, 56 minutes, and 4.09 seconds. It is the time it takes the Earth to make one complete rotation on its axis relative to the vernal equinox or the distant stars, rather than the Sun.' },
|
|
70
|
+
{ type: 'title', text: 'Solar Day vs. Sidereal Day', level: 3 },
|
|
71
|
+
{ type: 'paragraph', html: 'A solar day measures the time between consecutive transits of the Sun across the local meridian. Because the Earth travels about 1/365th of its orbital path around the Sun each day, it must rotate slightly more than 360 degrees to realign with the Sun. A sidereal day is a true 360-degree rotation relative to the stars, making it 3 minutes and 56 seconds shorter.' },
|
|
72
|
+
{ type: 'title', text: 'Why Astronomers and Watchmakers Care', level: 3 },
|
|
73
|
+
{ type: 'paragraph', html: 'For astronomers, a star is always at the same position in the sky at the same Sidereal Time. To track stars, telescope mounts must rotate exactly once per sidereal day. High-end watchmaking brands (like Patek Philippe, Vacheron Constantin, and IWC) create ultra-complicated astronomical watches featuring sidereal gear trains to track LST directly on the wrist.' },
|
|
74
|
+
{ type: 'title', text: 'Stellar vs. Solar Drift Reference Table', level: 3 },
|
|
75
|
+
{
|
|
76
|
+
type: 'table', headers: ['Elapsed Days', 'Sidereal Time Ahead By', 'Degrees of Rotation Shift', 'Stellar Constellation Drift'], rows: [
|
|
77
|
+
['1 Day', '3m 56s', '0.986°', 'Slight shift west'],
|
|
78
|
+
['15 Days', '59m 0s', '14.79°', 'Half a zodiac sign shift'],
|
|
79
|
+
['30 Days', '1h 58m', '29.58°', 'One full zodiac constellation shift'],
|
|
80
|
+
['90 Days', '5h 54m', '88.74°', 'One full season constellation shift'],
|
|
81
|
+
['180 Days', '11h 48m', '177.48°', 'Opposite constellations visible at midnight'],
|
|
82
|
+
['365 Days', '24h 0m', '360.00°', 'Complete cycle, star alignment reset'],
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
{ type: 'diagnostic', variant: 'info', title: 'Calculated from J2000 Epoch', icon: 'mdi:creation-outline', badge: 'COMPUTATION', html: 'Local Sidereal Time is computed by converting UTC time to Julian Date (days since -4712), finding the Greenwich Mean Sidereal Time, and applying your longitude (15 degrees per hour). Our tool uses the high-precision IAU J2000 linear model for real-time tracking.' },
|
|
86
|
+
],
|
|
87
|
+
faq,
|
|
88
|
+
bibliography,
|
|
89
|
+
howTo,
|
|
90
|
+
schemas: [],
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
content.schemas = buildSchemas(title, faq, howTo);
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { SiderealTimeTrackerUI } from '../entry';
|
|
3
|
+
import { bibliography } from '../bibliography';
|
|
4
|
+
import { buildSchemas } from '../helpers';
|
|
5
|
+
|
|
6
|
+
const faq = [
|
|
7
|
+
{
|
|
8
|
+
question: '¿Cuál es la diferencia entre el tiempo solar y el tiempo sidéreo?',
|
|
9
|
+
answer: 'El tiempo solar se basa en la posición del Sol respecto al meridiano local (tarda 24 horas), mientras que el tiempo sidéreo se basa en la rotación de la Tierra respecto a estrellas de fondo lejanas (tarda 23 horas, 56 minutos, 4,09 segundos).',
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
question: '¿Por qué un día sidéreo es más corto que un día solar?',
|
|
13
|
+
answer: 'Mientras la Tierra gira sobre su eje, también viaja a lo largo de su órbita alrededor del Sol. Para volver a mirar al Sol, la Tierra tiene que rotar un poco más de 360 grados, lo que añade unos 3 minutos y 56 segundos al día en comparación con una rotación simplemente alineada a las estrellas.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: '¿Cómo afecta la longitud al tiempo sidéreo local?',
|
|
17
|
+
answer: 'El Tiempo Sidéreo Local se calcula añadiendo la longitud del observador (convertida a horas: 15 grados por hora) al Tiempo Sidéreo Medio de Greenwich (GMST). Cada grado hacia el este añade 4 minutos a su reloj sidéreo local.',
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
|
|
21
|
+
const howTo = [
|
|
22
|
+
{
|
|
23
|
+
name: 'Ajuste su longitud de referencia',
|
|
24
|
+
text: 'Deslice el control hasta su longitud local. Esto alinea la escala sidérea de 24 horas con su meridiano local.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'Observe las manecillas solares y sidéreas',
|
|
28
|
+
text: 'Mire la esfera: las manecillas solares estándar muestran la hora UTC en el dial interior de 12 horas, mientras que la manecilla dorada y las estrellas muestran la hora sidérea en la escala exterior de 24 horas.',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'Acelere la velocidad celeste',
|
|
32
|
+
text: 'Haga clic en los multiplicadores de velocidad 200× o 5000× para ver la rotación del fondo estelar y la deriva acumularse en tiempo real.',
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
|
|
36
|
+
const title = 'Rastreador Astronómico de Tiempo Sidéreo: Reloj de Tiempo Sidéreo Local';
|
|
37
|
+
|
|
38
|
+
export const content: ToolLocaleContent<SiderealTimeTrackerUI> = {
|
|
39
|
+
slug: 'rastreador-tiempo-sideral',
|
|
40
|
+
title,
|
|
41
|
+
description: 'Siga el Tiempo Sidéreo Medio de Greenwich (GMST) y el Tiempo Sidéreo Local (LST) con una artística esfera de astrolabio astronómico y un simulador de deriva estelar en tiempo real.',
|
|
42
|
+
ui: {
|
|
43
|
+
title: 'Rastreador de Tiempo Sidéreo',
|
|
44
|
+
longitudeLabel: 'Longitud del observador',
|
|
45
|
+
solarTimeLabel: 'Tiempo Universal Coordinado (UTC)',
|
|
46
|
+
siderealTimeLabel: 'Tiempo Sidéreo Local (LST)',
|
|
47
|
+
differenceLabel: 'Deriva Estelar-Solar',
|
|
48
|
+
utcLabel: 'Fecha/Hora UTC',
|
|
49
|
+
speedLabel: 'Velocidad Celeste',
|
|
50
|
+
speedNormal: '1× (Tiempo real)',
|
|
51
|
+
speedFast: '200× (Time-lapse)',
|
|
52
|
+
speedVeryFast: '5000× (Deriva)',
|
|
53
|
+
audioToggleLabel: 'Tics de Campana Cósmica',
|
|
54
|
+
step1: 'Ajuste su longitud local para ver el cambio del Tiempo Sidéreo Local en tiempo real.',
|
|
55
|
+
step2: 'Cambie el multiplicador de velocidad para ver la deriva de la manecilla solar estándar y la esfera estelar sidérea.',
|
|
56
|
+
step3: 'Active las Campanas Cósmicas para escuchar la diferencia entre un tic normal y un cruce de hora astronómico.',
|
|
57
|
+
tipTitle: 'Deriva Astronómica',
|
|
58
|
+
tipContent: 'Debido a que la Tierra orbita alrededor del Sol, los relojes solares estándar se retrasan respecto al tiempo sidéreo en 3 minutos y 56 segundos por día, acumulando exactamente 24 horas de deriva en el transcurso de un año completo.',
|
|
59
|
+
useLocationBtn: 'Usar ubicación actual',
|
|
60
|
+
hemisphereLabel: 'Hemisferio Estelar',
|
|
61
|
+
hemisphereNorth: 'Norte (Osa Mayor)',
|
|
62
|
+
hemisphereSouth: 'Sur (Cruz)',
|
|
63
|
+
longitudeFormatLabel: 'Formato de longitud',
|
|
64
|
+
longitudeFormatDecimal: 'Grados decimales',
|
|
65
|
+
longitudeFormatDMS: 'Grados/Minutos',
|
|
66
|
+
},
|
|
67
|
+
seo: [
|
|
68
|
+
{ type: 'title', text: '¿Qué es el tiempo sidéreo?', level: 2 },
|
|
69
|
+
{ type: 'paragraph', html: 'El tiempo sidéreo es un sistema de medición del tiempo que los astrónomos usan para localizar objetos celestes. Un día sidéreo dura aproximadamente 23 horas, 56 minutos y 4,09 segundos. Es el tiempo que tarda la Tierra en completar una rotación sobre su eje relativa al equinoccio vernal o las estrellas lejanas, en lugar del Sol.' },
|
|
70
|
+
{ type: 'title', text: 'Día Solar vs. Día Sidéreo', level: 3 },
|
|
71
|
+
{ type: 'paragraph', html: 'Un día solar mide el tiempo entre tránsitos consecutivos del Sol por el meridiano local. Debido a que la Tierra recorre aproximadamente 1/365 de su órbita alrededor del Sol cada día, debe rotar ligeramente más de 360 grados para realinearse con el Sol. Un día sidéreo es una rotación verdadera de 360 grados relativa a las estrellas, lo que lo hace 3 minutos y 56 segundos más corto.' },
|
|
72
|
+
{ type: 'title', text: 'Por qué les importa a astrónomos y relojeros', level: 3 },
|
|
73
|
+
{ type: 'paragraph', html: 'Para los astrónomos, una estrella está siempre en la misma posición en el cielo a la misma Hora Sidérea. Para rastrear estrellas, las monturas de los telescopios deben rotar exactamente una vez por día sidéreo. Las marcas de alta relojería (como Patek Philippe, Vacheron Constantin e IWC) crean relojes astronómicos ultracomplicados con trenes de engranajes sidéreos para rastrear la LST directamente en la muñeca.' },
|
|
74
|
+
{ type: 'title', text: 'Tabla de referencia de deriva estelar vs. solar', level: 3 },
|
|
75
|
+
{
|
|
76
|
+
type: 'table', headers: ['Días transcurridos', 'Tiempo sidéreo adelantado', 'Grados de desplazamiento', 'Deriva de constelaciones'], rows: [
|
|
77
|
+
['1 día', '3m 56s', '0,986°', 'Ligero desplazamiento al oeste'],
|
|
78
|
+
['15 días', '59m 0s', '14,79°', 'Medio signo zodiacal'],
|
|
79
|
+
['30 días', '1h 58m', '29,58°', 'Una constelación zodiacal completa'],
|
|
80
|
+
['90 días', '5h 54m', '88,74°', 'Una estación completa'],
|
|
81
|
+
['180 días', '11h 48m', '177,48°', 'Constelaciones opuestas visibles a medianoche'],
|
|
82
|
+
['365 días', '24h 0m', '360,00°', 'Ciclo completo, reinicio de alineación estelar'],
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
{ type: 'diagnostic', variant: 'info', title: 'Calculado desde la Época J2000', icon: 'mdi:creation-outline', badge: 'CÁLCULO', html: 'El Tiempo Sidéreo Local se calcula convirtiendo la hora UTC a Fecha Juliana (días desde -4712), encontrando el Tiempo Sidéreo Medio de Greenwich y aplicando su longitud (15 grados por hora). Nuestra herramienta usa el modelo lineal IAU J2000 de alta precisión para el seguimiento en tiempo real.' },
|
|
86
|
+
],
|
|
87
|
+
faq,
|
|
88
|
+
bibliography,
|
|
89
|
+
howTo,
|
|
90
|
+
schemas: [],
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
content.schemas = buildSchemas(title, faq, howTo);
|