@jjlmoya/utils-astronomy 1.17.0 → 1.19.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 (49) hide show
  1. package/package.json +4 -2
  2. package/src/category/i18n/de.ts +2 -2
  3. package/src/category/i18n/pl.ts +2 -2
  4. package/src/category/i18n/ru.ts +4 -4
  5. package/src/category/i18n/sv.ts +1 -1
  6. package/src/category/i18n/zh.ts +1 -1
  7. package/src/data.ts +0 -5
  8. package/src/layouts/PreviewLayout.astro +7 -2
  9. package/src/tests/diacritics_density.test.ts +118 -0
  10. package/src/tests/inverted_punctuation.test.ts +84 -0
  11. package/src/tests/no_en_dash.test.ts +70 -0
  12. package/src/tests/pagespeed_best_practices.test.ts +198 -0
  13. package/src/tests/script_density.test.ts +94 -0
  14. package/src/tests/shared-test-helpers.ts +56 -0
  15. package/src/tests/tool_exports.test.ts +34 -0
  16. package/src/tests/tool_structure.test.ts +71 -0
  17. package/src/tool/bortleVisualizer/i18n/pl.ts +13 -13
  18. package/src/tool/bortleVisualizer/i18n/ru.ts +7 -7
  19. package/src/tool/deepSpaceScope/component.astro +7 -4
  20. package/src/tool/deepSpaceScope/i18n/de.ts +1 -1
  21. package/src/tool/deepSpaceScope/i18n/ko.ts +1 -1
  22. package/src/tool/deepSpaceScope/i18n/pl.ts +7 -7
  23. package/src/tool/deepSpaceScope/i18n/ru.ts +5 -5
  24. package/src/tool/deepSpaceScope/i18n/zh.ts +2 -2
  25. package/src/tool/smartEyepieceCalculator/component.astro +6 -6
  26. package/src/tool/smartEyepieceCalculator/i18n/en.ts +2 -1
  27. package/src/tool/smartEyepieceCalculator/i18n/fr.ts +11 -11
  28. package/src/tool/smartEyepieceCalculator/i18n/ru.ts +4 -4
  29. package/src/tool/smartEyepieceCalculator/i18n/zh.ts +2 -2
  30. package/src/tool/smartEyepieceCalculator/index.ts +2 -5
  31. package/src/tool/starExposureCalculator/component.astro +4 -4
  32. package/src/tool/starExposureCalculator/i18n/pl.ts +1 -1
  33. package/src/tool/starExposureCalculator/i18n/ru.ts +6 -6
  34. package/src/tool/telescopeResolution/component.astro +3 -3
  35. package/src/tool/telescopeResolution/i18n/de.ts +3 -3
  36. package/src/tool/telescopeResolution/i18n/en.ts +2 -2
  37. package/src/tool/telescopeResolution/i18n/es.ts +1 -1
  38. package/src/tool/telescopeResolution/i18n/fr.ts +2 -2
  39. package/src/tool/telescopeResolution/i18n/id.ts +1 -1
  40. package/src/tool/telescopeResolution/i18n/it.ts +1 -1
  41. package/src/tool/telescopeResolution/i18n/ja.ts +1 -1
  42. package/src/tool/telescopeResolution/i18n/ko.ts +1 -1
  43. package/src/tool/telescopeResolution/i18n/nl.ts +1 -1
  44. package/src/tool/telescopeResolution/i18n/pl.ts +2 -2
  45. package/src/tool/telescopeResolution/i18n/pt.ts +1 -1
  46. package/src/tool/telescopeResolution/i18n/ru.ts +10 -10
  47. package/src/tool/telescopeResolution/i18n/sv.ts +1 -1
  48. package/src/tool/telescopeResolution/i18n/tr.ts +1 -1
  49. package/src/tool/telescopeResolution/i18n/zh.ts +2 -2
@@ -2,6 +2,7 @@ import { bibliography } from '../bibliography';
2
2
  import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
3
  import type { EyepieceCalculatorLocaleContent } from '../entry';
4
4
 
5
+ const slug = 'smart-eyepiece-calculator';
5
6
  const title = 'Eyepiece Calculator & Visual Simulator';
6
7
  const description = 'Calculate magnification, true field of view (TFOV), and exit pupil for any eyepiece with your telescope. Features an interactive visual simulator.';
7
8
 
@@ -153,7 +154,7 @@ const appSchema: WithContext<SoftwareApplication> = {
153
154
  };
154
155
 
155
156
  export const content: EyepieceCalculatorLocaleContent = {
156
- slug: 'smart-eyepiece-calculator',
157
+ slug,
157
158
  title,
158
159
  description,
159
160
  ui,
@@ -27,10 +27,10 @@ const ui = {
27
27
  targetPleiades: 'Amas des Pléiades',
28
28
  targetAndromeda: 'Galaxie d\'Andromède',
29
29
  targetM13: 'Amas M13',
30
- statusDangerHighMag: 'Argent gaspillé : Vous poussez le télescope au-delà de ses limites physiques.',
31
- statusDangerPupil: 'Lumière perdue : La pupille de sortie dépasse 7 mm. Votre œil ne peut pas traiter autant de lumière.',
32
- statusWarningHighMag: 'Attention : Pour ce grossissement, vous aurez besoin d\'un ciel exceptionnellement stable (bon seeing).',
33
- statusWarningLowMag: 'Grossissement faible : Vous êtes en dessous du minimum recommandé. Vous pourriez voir l\'ombre du miroir secondaire ou perdre du contraste.',
30
+ statusDangerHighMag: 'Argent gaspillé: Vous poussez le télescope au-delà de ses limites physiques.',
31
+ statusDangerPupil: 'Lumière perdue: La pupille de sortie dépasse 7 mm. Votre œil ne peut pas traiter autant de lumière.',
32
+ statusWarningHighMag: 'Attention: Pour ce grossissement, vous aurez besoin d\'un ciel exceptionnellement stable (bon seeing).',
33
+ statusWarningLowMag: 'Grossissement faible: Vous êtes en dessous du minimum recommandé. Vous pourriez voir l\'ombre du miroir secondaire ou perdre du contraste.',
34
34
  statusPerfectDeepSky: 'Combinaison parfaite ! Idéal pour les objets étendus et le Ciel Profond (amas, nébuleuses).',
35
35
  statusPerfectPlanetary: 'Combinaison parfaite ! Idéal pour voir les détails planétaires (anneaux de Saturne, bandes de Jupiter).',
36
36
  statusPerfectGeneral: 'Excellente combinaison polyvalente ! Idéal pour l\'observation générale de tout type d\'objets.',
@@ -44,7 +44,7 @@ const ui = {
44
44
  const faq: EyepieceCalculatorLocaleContent['faq'] = [
45
45
  {
46
46
  question: 'Comment calculer le grossissement d\'un télescope ?',
47
- answer: 'La formule est simple : divisez la distance focale du télescope par celle de l\'oculaire. Par exemple, un télescope de 1000 mm avec un oculaire de 10 mm vous donne un grossissement de 100x.',
47
+ answer: 'La formule est simple: divisez la distance focale du télescope par celle de l\'oculaire. Par exemple, un télescope de 1000 mm avec un oculaire de 10 mm vous donne un grossissement de 100x.',
48
48
  },
49
49
  {
50
50
  question: 'Qu\'est-ce que la pupille de sortie et pourquoi est-ce important ?',
@@ -67,12 +67,12 @@ const seo: EyepieceCalculatorLocaleContent['seo'] = [
67
67
  type: 'summary',
68
68
  title: 'Facteurs clés pour choisir votre oculaire idéal',
69
69
  items: [
70
- 'Grossissement Maximum Réel : 2x l\'ouverture en mm (mais limité à 200-250x par le ciel).',
71
- 'Grossissement Minimum Utile : Ouverture divisée par 7 (limite de la pupille humaine).',
72
- 'Plage Optimale : Entre 0,5 mm et 7 mm de pupille de sortie.',
70
+ 'Grossissement Maximum Réel: 2x l\'ouverture en mm (mais limité à 200-250x par le ciel).',
71
+ 'Grossissement Minimum Utile: Ouverture divisée par 7 (limite de la pupille humaine).',
72
+ 'Plage Optimale: Entre 0,5 mm et 7 mm de pupille de sortie.',
73
73
  ],
74
74
  },
75
- { type: 'title', text: 'Comment choisir des oculaires pour votre télescope : Guide Pratique', level: 2 },
75
+ { type: 'title', text: 'Comment choisir des oculaires pour votre télescope: Guide Pratique', level: 2 },
76
76
  {
77
77
  type: 'paragraph',
78
78
  html: 'N\'achetez pas d\'oculaires à l\'instinct. La clé d\'une bonne observation réside dans l\'équilibre entre la résolution de votre télescope et la capacité biologique de votre œil. Un oculaire mal choisi peut rendre flou ou trop sombre le meilleur télescope du monde.',
@@ -80,14 +80,14 @@ const seo: EyepieceCalculatorLocaleContent['seo'] = [
80
80
  { type: 'title', text: '1. Le calcul du grossissement (G)', level: 3 },
81
81
  {
82
82
  type: 'paragraph',
83
- html: 'La formule est simple : divisez la focale du télescope par la focale de l\'oculaire. <br/><strong>Formule :</strong> Focale Télescope / Focale Oculaire = Grossissement. <br/>Exemple : Un télescope de 1000 mm avec un oculaire de 10 mm vous donne 100 grossissements (100x).',
83
+ html: 'La formule est simple: divisez la focale du télescope par la focale de l\'oculaire. <br/><strong>Formule :</strong> Focale Télescope / Focale Oculaire = Grossissement. <br/>Exemple: Un télescope de 1000 mm avec un oculaire de 10 mm vous donne 100 grossissements (100x).',
84
84
  },
85
85
  { type: 'title', text: '2. Le mythe du grossissement maximum', level: 3 },
86
86
  {
87
87
  type: 'paragraph',
88
88
  html: 'La limite réelle n\'est pas fixée par l\'oculaire, mais par l\'ouverture (le diamètre) de votre tube. <br/>- <strong>Limite théorique :</strong> 2 × Ouverture en mm. <br/>- <strong>Limite réelle (Seeing moyen) :</strong> Vous dépasserez rarement 200x - 250x à cause de la turbulence atmosphérique, quel que soit votre télescope. Pousser davantage ne donnera qu\'une tache floue agrandie.',
89
89
  },
90
- { type: 'title', text: '3. La pupille de sortie : le facteur de luminosité', level: 3 },
90
+ { type: 'title', text: '3. La pupille de sortie: le facteur de luminosité', level: 3 },
91
91
  {
92
92
  type: 'paragraph',
93
93
  html: 'La pupille de sortie est le cylindre de lumière qui sort de l\'oculaire vers votre œil. <br/>- <strong>Si elle est supérieure à 7 mm :</strong> Votre œil ne peut pas s\'ouvrir autant ; vous perdez de la lumière et gaspillez littéralement votre argent. <br/>- <strong>Si elle est inférieure à 0,5 mm :</strong> L\'image sera si sombre que vous verrez à peine les détails et commencerez à voir les poussières de votre propre œil.',
@@ -38,7 +38,7 @@ const ui = {
38
38
  compareText: 'Сравнить окуляры',
39
39
  apertureHelp: 'Диаметр трубы, обычно указан на наклейке или коробке.',
40
40
  focalHelp: 'Фокусное расстояние телескопа.',
41
- afovHelp: 'Кажущееся поле зрения окуляра. У Плёссла обычно 52°, у широкоугольных — 68° и более.',
41
+ afovHelp: 'Кажущееся поле зрения окуляра. У Плёссла обычно 52°, у широкоугольных - 68° и более.',
42
42
  };
43
43
 
44
44
  const faq: EyepieceCalculatorLocaleContent['faq'] = [
@@ -75,7 +75,7 @@ const seo: EyepieceCalculatorLocaleContent['seo'] = [
75
75
  { type: 'title', text: 'Как выбрать окуляры для телескопа: Практическое руководство', level: 2 },
76
76
  {
77
77
  type: 'paragraph',
78
- html: 'Не покупайте окуляры по интуиции. Ключ к хорошим наблюдениям — в балансе между разрешением телескопа и биологическими возможностями вашего глаза. Плохо подобранный окуляр может сделать изображение в лучшем телескопе мутным или слишком темным.',
78
+ html: 'Не покупайте окуляры по интуиции. Ключ к хорошим наблюдениям - в балансе между разрешением телескопа и биологическими возможностями вашего глаза. Плохо подобранный окуляр может сделать изображение в лучшем телескопе мутным или слишком темным.',
79
79
  },
80
80
  { type: 'title', text: '1. Расчет увеличения (M)', level: 3 },
81
81
  {
@@ -90,7 +90,7 @@ const seo: EyepieceCalculatorLocaleContent['seo'] = [
90
90
  { type: 'title', text: '3. Выходной зрачок: фактор яркости', level: 3 },
91
91
  {
92
92
  type: 'paragraph',
93
- html: 'Выходной зрачок — это световой цилиндр, выходящий из окуляра в ваш глаз. <br/>- <strong>Если он больше 7 мм:</strong> Ваш глаз не может открыться так широко; вы теряете свет и буквально выбрасываете деньги. <br/>- <strong>Если он меньше 0.5 мм:</strong> Изображение будет настолько темным, что вы едва заметите детали и начнете видеть "мушки" в собственном глазу.',
93
+ html: 'Выходной зрачок - это световой цилиндр, выходящий из окуляра в ваш глаз. <br/>- <strong>Если он больше 7 мм:</strong> Ваш глаз не может открыться так широко; вы теряете свет и буквально выбрасываете деньги. <br/>- <strong>Если он меньше 0.5 мм:</strong> Изображение будет настолько темным, что вы едва заметите детали и начнете видеть "мушки" в собственном глазу.',
94
94
  },
95
95
  {
96
96
  type: 'table',
@@ -115,7 +115,7 @@ const seo: EyepieceCalculatorLocaleContent['seo'] = [
115
115
  title: 'Влияние стабильности атмосферы (сиинг)',
116
116
  icon: 'mdi:weather-windy',
117
117
  badge: 'Совет по наблюдениям',
118
- html: 'Даже с лучшими окулярами ночи, когда звезды сильно мерцают, не подходят для больших увеличений. Это связано с атмосферной турбулентностью (сиигом), которая рассеивает свет. При наблюдении планет рекомендуется начинать с малого увеличения и следить за стабильностью изображения; если картинка кажется «подводной», уменьшите кратность, чтобы увидеть больше деталей. В большинстве городских районов 150x–200x — это практический предел.',
118
+ html: 'Даже с лучшими окулярами ночи, когда звезды сильно мерцают, не подходят для больших увеличений. Это связано с атмосферной турбулентностью (сиигом), которая рассеивает свет. При наблюдении планет рекомендуется начинать с малого увеличения и следить за стабильностью изображения; если картинка кажется \"подводной\", уменьшите кратность, чтобы увидеть больше деталей. В большинстве городских районов 150x-200x - это практический предел.',
119
119
  },
120
120
  ];
121
121
 
@@ -90,7 +90,7 @@ const seo: EyepieceCalculatorLocaleContent['seo'] = [
90
90
  { type: 'title', text: '3. 出瞳直径:亮度因素', level: 3 },
91
91
  {
92
92
  type: 'paragraph',
93
- html: '出瞳直径是从目镜射向你眼睛的光束。 <br/>- <strong>如果大于 7mm:</strong> 你的眼睛无法张开那么大;你会损失光线,字面上就是在浪费钱。 <br/>- <strong>如果小于 0.5mm:</strong> 图像会变得非常暗,以至于你几乎看不到细节,并会开始看到自己眼中的“浮游物”。',
93
+ html: '出瞳直径是从目镜射向你眼睛的光束。 <br/>- <strong>如果大于 7mm:</strong> 你的眼睛无法张开那么大;你会损失光线,字面上就是在浪费钱。 <br/>- <strong>如果小于 0.5mm:</strong> 图像会变得非常暗,以至于你几乎看不到细节,并会开始看到自己眼中的\"浮游物\"。',
94
94
  },
95
95
  {
96
96
  type: 'table',
@@ -115,7 +115,7 @@ const seo: EyepieceCalculatorLocaleContent['seo'] = [
115
115
  title: '大气视宁度的影响',
116
116
  icon: 'mdi:weather-windy',
117
117
  badge: '观测技巧',
118
- html: '即使拥有顶级的目镜,如果大气层不稳定(星光闪烁剧烈),高倍观测的效果也会大打折扣。这种现象被称为“视宁度”。在观测行星时,建议先从低倍率开始,观察图像的垂直稳定性。如果图像像是在水底一样晃动,那么降低倍率反而能看到更多细节。在大多数城市环境下,150x 到 200x 是最实用的上限。',
118
+ html: '即使拥有顶级的目镜,如果大气层不稳定(星光闪烁剧烈),高倍观测的效果也会大打折扣。这种现象被称为\"视宁度\"。在观测行星时,建议先从低倍率开始,观察图像的垂直稳定性。如果图像像是在水底一样晃动,那么降低倍率反而能看到更多细节。在大多数城市环境下,150x 到 200x 是最实用的上限。',
119
119
  },
120
120
  ];
121
121
 
@@ -1,16 +1,13 @@
1
1
  import type { ToolDefinition } from '../../types';
2
2
  import { eyepieceCalculator } from './entry';
3
- import SEOComponent from './seo.astro';
4
- import BibliographyComponent from './bibliography.astro';
5
3
 
6
4
  export * from './entry';
7
- export { SEOComponent, BibliographyComponent };
8
5
 
9
6
  export const EYEPIECE_CALCULATOR_TOOL: ToolDefinition = {
10
7
  entry: eyepieceCalculator,
11
8
  Component: () => import('./component.astro'),
12
- SEOComponent,
13
- BibliographyComponent,
9
+ SEOComponent: () => import('./seo.astro'),
10
+ BibliographyComponent: () => import('./bibliography.astro'),
14
11
  };
15
12
 
16
13
  export { EYEPIECE_CALCULATOR_TOOL as smartEyepieceCalculator };
@@ -22,7 +22,7 @@ const { ui } = Astro.props;
22
22
  </div>
23
23
 
24
24
  <div class="star-control-group">
25
- <label class="star-control-label">{ui.sensorLabel}</label>
25
+ <label class="star-control-label" for="sensor-type">{ui.sensorLabel}</label>
26
26
  <div class="star-select-wrapper">
27
27
  <select id="sensor-type" class="star-select">
28
28
  <option value="1.0">Full Frame (x1.0)</option>
@@ -37,7 +37,7 @@ const { ui } = Astro.props;
37
37
  </div>
38
38
 
39
39
  <div class="star-control-group">
40
- <label class="star-control-label">{ui.focalLabel}</label>
40
+ <label class="star-control-label" for="focal-length">{ui.focalLabel}</label>
41
41
  <div class="star-stepper">
42
42
  <button class="star-step-btn" data-action="dec" data-target="focal">-</button>
43
43
  <input type="number" id="focal-length" value="14" min="1" max="1000" class="star-stepper-input" />
@@ -47,7 +47,7 @@ const { ui } = Astro.props;
47
47
 
48
48
  <div id="npf-controls" class="star-npf-controls">
49
49
  <div class="star-control-group">
50
- <label class="star-control-label">{ui.apertureLabel}</label>
50
+ <label class="star-control-label" for="aperture">{ui.apertureLabel}</label>
51
51
  <div class="star-stepper">
52
52
  <button class="star-step-btn" data-action="dec" data-target="aperture">-</button>
53
53
  <input type="number" id="aperture" value="2.8" step="0.1" min="0.5" max="32" class="star-stepper-input" />
@@ -55,7 +55,7 @@ const { ui } = Astro.props;
55
55
  </div>
56
56
  </div>
57
57
  <div class="star-control-group">
58
- <label class="star-control-label">{ui.megapixelsLabel}</label>
58
+ <label class="star-control-label" for="megapixels">{ui.megapixelsLabel}</label>
59
59
  <div class="star-stepper">
60
60
  <button class="star-step-btn" data-action="dec" data-target="megapixels">-</button>
61
61
  <input type="number" id="megapixels" value="24" min="1" max="150" class="star-stepper-input" />
@@ -29,7 +29,7 @@ const ui: StarExposureCalculatorUI = {
29
29
  const faq: StarExposureCalculatorLocaleContent['faq'] = [
30
30
  {
31
31
  question: 'Co się stanie, jeśli przekroczę obliczony czas?',
32
- answer: 'Jeśli przekroczysz maksymalny czas, gwiazdy zaczną się wydłużać, zamiast pozostać ostrymi punktami. Przy bardzo długich ekspozycjach otrzymasz ślady gwiazd (star trails) – jest to uznana technika artystyczna, ale wymaga znacznie dłuższych czasów, aby wyglądała estetycznie.',
32
+ answer: 'Jeśli przekroczysz maksymalny czas, gwiazdy zaczną się wydłużać, zamiast pozostać ostrymi punktami. Przy bardzo długich ekspozycjach otrzymasz ślady gwiazd (star trails) - jest to uznana technika artystyczna, ale wymaga znacznie dłuższych czasów, aby wyglądała estetycznie.',
33
33
  },
34
34
  {
35
35
  question: 'Kiedy powinienem używać NPF zamiast reguły 500?',
@@ -29,7 +29,7 @@ const ui: StarExposureCalculatorUI = {
29
29
  const faq: StarExposureCalculatorLocaleContent['faq'] = [
30
30
  {
31
31
  question: 'Что будет, если превысить расчетное время?',
32
- answer: 'Если вы превысите максимальную выдержку, звезды вместо четких точек начнут превращаться в овалы. При очень длинных выдержках получатся звездные треки (star trails) — это отдельный художественный прием, требующий гораздо большего времени экспозиции.',
32
+ answer: 'Если вы превысите максимальную выдержку, звезды вместо четких точек начнут превращаться в овалы. При очень длинных выдержках получатся звездные треки (star trails) - это отдельный художественный прием, требующий гораздо большего времени экспозиции.',
33
33
  },
34
34
  {
35
35
  question: 'Когда использовать NPF вместо правила 500?',
@@ -41,7 +41,7 @@ const faq: StarExposureCalculatorLocaleContent['faq'] = [
41
41
  },
42
42
  {
43
43
  question: 'Работает ли этот калькулятор с астротрекером?',
44
- answer: 'Для самого неба — нет, так как трекер компенсирует вращение Земли. Однако калькулятор важен для расчета выдержки переднего плана, который остается неподвижным, или для проверки работы мотора трекера, если вы видите ошибки ведения.',
44
+ answer: 'Для самого неба - нет, так как трекер компенсирует вращение Земли. Однако калькулятор важен для расчета выдержки переднего плана, который остается неподвижным, или для проверки работы мотора трекера, если вы видите ошибки ведения.',
45
45
  },
46
46
  ];
47
47
 
@@ -57,7 +57,7 @@ const seo: StarExposureCalculatorLocaleContent['seo'] = [
57
57
  type: 'summary',
58
58
  title: 'Ключевые моменты правила 500 и NPF',
59
59
  items: [
60
- 'Правило 500 — хорошее приближение для низкого разрешения и малых форматов просмотра.',
60
+ 'Правило 500 - хорошее приближение для низкого разрешения и малых форматов просмотра.',
61
61
  'Модель NPF гораздо точнее для современных камер с высокой плотностью пикселей.',
62
62
  'Небесное склонение позволяет увеличивать выдержку при съемке у полюсов (Dec 90°).',
63
63
  'Кроп-фактор матрицы умножает эффективное фокусное расстояние и сокращает макс. выдержку.',
@@ -66,12 +66,12 @@ const seo: StarExposureCalculatorLocaleContent['seo'] = [
66
66
  { type: 'title', text: 'Мастерство астрофотографии: Правило 500 и Модель NPF', level: 2 },
67
67
  {
68
68
  type: 'paragraph',
69
- html: 'Съемка величественного ночного неба — одно из самых вдохновляющих занятий. Однако главным препятствием является вращение Земли. Если оставить затвор открытым слишком долго, идеальные точки света превратятся в некрасивые черточки. Чтобы получить резкие звезды, нужно рассчитать <strong>максимальную выдержку</strong> по Правилу 500 или Модели NPF.',
69
+ html: 'Съемка величественного ночного неба - одно из самых вдохновляющих занятий. Однако главным препятствием является вращение Земли. Если оставить затвор открытым слишком долго, идеальные точки света превратятся в некрасивые черточки. Чтобы получить резкие звезды, нужно рассчитать <strong>максимальную выдержку</strong> по Правилу 500 или Модели NPF.',
70
70
  },
71
71
  { type: 'title', text: 'Что такое Правило 500?', level: 2 },
72
72
  {
73
73
  type: 'paragraph',
74
- html: '<strong>Правило 500</strong> — это упрощенная эмпирическая формула, которая десятилетиями была стандартом в пейзажной астрофотографии. Формула: <code>Время = 500 / (Фокусное расстояние × Кроп-фактор)</code>. Она позволяет быстро считать в уме и достаточно точна для старых камер и малых форматов печати.',
74
+ html: '<strong>Правило 500</strong> - это упрощенная эмпирическая формула, которая десятилетиями была стандартом в пейзажной астрофотографии. Формула: <code>Время = 500 / (Фокусное расстояние × Кроп-фактор)</code>. Она позволяет быстро считать в уме и достаточно точна для старых камер и малых форматов печати.',
75
75
  },
76
76
  { type: 'title', text: 'Кроп-фактор и его влияние', level: 2 },
77
77
  {
@@ -91,7 +91,7 @@ const seo: StarExposureCalculatorLocaleContent['seo'] = [
91
91
  { type: 'title', text: 'Модель NPF: Точность для современных камер', level: 2 },
92
92
  {
93
93
  type: 'paragraph',
94
- html: 'Правило 500 появилось в эпоху пленки. Сегодня, с матрицами 24-60 Мп, пиксели настолько малы, что смаз заметен гораздо раньше. <strong>Модель NPF</strong>, разработанная Французским астрономическим обществом, добавляет в расчет диафрагму и размер пикселя: <code>t = (35×f + 30×p) / F</code>, где f — диафрагма, p — размер пикселя, а F — фокусное расстояние.',
94
+ html: 'Правило 500 появилось в эпоху пленки. Сегодня, с матрицами 24-60 Мп, пиксели настолько малы, что смаз заметен гораздо раньше. <strong>Модель NPF</strong>, разработанная Французским астрономическим обществом, добавляет в расчет диафрагму и размер пикселя: <code>t = (35×f + 30×p) / F</code>, где f - диафрагма, p - размер пикселя, а F - фокусное расстояние.',
95
95
  },
96
96
  {
97
97
  type: 'tip',
@@ -15,7 +15,7 @@ const { ui } = Astro.props;
15
15
  <div class="tscope-grid">
16
16
  <div class="tscope-controls">
17
17
  <div class="tscope-control-group">
18
- <label class="tscope-control-label">{ui.apertureLabel}</label>
18
+ <label class="tscope-control-label" for="aperture-input">{ui.apertureLabel}</label>
19
19
  <div class="tscope-stepper">
20
20
  <button class="tscope-step-btn" data-action="dec" data-target="aperture">-</button>
21
21
  <input type="number" id="aperture-input" value="150" min="1" max="2000" class="tscope-stepper-input" />
@@ -24,7 +24,7 @@ const { ui } = Astro.props;
24
24
  </div>
25
25
 
26
26
  <div class="tscope-control-group">
27
- <label class="tscope-control-label">{ui.unitLabel}</label>
27
+ <label class="tscope-control-label" for="unit-selector">{ui.unitLabel}</label>
28
28
  <div class="tscope-select-wrapper">
29
29
  <select id="unit-selector" class="tscope-select">
30
30
  <option value="mm">{ui.mmUnit}</option>
@@ -37,7 +37,7 @@ const { ui } = Astro.props;
37
37
  </div>
38
38
 
39
39
  <div class="tscope-control-group">
40
- <label class="tscope-control-label">{ui.presetsLabel}</label>
40
+ <label class="tscope-control-label" for="preset-selector">{ui.presetsLabel}</label>
41
41
  <div class="tscope-select-wrapper">
42
42
  <select id="preset-selector" class="tscope-select">
43
43
  <option value="">{ui.presetsPlaceholder}</option>
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Millimeter (mm)',
14
14
  inUnit: 'Zoll (in)',
15
15
  presetsLabel: 'Gängige Modelle',
16
- presetsPlaceholder: '-- Modell wählen --',
16
+ presetsPlaceholder: '- Modell wählen -',
17
17
  seeingLabel: 'Himmelsqualität (Seeing)',
18
18
  dawesLabel: 'Nützliche Auflösung (Dawes)',
19
19
  arcsecUnit: 'Bogensekunden',
@@ -48,7 +48,7 @@ const faq: TelescopeResolutionLocaleContent['faq'] = [
48
48
  },
49
49
  {
50
50
  question: 'Was ist die maximale sinnvolle Vergrößerung eines Teleskops?',
51
- answer: 'Die goldene Regel lautet: 2x die Öffnung in mm (oder 50x pro Zoll). Ein 150-mm-Teleskop hat ein sinnvolles Maximum von 300x. Wird diese Grenze überschritten, wird das Bild zwar größer, aber nicht detailreicher – es wird lediglich dunkler und unschärfer. Das Seeing begrenzt diesen Wert in durchschnittlichen Nächten oft auf 100-150x.',
51
+ answer: 'Die goldene Regel lautet: 2x die Öffnung in mm (oder 50x pro Zoll). Ein 150-mm-Teleskop hat ein sinnvolles Maximum von 300x. Wird diese Grenze überschritten, wird das Bild zwar größer, aber nicht detailreicher - es wird lediglich dunkler und unschärfer. Das Seeing begrenzt diesen Wert in durchschnittlichen Nächten oft auf 100-150x.',
52
52
  },
53
53
  ];
54
54
 
@@ -109,7 +109,7 @@ const seo: TelescopeResolutionLocaleContent['seo'] = [
109
109
  { type: 'title', text: 'Praktische Tipps zur Maximierung der Auflösung', level: 2 },
110
110
  {
111
111
  type: 'paragraph',
112
- html: 'Warten Sie immer, bis das Teleskop ein thermisches Gleichgewicht mit der Außenluft erreicht hat. Vermeiden Sie Beobachtungen über Hausdächern oder Asphaltflächen, die gespeicherte Wärme abgeben. Wählen Sie Nächte nach einem Kaltfrontdurchgang für stabilere Luftschichten. Nutzen Sie die höchste Vergrößerung, die noch ein ruhiges Bild liefert – "kocht" das Bild, reduzieren Sie die Vergrößerung. Geben Sie Ihren Augen zudem 20 Minuten Zeit für die <strong>Dunkeladaptation</strong>, um die Empfindlichkeit für Farbdetails auf Planeten zu maximieren.',
112
+ html: 'Warten Sie immer, bis das Teleskop ein thermisches Gleichgewicht mit der Außenluft erreicht hat. Vermeiden Sie Beobachtungen über Hausdächern oder Asphaltflächen, die gespeicherte Wärme abgeben. Wählen Sie Nächte nach einem Kaltfrontdurchgang für stabilere Luftschichten. Nutzen Sie die höchste Vergrößerung, die noch ein ruhiges Bild liefert - "kocht" das Bild, reduzieren Sie die Vergrößerung. Geben Sie Ihren Augen zudem 20 Minuten Zeit für die <strong>Dunkeladaptation</strong>, um die Empfindlichkeit für Farbdetails auf Planeten zu maximieren.',
113
113
  },
114
114
  {
115
115
  type: 'stats',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Millimeters (mm)',
14
14
  inUnit: 'Inches (in)',
15
15
  presetsLabel: 'Common Models',
16
- presetsPlaceholder: '-- Select Preset --',
16
+ presetsPlaceholder: '- Select Preset -',
17
17
  seeingLabel: 'Sky Quality (Seeing)',
18
18
  dawesLabel: 'Useful Resolution (Dawes)',
19
19
  arcsecUnit: 'arcseconds',
@@ -109,7 +109,7 @@ const seo: TelescopeResolutionLocaleContent['seo'] = [
109
109
  { type: 'title', text: 'Practical Tips to Maximize Resolution', level: 2 },
110
110
  {
111
111
  type: 'paragraph',
112
- html: 'Beyond aperture and collimation, several observational habits dramatically improve the resolution you achieve in practice. Always wait for the telescope to reach thermal equilibrium with outdoor air — this takes 30-60 minutes for most instruments. Avoid observing over rooftops, parking lots, or any surface that radiates stored heat. Choose nights after cold fronts pass, which tend to bring more stable atmospheric layers. Use the highest magnification that still gives a steady image — if the image is "boiling", drop to a lower power eyepiece and wait for a steadier moment to push higher. Finally, <strong>dark adaptation</strong> matters even for planetary work: give your eyes 20 minutes of complete darkness to maximize cone sensitivity for color detail on planets like Mars or Jupiter.',
112
+ html: 'Beyond aperture and collimation, several observational habits dramatically improve the resolution you achieve in practice. Always wait for the telescope to reach thermal equilibrium with outdoor air - this takes 30-60 minutes for most instruments. Avoid observing over rooftops, parking lots, or any surface that radiates stored heat. Choose nights after cold fronts pass, which tend to bring more stable atmospheric layers. Use the highest magnification that still gives a steady image - if the image is "boiling", drop to a lower power eyepiece and wait for a steadier moment to push higher. Finally, <strong>dark adaptation</strong> matters even for planetary work: give your eyes 20 minutes of complete darkness to maximize cone sensitivity for color detail on planets like Mars or Jupiter.',
113
113
  },
114
114
  {
115
115
  type: 'stats',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Milímetros (mm)',
14
14
  inUnit: 'Pulgadas (in)',
15
15
  presetsLabel: 'Modelos Comunes',
16
- presetsPlaceholder: '-- Seleccionar Preset --',
16
+ presetsPlaceholder: '- Seleccionar Preset -',
17
17
  seeingLabel: 'Calidad del Cielo (Seeing)',
18
18
  dawesLabel: 'Resolución Útil (Dawes)',
19
19
  arcsecUnit: 'arcosegundos',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Millimètres (mm)',
14
14
  inUnit: 'Pouces (in)',
15
15
  presetsLabel: 'Modèles Courants',
16
- presetsPlaceholder: '-- Sélectionner un Modèle --',
16
+ presetsPlaceholder: '- Sélectionner un Modèle -',
17
17
  seeingLabel: 'Qualité du Ciel (Seeing)',
18
18
  dawesLabel: 'Résolution Utile (Dawes)',
19
19
  arcsecUnit: 'arcsecondes',
@@ -109,7 +109,7 @@ const seo: TelescopeResolutionLocaleContent['seo'] = [
109
109
  { type: 'title', text: 'Conseils Pratiques pour Maximiser la Résolution', level: 2 },
110
110
  {
111
111
  type: 'paragraph',
112
- html: 'Au-delà de l\'ouverture et de la collimation, plusieurs habitudes d\'observation améliorent considérablement la résolution obtenue en pratique. Attendez toujours que le télescope atteigne l\'équilibre thermique avec l\'air extérieur — cela prend 30 à 60 minutes pour la plupart des instruments. Évitez d\'observer au-dessus des toits, parkings ou toute surface qui rayonne la chaleur emmagasinée. Choisissez des nuits après le passage de fronts froids, qui tendent à apporter des couches atmosphériques plus stables. Utilisez le grossissement maximum qui donne encore une image stable — si l\'image "bout", passez à un oculaire de plus faible grossissement. Enfin, l\'<strong>adaptation à l\'obscurité</strong> est importante même pour le travail planétaire: laissez vos yeux 20 minutes dans l\'obscurité complète pour maximiser la sensibilité aux détails colorés sur des planètes comme Mars ou Jupiter.',
112
+ html: 'Au-delà de l\'ouverture et de la collimation, plusieurs habitudes d\'observation améliorent considérablement la résolution obtenue en pratique. Attendez toujours que le télescope atteigne l\'équilibre thermique avec l\'air extérieur - cela prend 30 à 60 minutes pour la plupart des instruments. Évitez d\'observer au-dessus des toits, parkings ou toute surface qui rayonne la chaleur emmagasinée. Choisissez des nuits après le passage de fronts froids, qui tendent à apporter des couches atmosphériques plus stables. Utilisez le grossissement maximum qui donne encore une image stable - si l\'image "bout", passez à un oculaire de plus faible grossissement. Enfin, l\'<strong>adaptation à l\'obscurité</strong> est importante même pour le travail planétaire: laissez vos yeux 20 minutes dans l\'obscurité complète pour maximiser la sensibilité aux détails colorés sur des planètes comme Mars ou Jupiter.',
113
113
  },
114
114
  {
115
115
  type: 'stats',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Milimeter (mm)',
14
14
  inUnit: 'Inci (in)',
15
15
  presetsLabel: 'Model Umum',
16
- presetsPlaceholder: '-- Pilih Preset --',
16
+ presetsPlaceholder: '- Pilih Preset -',
17
17
  seeingLabel: 'Kualitas Langit (Seeing)',
18
18
  dawesLabel: 'Resolusi Berguna (Dawes)',
19
19
  arcsecUnit: 'detik busur',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Millimetri (mm)',
14
14
  inUnit: 'Pollici (in)',
15
15
  presetsLabel: 'Modelli Comuni',
16
- presetsPlaceholder: '-- Seleziona Preset --',
16
+ presetsPlaceholder: '- Seleziona Preset -',
17
17
  seeingLabel: 'Qualità del Cielo (Seeing)',
18
18
  dawesLabel: 'Risoluzione Utile (Dawes)',
19
19
  arcsecUnit: 'arcosecondi',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'ミリメートル (mm)',
14
14
  inUnit: 'インチ (in)',
15
15
  presetsLabel: '一般的なモデル',
16
- presetsPlaceholder: '-- モデルを選択 --',
16
+ presetsPlaceholder: '- モデルを選択 -',
17
17
  seeingLabel: '大気の安定度(シーイング)',
18
18
  dawesLabel: '有効分解能(ドーズ)',
19
19
  arcsecUnit: '秒',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: '밀리미터 (mm)',
14
14
  inUnit: '인치 (in)',
15
15
  presetsLabel: '일반적인 모델',
16
- presetsPlaceholder: '-- 모델 선택 --',
16
+ presetsPlaceholder: '- 모델 선택 -',
17
17
  seeingLabel: '하늘 상태 (시잉)',
18
18
  dawesLabel: '유효 분해능 (도즈)',
19
19
  arcsecUnit: '초',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Millimeters (mm)',
14
14
  inUnit: 'Inches (in)',
15
15
  presetsLabel: 'Veelvoorkomende Modellen',
16
- presetsPlaceholder: '-- Selecteer Model --',
16
+ presetsPlaceholder: '- Selecteer Model -',
17
17
  seeingLabel: 'Hemelkwaliteit (Seeing)',
18
18
  dawesLabel: 'Nuttige Resolutie (Dawes)',
19
19
  arcsecUnit: 'boogseconden',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Milimetry (mm)',
14
14
  inUnit: 'Cale (in)',
15
15
  presetsLabel: 'Popularne modele',
16
- presetsPlaceholder: '-- Wybierz model --',
16
+ presetsPlaceholder: '- Wybierz model -',
17
17
  seeingLabel: 'Jakość nieba (Seeing)',
18
18
  dawesLabel: 'Użyteczna rozdzielczość (Dawes)',
19
19
  arcsecUnit: 'sekund łuku',
@@ -48,7 +48,7 @@ const faq: TelescopeResolutionLocaleContent['faq'] = [
48
48
  },
49
49
  {
50
50
  question: 'Jakie jest maksymalne użyteczne powiększenie teleskopu?',
51
- answer: 'Złota zasada to 2x apertura w mm (lub 50x na cal). Teleskop 150 mm ma użyteczne maksimum 300x. Przekroczenie tego limitu sprawia, że obraz jest większy, ale bez dodatkowych detali – staje się jedynie ciemniejszy i bardziej rozmazany. Seeing często ogranicza tę wartość do 100-150x w przeciętne noce.',
51
+ answer: 'Złota zasada to 2x apertura w mm (lub 50x na cal). Teleskop 150 mm ma użyteczne maksimum 300x. Przekroczenie tego limitu sprawia, że obraz jest większy, ale bez dodatkowych detali - staje się jedynie ciemniejszy i bardziej rozmazany. Seeing często ogranicza tę wartość do 100-150x w przeciętne noce.',
52
52
  },
53
53
  ];
54
54
 
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Milímetros (mm)',
14
14
  inUnit: 'Polegadas (in)',
15
15
  presetsLabel: 'Modelos Comuns',
16
- presetsPlaceholder: '-- Selecionar Predefinição --',
16
+ presetsPlaceholder: '- Selecionar Predefinição -',
17
17
  seeingLabel: 'Qualidade do Céu (Seeing)',
18
18
  dawesLabel: 'Resolução Útil (Dawes)',
19
19
  arcsecUnit: 'arcosegundos',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Миллиметры (мм)',
14
14
  inUnit: 'Дюймы (in)',
15
15
  presetsLabel: 'Популярные модели',
16
- presetsPlaceholder: '-- Выберите пресет --',
16
+ presetsPlaceholder: '- Выберите пресет -',
17
17
  seeingLabel: 'Качество неба (Seeing)',
18
18
  dawesLabel: 'Полезное разрешение (Дауэс)',
19
19
  arcsecUnit: 'угл. сек.',
@@ -36,19 +36,19 @@ const ui: TelescopeResolutionUI = {
36
36
  const faq: TelescopeResolutionLocaleContent['faq'] = [
37
37
  {
38
38
  question: 'Что такое предел Дауэса?',
39
- answer: 'Предел Дауэса — это эмпирический критерий углового разрешения телескопа, рассчитываемый как 116/D (где D — диаметр в мм). Он представляет собой минимальное расстояние в угловых секундах между двумя звездами одинаковой величины, которое опытный наблюдатель может различить как две отдельные точки. Он был предложен британским астрономом Уильямом Дауэсом в XIX веке.',
39
+ answer: 'Предел Дауэса - это эмпирический критерий углового разрешения телескопа, рассчитываемый как 116/D (где D - диаметр в мм). Он представляет собой минимальное расстояние в угловых секундах между двумя звездами одинаковой величины, которое опытный наблюдатель может различить как две отдельные точки. Он был предложен британским астрономом Уильямом Дауэсом в XIX веке.',
40
40
  },
41
41
  {
42
42
  question: 'В чем разница между критериями Дауэса и Рэлея?',
43
- answer: 'Предел Дауэса (116/D) является эмпирическим и основан на особенностях человеческого зрения при наблюдении двойных звезд. Критеририй Рэлея (138/D) — физический, основанный на волновой природе света. Рэлей более строг и лучше применим к деталям на поверхностях планет (полосы Юпитера, лунные кратеры). Дауэс полезнее для разделения звездных пар.',
43
+ answer: 'Предел Дауэса (116/D) является эмпирическим и основан на особенностях человеческого зрения при наблюдении двойных звезд. Критеририй Рэлея (138/D) - физический, основанный на волновой природе света. Рэлей более строг и лучше применим к деталям на поверхностях планет (полосы Юпитера, лунные кратеры). Дауэс полезнее для разделения звездных пар.',
44
44
  },
45
45
  {
46
46
  question: 'Что такое сиинг (seeing) и как он влияет на меня?',
47
- answer: 'Сиинг — это мера атмосферной турбулентности, искажающей свет при прохождении через воздух. В обычную ночь сиинг ограничивает разрешение до 1-2 угловых секунд, что означает, что телескопы больше ~115 мм не смогут превысить этот атмосферный предел. Отличный сиинг (0.5") встречается редко и обычно в высокогорных местах с низкой тепловой активностью.',
47
+ answer: 'Сиинг - это мера атмосферной турбулентности, искажающей свет при прохождении через воздух. В обычную ночь сиинг ограничивает разрешение до 1-2 угловых секунд, что означает, что телескопы больше ~115 мм не смогут превысить этот атмосферный предел. Отличный сиинг (0.5") встречается редко и обычно в высокогорных местах с низкой тепловой активностью.',
48
48
  },
49
49
  {
50
50
  question: 'Какое максимальное полезное увеличение у телескопа?',
51
- answer: 'Золотое правило: 2x на каждый мм апертуры (или 50x на дюйм). Для 150-мм телескопа полезный максимум составляет 300x. Превышение этого предела делает изображение больше, но не добавляет деталей — оно становится только темнее и размытее. Сиинг часто ограничивает это значение до 100-150x в обычные ночи.',
51
+ answer: 'Золотое правило: 2x на каждый мм апертуры (или 50x на дюйм). Для 150-мм телескопа полезный максимум составляет 300x. Превышение этого предела делает изображение больше, но не добавляет деталей - оно становится только темнее и размытее. Сиинг часто ограничивает это значение до 100-150x в обычные ночи.',
52
52
  },
53
53
  ];
54
54
 
@@ -67,7 +67,7 @@ const seo: TelescopeResolutionLocaleContent['seo'] = [
67
67
  'Предел Дауэса (116/D мм) определяет минимальное расстояние между разрешимыми двойными звездами.',
68
68
  'Критерий Рэлея (138/D мм) определяет минимальные видимые детали на планетарных поверхностях.',
69
69
  'Атмосферный сиинг (обычно 1-2") обычно превосходит теоретический предел телескопов более 115 мм.',
70
- 'Максимальное полезное увеличение — 2x апертуры в мм; его превышение только затемняет изображение.',
70
+ 'Максимальное полезное увеличение - 2x апертуры в мм; его превышение только затемняет изображение.',
71
71
  ],
72
72
  },
73
73
  { type: 'title', text: 'Астрономическое разрешение: Руководство по пределам Дауэса и Рэлея', level: 2 },
@@ -77,12 +77,12 @@ const seo: TelescopeResolutionLocaleContent['seo'] = [
77
77
  },
78
78
  {
79
79
  type: 'paragraph',
80
- html: 'Существует два основных критерия для количественной оценки этого разрешения. <strong>Предел Дауэса</strong> (116/D угл. сек) является эмпирическим и был определен астрономом Уильямом Дауэсом на основе наблюдений двойных звезд. <strong>Критерий Рэлея</strong> (138/D угл. сек) — теоретический, выведенный из волновой физики дифракции света. Оба сходятся на том, что апертура является решающим фактором.',
80
+ html: 'Существует два основных критерия для количественной оценки этого разрешения. <strong>Предел Дауэса</strong> (116/D угл. сек) является эмпирическим и был определен астрономом Уильямом Дауэсом на основе наблюдений двойных звезд. <strong>Критерий Рэлея</strong> (138/D угл. сек) - теоретический, выведенный из волновой физики дифракции света. Оба сходятся на том, что апертура является решающим фактором.',
81
81
  },
82
82
  { type: 'title', text: 'Сиинг: Атмосферный барьер', level: 2 },
83
83
  {
84
84
  type: 'paragraph',
85
- html: 'У вас может быть самый большой телескоп в мире, но если атмосфера нестабильна, вы не увидите мелких деталей. <strong>Сиинг</strong> — это мера атмосферной турбулентности. В обычную ночь атмосфера ограничивает разрешение примерно до 1-1,5 угловых секунд. Для телескопов размером более 115 мм именно сиинг является «узким местом», а не оптика.',
85
+ html: 'У вас может быть самый большой телескоп в мире, но если атмосфера нестабильна, вы не увидите мелких деталей. <strong>Сиинг</strong> - это мера атмосферной турбулентности. В обычную ночь атмосфера ограничивает разрешение примерно до 1-1,5 угловых секунд. Для телескопов размером более 115 мм именно сиинг является \"узким местом\", а не оптика.',
86
86
  },
87
87
  {
88
88
  type: 'table',
@@ -99,12 +99,12 @@ const seo: TelescopeResolutionLocaleContent['seo'] = [
99
99
  {
100
100
  type: 'tip',
101
101
  title: 'Термостабилизация: Секрет четкости',
102
- html: 'Главный враг разрешения — не внешний сиинг, а <strong>локальный сиинг</strong> внутри трубы телескопа. Теплый воздух, остающийся внутри, создает конвекционные потоки, разрушающие детализацию. Дайте вашему телескопу акклиматизироваться к наружной температуре в течение как минимум 30-60 минут перед наблюдениями с большим увеличением.',
102
+ html: 'Главный враг разрешения - не внешний сиинг, а <strong>локальный сиинг</strong> внутри трубы телескопа. Теплый воздух, остающийся внутри, создает конвекционные потоки, разрушающие детализацию. Дайте вашему телескопу акклиматизироваться к наружной температуре в течение как минимум 30-60 минут перед наблюдениями с большим увеличением.',
103
103
  },
104
104
  { type: 'title', text: 'Юстировка: Настройка, раскрывающая потенциал', level: 2 },
105
105
  {
106
106
  type: 'paragraph',
107
- html: 'Плохо отъюстированный телескоп (с несоосными зеркалами) никогда не будет работать на пределе Дауэса, независимо от апертуры. <strong>Юстировка (коллимация)</strong> — это процесс идеального выравнивания вторичного и первичного зеркал относительно фокусера. Для зеркальных телескопов (Ньютонов, Добсонов) юстировка — важная периодическая задача. Используйте проверку по звезде для контроля.',
107
+ html: 'Плохо отъюстированный телескоп (с несоосными зеркалами) никогда не будет работать на пределе Дауэса, независимо от апертуры. <strong>Юстировка (коллимация)</strong> - это процесс идеального выравнивания вторичного и первичного зеркал относительно фокусера. Для зеркальных телескопов (Ньютонов, Добсонов) юстировка - важная периодическая задача. Используйте проверку по звезде для контроля.',
108
108
  },
109
109
  { type: 'title', text: 'Практические советы по максимизации разрешения', level: 2 },
110
110
  {
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Millimeter (mm)',
14
14
  inUnit: 'Tum (in)',
15
15
  presetsLabel: 'Vanliga modeller',
16
- presetsPlaceholder: '-- Välj förinställning --',
16
+ presetsPlaceholder: '- Välj förinställning -',
17
17
  seeingLabel: 'Himmelskvalitet (Seeing)',
18
18
  dawesLabel: 'Användbar upplösning (Dawes)',
19
19
  arcsecUnit: 'bågsekunder',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: 'Milimetre (mm)',
14
14
  inUnit: 'İnç (in)',
15
15
  presetsLabel: 'Yaygın Modeller',
16
- presetsPlaceholder: '-- Model Seçin --',
16
+ presetsPlaceholder: '- Model Seçin -',
17
17
  seeingLabel: 'Gökyüzü Kalitesi (Seeing)',
18
18
  dawesLabel: 'Kullanışlı Çözünürlük (Dawes)',
19
19
  arcsecUnit: 'arksaniye',
@@ -13,7 +13,7 @@ const ui: TelescopeResolutionUI = {
13
13
  mmUnit: '毫米 (mm)',
14
14
  inUnit: '英寸 (in)',
15
15
  presetsLabel: '常见型号',
16
- presetsPlaceholder: '-- 选择预设 --',
16
+ presetsPlaceholder: '- 选择预设 -',
17
17
  seeingLabel: '天空质量 (视宁度)',
18
18
  dawesLabel: '有用分辨率 (道氏)',
19
19
  arcsecUnit: '角秒',
@@ -104,7 +104,7 @@ const seo: TelescopeResolutionLocaleContent['seo'] = [
104
104
  { type: 'title', text: '校准:解锁潜力的对准过程', level: 2 },
105
105
  {
106
106
  type: 'paragraph',
107
- html: '一台校准不良(镜片未对齐)的望远镜,无论其口径多大,都永远无法达到道氏极限。<strong>校准 (Collimation)</strong> 是指将主镜和副镜与调焦座完美对齐的过程。对于反射镜(牛顿式、杜布森镜),校准是一项必要的定期任务。通过对亮星进行“星点测试”来练习这一技能。',
107
+ html: '一台校准不良(镜片未对齐)的望远镜,无论其口径多大,都永远无法达到道氏极限。<strong>校准 (Collimation)</strong> 是指将主镜和副镜与调焦座完美对齐的过程。对于反射镜(牛顿式、杜布森镜),校准是一项必要的定期任务。通过对亮星进行\"星点测试\"来练习这一技能。',
108
108
  },
109
109
  { type: 'title', text: '最大化分辨率的实用提示', level: 2 },
110
110
  {