@jjlmoya/utils-astronomy 1.16.0 → 1.18.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 (106) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/data.ts +2 -0
  4. package/src/entries.ts +4 -1
  5. package/src/pages/[locale]/[slug].astro +30 -14
  6. package/src/tests/locale_completeness.test.ts +1 -34
  7. package/src/tests/tool_structure.test.ts +71 -0
  8. package/src/tests/tool_validation.test.ts +4 -3
  9. package/src/tool/bortleVisualizer/bibliography.ts +8 -0
  10. package/src/tool/bortleVisualizer/entry.ts +2 -0
  11. package/src/tool/bortleVisualizer/i18n/de.ts +1 -9
  12. package/src/tool/bortleVisualizer/i18n/en.ts +1 -9
  13. package/src/tool/bortleVisualizer/i18n/es.ts +1 -9
  14. package/src/tool/bortleVisualizer/i18n/fr.ts +1 -9
  15. package/src/tool/bortleVisualizer/i18n/id.ts +1 -9
  16. package/src/tool/bortleVisualizer/i18n/it.ts +1 -9
  17. package/src/tool/bortleVisualizer/i18n/ja.ts +1 -9
  18. package/src/tool/bortleVisualizer/i18n/ko.ts +1 -9
  19. package/src/tool/bortleVisualizer/i18n/nl.ts +1 -9
  20. package/src/tool/bortleVisualizer/i18n/pl.ts +1 -9
  21. package/src/tool/bortleVisualizer/i18n/pt.ts +1 -9
  22. package/src/tool/bortleVisualizer/i18n/ru.ts +1 -9
  23. package/src/tool/bortleVisualizer/i18n/sv.ts +1 -9
  24. package/src/tool/bortleVisualizer/i18n/tr.ts +1 -9
  25. package/src/tool/bortleVisualizer/i18n/zh.ts +1 -9
  26. package/src/tool/bortleVisualizer/seo.astro +2 -48
  27. package/src/tool/deepSpaceScope/bibliography.ts +6 -0
  28. package/src/tool/deepSpaceScope/entry.ts +2 -0
  29. package/src/tool/deepSpaceScope/i18n/de.ts +1 -7
  30. package/src/tool/deepSpaceScope/i18n/en.ts +1 -7
  31. package/src/tool/deepSpaceScope/i18n/es.ts +1 -7
  32. package/src/tool/deepSpaceScope/i18n/fr.ts +1 -7
  33. package/src/tool/deepSpaceScope/i18n/id.ts +1 -7
  34. package/src/tool/deepSpaceScope/i18n/it.ts +1 -7
  35. package/src/tool/deepSpaceScope/i18n/ja.ts +1 -7
  36. package/src/tool/deepSpaceScope/i18n/ko.ts +1 -7
  37. package/src/tool/deepSpaceScope/i18n/nl.ts +1 -7
  38. package/src/tool/deepSpaceScope/i18n/pl.ts +1 -7
  39. package/src/tool/deepSpaceScope/i18n/pt.ts +1 -7
  40. package/src/tool/deepSpaceScope/i18n/ru.ts +1 -7
  41. package/src/tool/deepSpaceScope/i18n/sv.ts +1 -7
  42. package/src/tool/deepSpaceScope/i18n/tr.ts +1 -7
  43. package/src/tool/deepSpaceScope/i18n/zh.ts +1 -7
  44. package/src/tool/deepSpaceScope/seo.astro +2 -48
  45. package/src/tool/smartEyepieceCalculator/app.ts +327 -0
  46. package/src/tool/smartEyepieceCalculator/bibliography.astro +14 -0
  47. package/src/tool/smartEyepieceCalculator/bibliography.ts +6 -0
  48. package/src/tool/smartEyepieceCalculator/component.astro +125 -0
  49. package/src/tool/smartEyepieceCalculator/entry.ts +67 -0
  50. package/src/tool/smartEyepieceCalculator/i18n/de.ts +165 -0
  51. package/src/tool/smartEyepieceCalculator/i18n/en.ts +166 -0
  52. package/src/tool/smartEyepieceCalculator/i18n/es.ts +165 -0
  53. package/src/tool/smartEyepieceCalculator/i18n/fr.ts +165 -0
  54. package/src/tool/smartEyepieceCalculator/i18n/id.ts +165 -0
  55. package/src/tool/smartEyepieceCalculator/i18n/it.ts +165 -0
  56. package/src/tool/smartEyepieceCalculator/i18n/ja.ts +165 -0
  57. package/src/tool/smartEyepieceCalculator/i18n/ko.ts +165 -0
  58. package/src/tool/smartEyepieceCalculator/i18n/nl.ts +165 -0
  59. package/src/tool/smartEyepieceCalculator/i18n/pl.ts +165 -0
  60. package/src/tool/smartEyepieceCalculator/i18n/pt.ts +165 -0
  61. package/src/tool/smartEyepieceCalculator/i18n/ru.ts +165 -0
  62. package/src/tool/smartEyepieceCalculator/i18n/sv.ts +165 -0
  63. package/src/tool/smartEyepieceCalculator/i18n/tr.ts +165 -0
  64. package/src/tool/smartEyepieceCalculator/i18n/zh.ts +165 -0
  65. package/src/tool/smartEyepieceCalculator/index.ts +13 -0
  66. package/src/tool/smartEyepieceCalculator/logic.ts +67 -0
  67. package/src/tool/smartEyepieceCalculator/seo.astro +15 -0
  68. package/src/tool/smartEyepieceCalculator/smart-eyepiece-calculator.css +393 -0
  69. package/src/tool/starExposureCalculator/bibliography.ts +7 -0
  70. package/src/tool/starExposureCalculator/entry.ts +2 -0
  71. package/src/tool/starExposureCalculator/i18n/de.ts +1 -8
  72. package/src/tool/starExposureCalculator/i18n/en.ts +1 -8
  73. package/src/tool/starExposureCalculator/i18n/es.ts +1 -8
  74. package/src/tool/starExposureCalculator/i18n/fr.ts +1 -8
  75. package/src/tool/starExposureCalculator/i18n/id.ts +1 -8
  76. package/src/tool/starExposureCalculator/i18n/it.ts +1 -8
  77. package/src/tool/starExposureCalculator/i18n/ja.ts +1 -8
  78. package/src/tool/starExposureCalculator/i18n/ko.ts +1 -8
  79. package/src/tool/starExposureCalculator/i18n/nl.ts +1 -8
  80. package/src/tool/starExposureCalculator/i18n/pl.ts +1 -8
  81. package/src/tool/starExposureCalculator/i18n/pt.ts +1 -8
  82. package/src/tool/starExposureCalculator/i18n/ru.ts +1 -8
  83. package/src/tool/starExposureCalculator/i18n/sv.ts +1 -8
  84. package/src/tool/starExposureCalculator/i18n/tr.ts +1 -8
  85. package/src/tool/starExposureCalculator/i18n/zh.ts +1 -8
  86. package/src/tool/starExposureCalculator/seo.astro +2 -48
  87. package/src/tool/telescopeResolution/bibliography.ts +7 -0
  88. package/src/tool/telescopeResolution/entry.ts +2 -0
  89. package/src/tool/telescopeResolution/i18n/de.ts +1 -8
  90. package/src/tool/telescopeResolution/i18n/en.ts +1 -8
  91. package/src/tool/telescopeResolution/i18n/es.ts +1 -8
  92. package/src/tool/telescopeResolution/i18n/fr.ts +1 -8
  93. package/src/tool/telescopeResolution/i18n/id.ts +1 -8
  94. package/src/tool/telescopeResolution/i18n/it.ts +1 -8
  95. package/src/tool/telescopeResolution/i18n/ja.ts +1 -8
  96. package/src/tool/telescopeResolution/i18n/ko.ts +1 -8
  97. package/src/tool/telescopeResolution/i18n/nl.ts +1 -8
  98. package/src/tool/telescopeResolution/i18n/pl.ts +1 -8
  99. package/src/tool/telescopeResolution/i18n/pt.ts +1 -8
  100. package/src/tool/telescopeResolution/i18n/ru.ts +1 -8
  101. package/src/tool/telescopeResolution/i18n/sv.ts +1 -8
  102. package/src/tool/telescopeResolution/i18n/tr.ts +1 -8
  103. package/src/tool/telescopeResolution/i18n/zh.ts +1 -8
  104. package/src/tool/telescopeResolution/seo.astro +2 -48
  105. package/src/tools.ts +3 -0
  106. package/src/types.ts +1 -5
@@ -0,0 +1,165 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { EyepieceCalculatorLocaleContent } from '../entry';
4
+
5
+ const title = 'Okular Rechner & Visueller Simulator';
6
+ const description = 'Berechnen Sie Vergrößerung, wahres Sichtfeld (TFOV) und Austrittspupille für jedes Okular mit Ihrem Teleskop. Mit interaktivem visuellem Simulator.';
7
+
8
+ const ui = {
9
+ toolTitle: 'Intelligenter Okular-Rechner',
10
+ telescopeTitle: 'Ihr Teleskop',
11
+ apertureLabel: 'Öffnung (mm)',
12
+ focalLabel: 'Brennweite (mm)',
13
+ presetsLabel: 'Beliebte Modelle',
14
+ presetsPlaceholder: 'Wählen Sie ein Teleskop...',
15
+ addEyepieceBtn: '+ Okular hinzufügen',
16
+ eyepiecesTitle: 'Ihre Okulare',
17
+ eyepieceFocal: 'Brennweite (mm)',
18
+ eyepieceAfov: 'Scheinbares Feld (°)',
19
+ removeEyepiece: 'Entfernen',
20
+ magLabel: 'Vergrößerung',
21
+ tfovLabel: 'Wahres Feld',
22
+ pupilLabel: 'Austrittspupille',
23
+ simulatorTitle: 'Gesichtsfeld-Simulator',
24
+ targetLabel: 'Was möchten Sie sehen?',
25
+ targetMoon: 'Der Mond',
26
+ targetSaturn: 'Saturn',
27
+ targetPleiades: 'Plejaden-Haufen',
28
+ targetAndromeda: 'Andromeda-Galaxie',
29
+ targetM13: 'M13-Haufen',
30
+ statusDangerHighMag: 'Verschwendetes Geld: Sie treiben das Teleskop über seine physikalischen Grenzen hinaus.',
31
+ statusDangerPupil: 'Verschwendetes Licht: Die Austrittspupille überschreitet 7 mm. Ihr Auge kann so viel Licht nicht verarbeiten.',
32
+ statusWarningHighMag: 'Vorsicht: Für diese Vergrößerung benötigen Sie einen außergewöhnlich stabilen Himmel (gutes Seeing).',
33
+ statusWarningLowMag: 'Niedrige Vergrößerung: Sie liegen unter dem empfohlenen Minimum. Möglicherweise sehen Sie den Schatten des Fangspiegels oder verlieren Kontrast.',
34
+ statusPerfectDeepSky: 'Perfekte Kombination! Ideal für große Objekte und Deep Sky (Sternhaufen, Nebel).',
35
+ statusPerfectPlanetary: 'Perfekte Kombination! Ideal zur Beobachtung von Planetendetails (Saturnringe, Jupiterbänder).',
36
+ statusPerfectGeneral: 'Hervorragende Allround-Kombination! Ideal für die allgemeine Beobachtung aller Objekte.',
37
+ ctaText: 'Aufgrund Ihrer aktuellen Ausrüstung empfehlen wir Okulare, die eine Vergrößerung zwischen {min}x und {max}x bieten.',
38
+ compareText: 'Okulare vergleichen',
39
+ apertureHelp: 'Der Durchmesser des Tubus, steht meist auf dem Originalaufkleber oder Karton.',
40
+ focalHelp: 'Die Brennweite des Teleskops.',
41
+ afovHelp: 'Das scheinbare Gesichtsfeld des Okulars. Plössl meist 52°, Weitwinkel 68° oder mehr.',
42
+ };
43
+
44
+ const faq: EyepieceCalculatorLocaleContent['faq'] = [
45
+ {
46
+ question: 'Wie berechnet man die Teleskop-Vergrößerung?',
47
+ answer: 'Die Formel ist einfach: Teilen Sie die Brennweite des Teleskops durch die Brennweite des Okulars. Beispiel: Ein 1000-mm-Teleskop mit einem 10-mm-Okular ergibt eine 100-fache Vergrößerung (100x).',
48
+ },
49
+ {
50
+ question: 'Was ist die Austrittspupille und warum ist sie wichtig?',
51
+ answer: 'Es ist der Durchmesser des Lichtstrahls, der das Okular verlässt und in Ihr Auge eintritt. Er wird berechnet, indem die Teleskopöffnung durch die Vergrößerung geteilt wird. Wenn er 7 mm überschreitet, kann Ihr Auge nicht das gesamte Licht aufnehmen, was die Leistung Ihres Teleskops verschwendet.',
52
+ },
53
+ {
54
+ question: 'Wie erfahre ich das wahre Gesichtsfeld meines Okulars?',
55
+ answer: 'Das wahre Gesichtsfeld (TFOV) wird berechnet, indem das scheinbare Gesichtsfeld des Okulars (AFOV) durch die Vergrößerung geteilt wird. Dies sagt Ihnen, wie viele Grad Himmel Sie tatsächlich sehen.',
56
+ },
57
+ ];
58
+
59
+ const howTo: EyepieceCalculatorLocaleContent['howTo'] = [
60
+ { name: '1. Teleskopdaten eingeben', text: 'Geben Sie Öffnung und Brennweite Ihres Tubus ein oder wählen Sie ein beliebtes Modell aus der Liste.' },
61
+ { name: '2. Okulare hinzufügen', text: 'Geben Sie Brennweite und scheinbares Gesichtsfeld Ihrer Okulare ein, um sie zu vergleichen.' },
62
+ { name: '3. Ansicht simulieren', text: 'Wählen Sie ein Objekt (Mond, Saturn etc.) und klicken Sie auf Ihre Okulare, um zu sehen, wie sich das Bild verändert und ob Sie innerhalb der optischen Grenzen liegen.' },
63
+ ];
64
+
65
+ const seo: EyepieceCalculatorLocaleContent['seo'] = [
66
+ {
67
+ type: 'summary',
68
+ title: 'Wichtige Faktoren bei der Okularwahl',
69
+ items: [
70
+ 'Reale Maximalvergrößerung: 2x Öffnung in mm (aber durch Himmelsbedingungen auf 200-250x begrenzt).',
71
+ 'Minimale sinnvolle Vergrößerung: Öffnung geteilt durch 7 (Grenze der menschlichen Pupille).',
72
+ 'Optimaler Bereich: Zwischen 0,5 mm und 7 mm Austrittspupille.',
73
+ ],
74
+ },
75
+ { type: 'title', text: 'Okulare für Ihr Teleskop wählen: Ein praktischer Leitfaden', level: 2 },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'Kaufen Sie Okulare nicht nach Intuition. Der Schlüssel zu einer guten Beobachtung liegt im Gleichgewicht zwischen der Auflösung Ihres Teleskops und der biologischen Kapazität Ihres Auges. Ein schlecht gewähltes Okular kann selbst das beste Teleskop der Welt unscharf oder zu dunkel erscheinen lassen.',
79
+ },
80
+ { type: 'title', text: '1. Berechnung der Vergrößerung (V)', level: 3 },
81
+ {
82
+ type: 'paragraph',
83
+ html: 'Die Formel ist einfach: Brennweite des Teleskops geteilt durch Brennweite des Okulars. <br/><strong>Formel:</strong> Brennweite Teleskop / Brennweite Okular = Vergrößerung. <br/>Beispiel: Ein 1000-mm-Teleskop mit einem 10-mm-Okular ergibt eine 100-fache Vergrößerung (100x).',
84
+ },
85
+ { type: 'title', text: '2. Der Mythos der Maximalvergrößerung', level: 3 },
86
+ {
87
+ type: 'paragraph',
88
+ html: 'Die tatsächliche Grenze setzt nicht das Okular, sondern die Öffnung (der Durchmesser) Ihres Tubus. <br/>- <strong>Theoretische Grenze:</strong> 2 × Öffnung in mm. <br/>- <strong>Reale Grenze (Average Seeing):</strong> Aufgrund atmosphärischer Turbulenzen werden Sie selten über 200x - 250x hinauskommen, unabhängig von Ihrem Teleskop. Ein weiteres Forcieren ergibt nur einen vergrößerten unscharfen Fleck.',
89
+ },
90
+ { type: 'title', text: '3. Austrittspupille: Der Helligkeitsfaktor', level: 3 },
91
+ {
92
+ type: 'paragraph',
93
+ html: 'Die Austrittspupille ist der Lichtzylinder, der aus dem Okular in Ihr Auge tritt. <br/>- <strong>Größer als 7 mm:</strong> Ihr Auge kann sich nicht so weit öffnen; Sie verlieren Licht und verschwenden buchstäblich Geld. <br/>- <strong>Kleiner als 0,5 mm:</strong> Das Bild wird so dunkel, dass Sie kaum Details sehen und anfangen, die "Mücken" (Floaters) in Ihrem eigenen Auge zu sehen.',
94
+ },
95
+ {
96
+ type: 'table',
97
+ headers: ['Beobachtungsobjekt', 'Empfohlene Vergrößerung', 'Ideale Pupille', 'Visuelles Erlebnis'],
98
+ rows: [
99
+ ['Galaxien und Nebel', 'Niedrig (25x - 50x)', '5 mm - 7 mm', 'Hellstes Bild, maximales Gesichtsfeld.'],
100
+ ['Sternhaufen', 'Mittel (80x - 120x)', '2 mm', 'Punktförmige Sterne und dunkler Himmelshintergrund.'],
101
+ ['Planeten und Mond', 'Hoch (150x oder mehr)', '0,7 mm - 1 mm', 'Maximale Details, Bild kleiner und dunkler.'],
102
+ ],
103
+ },
104
+ {
105
+ type: 'diagnostic',
106
+ variant: 'warning',
107
+ title: 'Visuelle Beobachtung oder Astrofotografie?',
108
+ icon: 'mdi:camera-off',
109
+ badge: 'Technischer Hinweis',
110
+ html: 'Es ist wichtig zu klären, dass diese Berechnungen ausschließlich für die <strong>visuelle Beobachtung</strong> gelten. Viele Anfänger versuchen, diese Vergrößerungen auf Astrokameras anzuwenden und sind dann frustriert; in der Fotografie hängt die Berechnung von der Pixelgröße und der Auflösung pro Bogensekunde ab, nicht vom Okular.',
111
+ },
112
+ {
113
+ type: 'diagnostic',
114
+ variant: 'info',
115
+ title: 'Einfluss der Luftunruhe (Seeing)',
116
+ icon: 'mdi:weather-windy',
117
+ badge: 'Beobachtungstipp',
118
+ html: 'Selbst mit den besten Okularen sind Nächte, in denen die Sterne stark funkeln, nicht für hohe Vergrößerungen geeignet. Dies liegt an der atmosphärischen Turbulenz (Seeing), die das Licht streut. Bei der Planetenbeobachtung empfiehlt es sich, mit einer niedrigen Vergrößerung zu beginnen und die Stabilität des Bildes zu prüfen. Wenn das Bild wie unter Wasser schwankt, reduzieren Sie die Vergrößerung, um mehr Details zu sehen. In den meisten Stadtgebieten ist 150x bis 200x die praktische Obergrenze.',
119
+ },
120
+ ];
121
+
122
+ const faqSchema: WithContext<FAQPage> = {
123
+ '@context': 'https://schema.org',
124
+ '@type': 'FAQPage',
125
+ mainEntity: faq.map((item) => ({
126
+ '@type': 'Question',
127
+ name: item.question,
128
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
129
+ })),
130
+ };
131
+
132
+ const howToSchema: WithContext<HowTo> = {
133
+ '@context': 'https://schema.org',
134
+ '@type': 'HowTo',
135
+ name: title,
136
+ description,
137
+ step: howTo.map((step) => ({
138
+ '@type': 'HowToStep',
139
+ name: step.name,
140
+ text: step.text,
141
+ })),
142
+ };
143
+
144
+ const appSchema: WithContext<SoftwareApplication> = {
145
+ '@context': 'https://schema.org',
146
+ '@type': 'SoftwareApplication',
147
+ name: title,
148
+ description,
149
+ applicationCategory: 'UtilitiesApplication',
150
+ operatingSystem: 'Web',
151
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
152
+ inLanguage: 'de',
153
+ };
154
+
155
+ export const content: EyepieceCalculatorLocaleContent = {
156
+ slug: 'okular-rechner',
157
+ title,
158
+ description,
159
+ ui,
160
+ faq,
161
+ howTo,
162
+ seo,
163
+ bibliography,
164
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
165
+ };
@@ -0,0 +1,166 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { EyepieceCalculatorLocaleContent } from '../entry';
4
+
5
+ const slug = 'smart-eyepiece-calculator';
6
+ const title = 'Eyepiece Calculator & Visual Simulator';
7
+ const description = 'Calculate magnification, true field of view (TFOV), and exit pupil for any eyepiece with your telescope. Features an interactive visual simulator.';
8
+
9
+ const ui = {
10
+ toolTitle: 'Smart Eyepiece Calculator',
11
+ telescopeTitle: 'Your Telescope',
12
+ apertureLabel: 'Aperture (mm)',
13
+ focalLabel: 'Focal Length (mm)',
14
+ presetsLabel: 'Popular Models',
15
+ presetsPlaceholder: 'Pick a telescope fast...',
16
+ addEyepieceBtn: '+ Add Eyepiece',
17
+ eyepiecesTitle: 'Your Eyepieces',
18
+ eyepieceFocal: 'Focal (mm)',
19
+ eyepieceAfov: 'Apparent Field (°)',
20
+ removeEyepiece: 'Remove',
21
+ magLabel: 'Magnification',
22
+ tfovLabel: 'True FOV',
23
+ pupilLabel: 'Exit Pupil',
24
+ simulatorTitle: 'Visual Field Simulator',
25
+ targetLabel: 'What do you want to see?',
26
+ targetMoon: 'The Moon',
27
+ targetSaturn: 'Saturn',
28
+ targetPleiades: 'Pleiades Cluster',
29
+ targetAndromeda: 'Andromeda Galaxy',
30
+ targetM13: 'M13 Cluster',
31
+ statusDangerHighMag: 'Wasted money: You are pushing the telescope beyond its physical limits.',
32
+ statusDangerPupil: 'Wasted light: Exit pupil exceeds 7mm. Your eye cannot process this much light.',
33
+ statusWarningHighMag: 'Careful: You will need exceptionally stable skies (good seeing) for this magnification.',
34
+ statusWarningLowMag: 'Low magnification: You are below the recommended minimum. You might see the secondary mirror shadow or lose contrast.',
35
+ statusPerfectDeepSky: 'Perfect combination! Ideal for large objects and Deep Sky (Clusters, Nebulae).',
36
+ statusPerfectPlanetary: 'Perfect combination! Ideal for seeing planetary details (Rings of Saturn, Jupiter bands).',
37
+ statusPerfectGeneral: 'Excellent all-rounder combination! Ideal for general observation of all objects.',
38
+ ctaText: 'Given your current gear, we recommend using eyepieces that give you between {min}x and {max}x magnification.',
39
+ compareText: 'Compare Eyepieces',
40
+ apertureHelp: 'The diameter of the tube, usually on the original sticker or box.',
41
+ focalHelp: 'The focal length of the telescope.',
42
+ afovHelp: 'The apparent field of view of the eyepiece. Plössl is usually 52°, wide angle 68° or more.',
43
+ };
44
+
45
+ const faq: EyepieceCalculatorLocaleContent['faq'] = [
46
+ {
47
+ question: 'How do you calculate telescope magnification?',
48
+ answer: 'The formula is simple: divide the telescope focal length by the eyepiece focal length. For example, a 1000mm telescope with a 10mm eyepiece gives you 100x magnification.',
49
+ },
50
+ {
51
+ question: 'What is exit pupil and why does it matter?',
52
+ answer: 'It is the diameter of the light beam exiting the eyepiece into your eye. It is calculated by dividing telescope aperture by magnification. If it exceeds 7mm, your eye cannot capture all the light, wasting your telescope\'s power.',
53
+ },
54
+ {
55
+ question: 'How do I know my eyepiece\'s true field of view?',
56
+ answer: 'True Field of View (TFOV) is calculated by dividing the eyepiece apparent field of view (AFOV) by the magnification. This tells you how many degrees of sky you actually see.',
57
+ },
58
+ ];
59
+
60
+ const howTo: EyepieceCalculatorLocaleContent['howTo'] = [
61
+ { name: '1. Enter your telescope data', text: 'Type in the aperture and focal length of your tube or select a popular model from the list.' },
62
+ { name: '2. Add your eyepieces', text: 'Enter the focal length and apparent field of view of your eyepieces to compare them.' },
63
+ { name: '3. Simulate the view', text: 'Select an object (Moon, Saturn, etc.) and click on your eyepieces to see how the image changes and if you are within optical limits.' },
64
+ ];
65
+
66
+ const seo: EyepieceCalculatorLocaleContent['seo'] = [
67
+ {
68
+ type: 'summary',
69
+ title: 'Key Factors for Choosing Your Ideal Eyepiece',
70
+ items: [
71
+ 'Real Maximum Magnification: 2x aperture in mm (but limited by sky conditions to 200-250x).',
72
+ 'Utility Minimum Magnification: Aperture divided by 7 (limit of the human pupil).',
73
+ 'Optimal Range: Between 0.5mm and 7mm exit pupil.',
74
+ ],
75
+ },
76
+ { type: 'title', text: 'How to Choose Eyepieces for Your Telescope: A Practical Guide', level: 2 },
77
+ {
78
+ type: 'paragraph',
79
+ html: 'Don\'t buy eyepieces based on intuition. The key to good observation lies in balancing your telescope\'s resolution with your eye\'s biological capacity. A poorly chosen eyepiece can make the best telescope in the world look blurry or too dark.',
80
+ },
81
+ { type: 'title', text: '1. Calculating Magnification (M)', level: 3 },
82
+ {
83
+ type: 'paragraph',
84
+ html: 'The formula is simple: divide the telescope focal length by the eyepiece focal length. <br/><strong>Formula:</strong> Telescope Focal / Eyepiece Focal = Magnification. <br/>Example: A 1000mm telescope with a 10mm eyepiece gives you 100x magnification.',
85
+ },
86
+ { type: 'title', text: '2. The Myth of Maximum Magnification', level: 3 },
87
+ {
88
+ type: 'paragraph',
89
+ html: 'The real limit isn\'t set by the eyepiece, but by your tube\'s aperture (diameter). <br/>- <strong>Theoretical limit:</strong> 2 × Aperture in mm. <br/>- <strong>Real limit (Average Seeing):</strong> You will rarely exceed 200x - 250x due to atmospheric turbulence, regardless of your telescope. Pushing further will only give you an enlarged blurry spot.',
90
+ },
91
+ { type: 'title', text: '3. Exit Pupil: The Brightness Factor', level: 3 },
92
+ {
93
+ type: 'paragraph',
94
+ html: 'The exit pupil is the cylinder of light coming out of the eyepiece toward your eye. <br/>- <strong>If it\'s larger than 7mm:</strong> Your eye cannot open that wide; you are losing light and literally wasting money. <br/>- <strong>If it\'s smaller than 0.5mm:</strong> The image will be so dark you will barely see details and start seeing your own eye\'s floaters.',
95
+ },
96
+ {
97
+ type: 'table',
98
+ headers: ['Object to Observe', 'Recommended Magnification', 'Ideal Pupil', 'Visual Experience'],
99
+ rows: [
100
+ ['Galaxies and Nebulae', 'Low (25x - 50x)', '5mm - 7mm', 'Bright image, maximum field of view.'],
101
+ ['Star Clusters', 'Medium (80x - 120x)', '2mm', 'Pinpoint stars and dark sky background.'],
102
+ ['Planets and Moon', 'High (150x or more)', '0.7mm - 1mm', 'Maximum detail, smaller and dimmer image.'],
103
+ ],
104
+ },
105
+ {
106
+ type: 'diagnostic',
107
+ variant: 'warning',
108
+ title: 'Visual Observation or Astrophotography?',
109
+ icon: 'mdi:camera-off',
110
+ badge: 'Technical Note',
111
+ html: 'It is essential to clarify that these calculations are exclusive to <strong>visual observation</strong>. Many beginners try to apply these magnifications to astro-cameras and become frustrated; in photography, the calculation depends on pixel size and resolution per arcsecond, not on the eyepiece.',
112
+ },
113
+ {
114
+ type: 'diagnostic',
115
+ variant: 'info',
116
+ title: 'Influence of Atmospheric Stability (Seeing)',
117
+ icon: 'mdi:weather-windy',
118
+ badge: 'Observation Tip',
119
+ html: 'Even with the best eyepieces, nights when the stars twinkle intensely are not suitable for high magnification. This is due to atmospheric turbulence (seeing) that scatters the light. When observing planets, it is recommended to start with a low magnification and watch the stability of the image; if the image appears to be underwater, reduce the magnification to see more detail. In most urban areas, 150x to 200x is the practical upper limit.',
120
+ },
121
+ ];
122
+
123
+ const faqSchema: WithContext<FAQPage> = {
124
+ '@context': 'https://schema.org',
125
+ '@type': 'FAQPage',
126
+ mainEntity: faq.map((item) => ({
127
+ '@type': 'Question',
128
+ name: item.question,
129
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
130
+ })),
131
+ };
132
+
133
+ const howToSchema: WithContext<HowTo> = {
134
+ '@context': 'https://schema.org',
135
+ '@type': 'HowTo',
136
+ name: title,
137
+ description,
138
+ step: howTo.map((step) => ({
139
+ '@type': 'HowToStep',
140
+ name: step.name,
141
+ text: step.text,
142
+ })),
143
+ };
144
+
145
+ const appSchema: WithContext<SoftwareApplication> = {
146
+ '@context': 'https://schema.org',
147
+ '@type': 'SoftwareApplication',
148
+ name: title,
149
+ description,
150
+ applicationCategory: 'UtilitiesApplication',
151
+ operatingSystem: 'Web',
152
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
153
+ inLanguage: 'en',
154
+ };
155
+
156
+ export const content: EyepieceCalculatorLocaleContent = {
157
+ slug,
158
+ title,
159
+ description,
160
+ ui,
161
+ faq,
162
+ howTo,
163
+ seo,
164
+ bibliography,
165
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
166
+ };
@@ -0,0 +1,165 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { EyepieceCalculatorLocaleContent } from '../entry';
4
+
5
+ const title = 'Calculadora de Oculares y Simulador Visual';
6
+ const description = 'Calcula los aumentos, el campo de visión real (TFOV) y la pupila de salida de cualquier ocular con tu telescopio. Incluye simulador visual interactivo.';
7
+
8
+ const ui = {
9
+ toolTitle: 'Calculadora Inteligente de Oculares',
10
+ telescopeTitle: 'Tu Telescopio',
11
+ apertureLabel: 'Apertura (mm)',
12
+ focalLabel: 'Distancia Focal (mm)',
13
+ presetsLabel: 'Modelos Populares',
14
+ presetsPlaceholder: 'Elige un telescopio rápido...',
15
+ addEyepieceBtn: '+ Añadir Ocular',
16
+ eyepiecesTitle: 'Tus Oculares',
17
+ eyepieceFocal: 'Focal (mm)',
18
+ eyepieceAfov: 'Campo Aparente (°)',
19
+ removeEyepiece: 'Eliminar',
20
+ magLabel: 'Aumentos',
21
+ tfovLabel: 'C.V. Real',
22
+ pupilLabel: 'Pupila',
23
+ simulatorTitle: 'Simulador de Campo Visual',
24
+ targetLabel: '¿Qué quieres ver?',
25
+ targetMoon: 'La Luna',
26
+ targetSaturn: 'Saturno',
27
+ targetPleiades: 'Pléyades',
28
+ targetAndromeda: 'Galaxia Andrómeda',
29
+ targetM13: 'Cúmulo M13',
30
+ statusDangerHighMag: 'Dinero tirado: Estás forzando el telescopio más allá de sus límites físicos.',
31
+ statusDangerPupil: 'Luz desperdiciada: La pupila de salida supera los 7mm. Tu ojo no puede procesar tanta luz.',
32
+ statusWarningHighMag: 'Cuidado: Para estos aumentos necesitarás una noche excepcionalmente estable (buen seeing).',
33
+ statusWarningLowMag: 'Aumentos bajos: Estás por debajo del mínimo recomendado. Podrías ver la sombra del espejo secundario o perder contraste.',
34
+ statusPerfectDeepSky: '¡Combinación perfecta! Ideal para objetos extensos y Cielo Profundo (Cúmulos, Nebulosas).',
35
+ statusPerfectPlanetary: '¡Combinación perfecta! Ideal para ver detalles en planetas (Anillos de Saturno, bandas de Júpiter).',
36
+ statusPerfectGeneral: '¡Excelente combinación todoterreno! Ideal para observación general de todo tipo de objetos.',
37
+ ctaText: 'Dado tu equipo actual, recomendamos usar oculares que te den entre {min}x y {max}x aumentos.',
38
+ compareText: 'Comparar Oculares',
39
+ apertureHelp: 'Es el diámetro del tubo, suele estar en la pegatina original o caja.',
40
+ focalHelp: 'Es la longitud focal del telescopio.',
41
+ afovHelp: 'El campo visual del ocular. Plössl suele ser 52°, gran angular 68° o más.',
42
+ };
43
+
44
+ const faq: EyepieceCalculatorLocaleContent['faq'] = [
45
+ {
46
+ question: '¿Cómo se calculan los aumentos de un telescopio?',
47
+ answer: 'La fórmula es simple: divide la distancia focal del telescopio entre la distancia focal del ocular. Por ejemplo, un telescopio de 1000mm con un ocular de 10mm te dará 100 aumentos (100x).',
48
+ },
49
+ {
50
+ question: '¿Qué es la pupila de salida y por qué importa?',
51
+ answer: 'Es el diámetro del haz de luz que sale del ocular y entra en tu ojo. Se calcula dividiendo la apertura del telescopio entre los aumentos. Si es mayor de 7mm, tu ojo no podrá captar toda la luz y estarás desperdiciando potencia del telescopio.',
52
+ },
53
+ {
54
+ question: '¿Cómo sé el campo visual real de mi ocular?',
55
+ answer: 'El Campo de Visión Real (TFOV) se calcula dividiendo el campo aparente del ocular (AFOV) entre los aumentos. Esto te dice cuántos grados de cielo ves realmente a través del telescopio.',
56
+ },
57
+ ];
58
+
59
+ const howTo: EyepieceCalculatorLocaleContent['howTo'] = [
60
+ { name: '1. Introduce los datos de tu telescopio', text: 'Escribe la apertura y la distancia focal de tu tubo o selecciona un modelo popular del listado.' },
61
+ { name: '2. Añade tus oculares', text: 'Introduce la focal y el campo aparente de tus oculares para comparar sus prestaciones.' },
62
+ { name: '3. Simula la visión', text: 'Selecciona un objeto (Luna, Saturno, etc.) y haz clic en tus oculares para ver cómo cambiará la imagen y si estás dentro de los límites ópticos.' },
63
+ ];
64
+
65
+ const seo: EyepieceCalculatorLocaleContent['seo'] = [
66
+ {
67
+ type: 'summary',
68
+ title: 'Claves para elegir tu ocular ideal',
69
+ items: [
70
+ 'Aumento Máximo Real: 2x la apertura en mm (pero limitado por el cielo a 200-250x).',
71
+ 'Aumento Mínimo Útil: Apertura dividida entre 7 (límite de la pupila humana).',
72
+ 'Rango Óptimo: Entre 0.5mm y 7mm de pupila de salida.',
73
+ ],
74
+ },
75
+ { type: 'title', text: 'Cómo elegir oculares para tu telescopio: Guía Práctica', level: 2 },
76
+ {
77
+ type: 'paragraph',
78
+ html: 'No compres oculares por intuición. La clave de una buena observación reside en equilibrar la resolución de tu objetivo con la capacidad biológica de tu ojo. Un ocular mal elegido puede hacer que el mejor telescopio del mundo se vea borroso o demasiado oscuro.',
79
+ },
80
+ { type: 'title', text: '1. El cálculo de los aumentos (M)', level: 3 },
81
+ {
82
+ type: 'paragraph',
83
+ html: 'La fórmula es simple: divide la distancia focal del telescopio entre la focal del ocular. <br/><strong>Fórmula:</strong> Focal Telescopio / Focal Ocular = Aumentos. <br/>Ejemplo: Un telescopio de 1000mm con un ocular de 10mm te ofrece 100 aumentos (100x).',
84
+ },
85
+ { type: 'title', text: '2. El mito del aumento máximo', level: 3 },
86
+ {
87
+ type: 'paragraph',
88
+ html: 'El límite real no lo pone el ocular, sino la apertura (el diámetro) de tu tubo. <br/>- <strong>Límite teórico:</strong> 2 × Apertura en mm. <br/>- <strong>Límite real (Seeing medio):</strong> Rara vez superarás los 200x - 250x debido a la turbulencia atmosférica, tengas el telescopio que tengas. Forzar más solo te dará una mancha borrosa agrandada.',
89
+ },
90
+ { type: 'title', text: '3. La Pupila de Salida: El factor del brillo', level: 3 },
91
+ {
92
+ type: 'paragraph',
93
+ html: 'La pupila de salida es el cilindro de luz que sale del ocular hacia tu ojo. <br/>- <strong>Si es mayor de 7mm:</strong> Tu ojo no puede abrirse tanto; estás perdiendo luz y literalmente tirando el dinero. <br/>- <strong>Si es menor de 0.5mm:</strong> La imagen será tan oscura que apenas verás detalles y empezarás a ver las motas de polvo de tu propio ojo.',
94
+ },
95
+ {
96
+ type: 'table',
97
+ headers: ['Objeto para observar', 'Aumento Recomendado', 'Pupila Ideal', 'Experiencia Visual'],
98
+ rows: [
99
+ ['Galaxias y Nebulosas', 'Bajo (25x - 50x)', '5mm - 7mm', 'Imagen brillante, máximo campo visual.'],
100
+ ['Cúmulos de Estrellas', 'Medio (80x - 120x)', '2mm', 'Estrellas puntuales y fondo de cielo oscuro.'],
101
+ ['Planetas y Luna', 'Alto (150x o más)', '0.7mm - 1mm', 'Máximo detalle, imagen más pequeña y tenue.'],
102
+ ],
103
+ },
104
+ {
105
+ type: 'diagnostic',
106
+ variant: 'warning',
107
+ title: '¿Uso visual o astrofotografía?',
108
+ icon: 'mdi:camera-off',
109
+ badge: 'Nota técnica',
110
+ html: 'Es vital aclarar que estos cálculos son exclusivos para <strong>observación visual</strong>. Muchos novatos intentan aplicar estos aumentos a cámaras astro y se frustran; en fotografía el cálculo depende del tamaño de píxel y la resolución por segundo de arco, no del ocular.',
111
+ },
112
+ {
113
+ type: 'diagnostic',
114
+ variant: 'info',
115
+ title: 'Influencia de la estabilidad atmosférica (Seeing)',
116
+ icon: 'mdi:weather-windy',
117
+ badge: 'Consejo de observación',
118
+ html: 'Incluso con los mejores oculares, las noches donde las estrellas titilan intensamente no son aptas para altos aumentos. Esto se debe a la turbulencia atmosférica (seeing) que dispersa la luz. Al observar planetas, se recomienda empezar por un aumento bajo y vigilar la estabilidad de la imagen; si la imagen parece estar bajo el agua, baja el aumento para ver más detalles. En la mayoría de zonas urbanas, 150x a 200x es el límite práctico.',
119
+ },
120
+ ];
121
+
122
+ const faqSchema: WithContext<FAQPage> = {
123
+ '@context': 'https://schema.org',
124
+ '@type': 'FAQPage',
125
+ mainEntity: faq.map((item) => ({
126
+ '@type': 'Question',
127
+ name: item.question,
128
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
129
+ })),
130
+ };
131
+
132
+ const howToSchema: WithContext<HowTo> = {
133
+ '@context': 'https://schema.org',
134
+ '@type': 'HowTo',
135
+ name: title,
136
+ description,
137
+ step: howTo.map((step) => ({
138
+ '@type': 'HowToStep',
139
+ name: step.name,
140
+ text: step.text,
141
+ })),
142
+ };
143
+
144
+ const appSchema: WithContext<SoftwareApplication> = {
145
+ '@context': 'https://schema.org',
146
+ '@type': 'SoftwareApplication',
147
+ name: title,
148
+ description,
149
+ applicationCategory: 'UtilitiesApplication',
150
+ operatingSystem: 'Web',
151
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
152
+ inLanguage: 'es',
153
+ };
154
+
155
+ export const content: EyepieceCalculatorLocaleContent = {
156
+ slug: 'calculadora-oculares',
157
+ title,
158
+ description,
159
+ ui,
160
+ faq,
161
+ howTo,
162
+ seo,
163
+ bibliography,
164
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
165
+ };