@jjlmoya/utils-astronomy 1.24.0 → 1.26.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 (70) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/de.ts +57 -57
  3. package/src/category/i18n/en.ts +1 -1
  4. package/src/category/i18n/es.ts +1 -1
  5. package/src/category/i18n/fr.ts +58 -58
  6. package/src/category/i18n/it.ts +1 -1
  7. package/src/category/i18n/nl.ts +57 -57
  8. package/src/category/i18n/pl.ts +57 -57
  9. package/src/category/i18n/pt.ts +1 -1
  10. package/src/category/i18n/ru.ts +57 -57
  11. package/src/category/i18n/sv.ts +57 -57
  12. package/src/category/i18n/zh.ts +57 -57
  13. package/src/category/index.ts +30 -30
  14. package/src/category/seo.astro +15 -15
  15. package/src/components/PreviewNavSidebar.astro +116 -116
  16. package/src/components/PreviewToolbar.astro +143 -143
  17. package/src/data.ts +16 -16
  18. package/src/env.d.ts +5 -5
  19. package/src/index.ts +22 -22
  20. package/src/layouts/PreviewLayout.astro +122 -122
  21. package/src/pages/[locale].astro +251 -251
  22. package/src/pages/index.astro +4 -4
  23. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  24. package/src/tests/category_seo_quality.test.ts +74 -0
  25. package/src/tests/faq_count.test.ts +1 -1
  26. package/src/tests/mocks/astro_mock.js +2 -2
  27. package/src/tests/no_h1_in_components.test.ts +1 -1
  28. package/src/tests/seo_length.test.ts +1 -1
  29. package/src/tests/seo_parity.test.ts +2 -2
  30. package/src/tests/seo_translation_completeness.test.ts +75 -0
  31. package/src/tests/seo_wellformed_export.test.ts +65 -0
  32. package/src/tests/tool_structure.test.ts +71 -71
  33. package/src/tests/tool_validation.test.ts +146 -146
  34. package/src/tool/bortleVisualizer/bibliography.astro +14 -14
  35. package/src/tool/bortleVisualizer/bibliography.ts +8 -8
  36. package/src/tool/bortleVisualizer/i18n/pl.ts +159 -159
  37. package/src/tool/bortleVisualizer/i18n/ru.ts +159 -159
  38. package/src/tool/deepSpaceScope/bibliography.astro +14 -14
  39. package/src/tool/deepSpaceScope/component.astro +382 -382
  40. package/src/tool/deepSpaceScope/i18n/de.ts +172 -172
  41. package/src/tool/deepSpaceScope/i18n/ko.ts +172 -172
  42. package/src/tool/deepSpaceScope/i18n/pl.ts +172 -172
  43. package/src/tool/deepSpaceScope/i18n/ru.ts +172 -172
  44. package/src/tool/deepSpaceScope/i18n/zh.ts +172 -172
  45. package/src/tool/smartEyepieceCalculator/component.astro +125 -125
  46. package/src/tool/smartEyepieceCalculator/i18n/fr.ts +165 -165
  47. package/src/tool/smartEyepieceCalculator/i18n/ru.ts +165 -165
  48. package/src/tool/smartEyepieceCalculator/i18n/zh.ts +165 -165
  49. package/src/tool/starExposureCalculator/bibliography.astro +14 -14
  50. package/src/tool/starExposureCalculator/bibliography.ts +7 -7
  51. package/src/tool/starExposureCalculator/component.astro +249 -249
  52. package/src/tool/starExposureCalculator/i18n/pl.ts +156 -156
  53. package/src/tool/starExposureCalculator/i18n/ru.ts +156 -156
  54. package/src/tool/telescopeResolution/bibliography.astro +14 -14
  55. package/src/tool/telescopeResolution/component.astro +222 -222
  56. package/src/tool/telescopeResolution/i18n/de.ts +169 -169
  57. package/src/tool/telescopeResolution/i18n/en.ts +169 -169
  58. package/src/tool/telescopeResolution/i18n/es.ts +169 -169
  59. package/src/tool/telescopeResolution/i18n/fr.ts +169 -169
  60. package/src/tool/telescopeResolution/i18n/id.ts +169 -169
  61. package/src/tool/telescopeResolution/i18n/it.ts +169 -169
  62. package/src/tool/telescopeResolution/i18n/ja.ts +169 -169
  63. package/src/tool/telescopeResolution/i18n/ko.ts +169 -169
  64. package/src/tool/telescopeResolution/i18n/nl.ts +169 -169
  65. package/src/tool/telescopeResolution/i18n/pl.ts +169 -169
  66. package/src/tool/telescopeResolution/i18n/pt.ts +169 -169
  67. package/src/tool/telescopeResolution/i18n/ru.ts +169 -169
  68. package/src/tool/telescopeResolution/i18n/sv.ts +169 -169
  69. package/src/tool/telescopeResolution/i18n/tr.ts +169 -169
  70. package/src/tool/telescopeResolution/i18n/zh.ts +169 -169
@@ -1,169 +1,169 @@
1
- import { bibliography } from '../bibliography';
2
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
- import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
4
-
5
- const slug = 'telescope-resolution-calculator';
6
- const title = '望远镜分辨率计算器 (道氏极限)';
7
- const description = '使用道氏极限 (Dawes Limit) 和瑞利判据计算望远镜的解析能力。探索最大有效放大倍数以及大气视宁度对观测的影响。';
8
-
9
- const ui: TelescopeResolutionUI = {
10
- toolTitle: '望远镜分辨率',
11
- apertureLabel: '望远镜口径',
12
- unitLabel: '单位',
13
- mmUnit: '毫米 (mm)',
14
- inUnit: '英寸 (in)',
15
- presetsLabel: '常见型号',
16
- presetsPlaceholder: '- 选择预设 -',
17
- seeingLabel: '天空质量 (视宁度)',
18
- dawesLabel: '有用分辨率 (道氏)',
19
- arcsecUnit: '角秒',
20
- rayleighLabel: '瑞利极限',
21
- maxMagLabel: '最大有效放大倍数',
22
- seeingAlertPrefix: '大气限制:今天的视宁度',
23
- seeingAlertSuffix: '将妨碍您发挥望远镜的全部潜力',
24
- simLabel: '模拟:双星',
25
- simExplanation: '道氏极限用于区分点状恒星;瑞利判据用于定义行星表面细节。',
26
- presets: [
27
- { value: '70', label: '70mm (初学者折射镜)' },
28
- { value: '114', label: '114mm (4.5") 牛顿反射镜' },
29
- { value: '150', label: '150mm (6") 杜布森镜' },
30
- { value: '200', label: '200mm (8") 杜布森镜' },
31
- { value: '254', label: '254mm (10") 杜布森镜' },
32
- { value: '304', label: '304mm (12") 专业级' },
33
- ],
34
- };
35
-
36
- const faq: TelescopeResolutionLocaleContent['faq'] = [
37
- {
38
- question: '什么是道氏极限 (Dawes Limit)?',
39
- answer: '道氏极限是衡量望远镜角分辨率的经验性标准,计算公式为 116/D(D 为以毫米为单位的直径)。它表示经验丰富的观测者能够区分出亮度相近的两颗恒星为两个独立点时的最小角距离(以角秒为单位)。它由英国天文学家威廉·道斯在 19 世纪提出。',
40
- },
41
- {
42
- question: '道氏极限和瑞利判据有什么区别?',
43
- answer: '道氏极限 (116/D) 是经验性的,基于人类视觉对双星的观察。瑞利判据 (138/D) 是基于光的波动性质的物理标准。瑞利判据更为严格,更适用于描述行星表面细节(木星条纹、月坑)。道氏极限则在区分双星时更有参考价值。',
44
- },
45
- {
46
- question: '什么是视宁度 (Seeing),它如何影响我?',
47
- answer: '视宁度是大气湍流干扰穿过空气的光线的量度。在普通夜晚,视宁度将分辨率限制在 1-2 角秒。这意味着口径大于约 115mm 的望远镜通常无法超越这一大气限制。极佳的视宁度 (0.5") 非常罕见,通常出现在高海拔且热活动较少的地点。',
48
- },
49
- {
50
- question: '望远镜的最大有用放大倍数是多少?',
51
- answer: '黄金法则是口径 (mm) 的 2 倍(或每英寸 50 倍)。一台 150mm 的望远镜有 300 倍的最大有用倍数。超过这个限制会使图像变大,但不会增加更多细节,只会让图像变得更暗且更模糊。在大多数夜晚,视宁度常将其限制在 100-150 倍。',
52
- },
53
- ];
54
-
55
- const howTo: TelescopeResolutionLocaleContent['howTo'] = [
56
- { name: '1. 输入口径', text: '输入你望远镜主镜或透镜的直径。你也可以从预设列表中选择常见型号。' },
57
- { name: '2. 调整视宁度', text: '移动视宁度滑块,以模拟观测当晚的大气湍流情况。' },
58
- { name: '3. 解析结果', text: '观察以角秒为单位的道氏极限和瑞利极限。数值越低,分辨率越高。' },
59
- { name: '4. 检查大气限制', text: '如果出现视宁度警报,说明当晚的大气情况正限制着你望远镜的性能。' },
60
- ];
61
-
62
- const seo: TelescopeResolutionLocaleContent['seo'] = [
63
- {
64
- type: 'summary',
65
- title: '望远镜分辨率的核心要点',
66
- items: [
67
- '道氏极限 (116/D mm) 决定了可分辨双星之间的最小间距。',
68
- '瑞利判据 (138/D mm) 定义了行星表面可见的最小细节。',
69
- '大气视宁度 (典型值为 1-2") 通常超过口径 115mm 以上望远镜的理论极限。',
70
- '最大有用放大倍数为口径 (mm) 的 2 倍;超过此值只会让图像变暗。',
71
- ],
72
- },
73
- { type: 'title', text: '天文分辨率:道氏极限与瑞利判据指南', level: 2 },
74
- {
75
- type: 'paragraph',
76
- html: '望远镜的性能并不取决于它能将图像放大多少倍,而取决于它能分辨出多少细节。这种能力被称为 <strong>分辨力</strong>,几乎完全取决于其口径的大小。主镜或透镜越大,它能区分的细节就越微小。',
77
- },
78
- {
79
- type: 'paragraph',
80
- html: '衡量这种分辨率有两个主要标准。<strong>道氏极限</strong> (116/D 角秒) 是经验性的,由天文学家威廉·道斯根据双星观测定义。<strong>瑞利判据</strong> (138/D 角秒) 是理论性的,源自光的衍射物理学。两者都认为口径是决定性因素。',
81
- },
82
- { type: 'title', text: '视宁度:大气的屏障', level: 2 },
83
- {
84
- type: 'paragraph',
85
- html: '即便你拥有世界上口径最大的望远镜,如果大气不稳定,你也将无法看清细微之处。<strong>视宁度</strong>是衡量大气湍流的指标。在普通夜晚,大气将分辨率限制在约 1-1.5 角秒。对于大于 115mm 的望远镜,性能瓶颈往往在于大气,而非光学素质。',
86
- },
87
- {
88
- type: 'table',
89
- headers: ['口径', '道氏 (")', '瑞利 (")', '最大倍率', '所需视宁度'],
90
- rows: [
91
- ['70mm', '1.66"', '1.97"', '140x', '< 1.7"'],
92
- ['100mm', '1.16"', '1.38"', '200x', '< 1.2"'],
93
- ['150mm', '0.77"', '0.92"', '300x', '< 0.8"'],
94
- ['200mm', '0.58"', '0.69"', '400x', '< 0.6"'],
95
- ['300mm', '0.39"', '0.46"', '600x', '< 0.4"'],
96
- ['400mm', '0.29"', '0.35"', '800x', '< 0.3"'],
97
- ],
98
- },
99
- {
100
- type: 'tip',
101
- title: '热平衡:获得细节的秘诀',
102
- html: '分辨率最大的敌人不只是外部视宁度,还有望远镜筒内的 <strong>局部视宁度</strong>。当把望远镜从室内移至室外时,筒内残留的热空气会产生对流,从而破坏细节。在高倍观测前,请务必让望远镜与环境温度预热(热平衡)至少 30-60 分钟。',
103
- },
104
- { type: 'title', text: '校准:解锁潜力的对准过程', level: 2 },
105
- {
106
- type: 'paragraph',
107
- html: '一台校准不良(镜片未对齐)的望远镜,无论其口径多大,都永远无法达到道氏极限。<strong>校准 (Collimation)</strong> 是指将主镜和副镜与调焦座完美对齐的过程。对于反射镜(牛顿式、杜布森镜),校准是一项必要的定期任务。通过对亮星进行\"星点测试\"来练习这一技能。',
108
- },
109
- { type: 'title', text: '最大化分辨率的实用提示', level: 2 },
110
- {
111
- type: 'paragraph',
112
- html: '始终等待仪器达到热平衡。避免在散发热量的屋顶或柏油路面上方进行观测。选择冷锋过境后的夜晚,大层通常更为稳定。使用图像依然稳固的最高放大倍率。记住 <strong>暗适应</strong> 的重要性:给你的眼睛 20 分钟完全适应黑暗,以最大限度地感知行星表面的色彩细节。',
113
- },
114
- {
115
- type: 'stats',
116
- columns: 2,
117
- items: [
118
- { label: '道氏 150mm', value: '0.77"', icon: 'mdi:flare' },
119
- { label: '道氏 300mm', value: '0.39"', icon: 'mdi:flare' },
120
- { label: '视宁度佳', value: '0.5 - 1.0"', icon: 'mdi:weather-windy' },
121
- { label: '视宁度普通', value: '1.0 - 2.0"', icon: 'mdi:weather-cloudy' },
122
- ],
123
- },
124
- ];
125
-
126
- const faqSchema: WithContext<FAQPage> = {
127
- '@context': 'https://schema.org',
128
- '@type': 'FAQPage',
129
- mainEntity: faq.map((item) => ({
130
- '@type': 'Question',
131
- name: item.question,
132
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
133
- })),
134
- };
135
-
136
- const howToSchema: WithContext<HowTo> = {
137
- '@context': 'https://schema.org',
138
- '@type': 'HowTo',
139
- name: title,
140
- description,
141
- step: howTo.map((step) => ({
142
- '@type': 'HowToStep',
143
- name: step.name,
144
- text: step.text,
145
- })),
146
- };
147
-
148
- const appSchema: WithContext<SoftwareApplication> = {
149
- '@context': 'https://schema.org',
150
- '@type': 'SoftwareApplication',
151
- name: title,
152
- description,
153
- applicationCategory: 'UtilitiesApplication',
154
- operatingSystem: 'Web',
155
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
156
- inLanguage: 'zh',
157
- };
158
-
159
- export const content: TelescopeResolutionLocaleContent = {
160
- slug,
161
- title,
162
- description,
163
- ui,
164
- seo,
165
- faq,
166
- bibliography,
167
- howTo,
168
- schemas: [faqSchema as any, howToSchema as any, appSchema],
169
- };
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
4
+
5
+ const slug = 'telescope-resolution-calculator';
6
+ const title = '望远镜分辨率计算器 (道氏极限)';
7
+ const description = '使用道氏极限 (Dawes Limit) 和瑞利判据计算望远镜的解析能力。探索最大有效放大倍数以及大气视宁度对观测的影响。';
8
+
9
+ const ui: TelescopeResolutionUI = {
10
+ toolTitle: '望远镜分辨率',
11
+ apertureLabel: '望远镜口径',
12
+ unitLabel: '单位',
13
+ mmUnit: '毫米 (mm)',
14
+ inUnit: '英寸 (in)',
15
+ presetsLabel: '常见型号',
16
+ presetsPlaceholder: '- 选择预设 -',
17
+ seeingLabel: '天空质量 (视宁度)',
18
+ dawesLabel: '有用分辨率 (道氏)',
19
+ arcsecUnit: '角秒',
20
+ rayleighLabel: '瑞利极限',
21
+ maxMagLabel: '最大有效放大倍数',
22
+ seeingAlertPrefix: '大气限制:今天的视宁度',
23
+ seeingAlertSuffix: '将妨碍您发挥望远镜的全部潜力',
24
+ simLabel: '模拟:双星',
25
+ simExplanation: '道氏极限用于区分点状恒星;瑞利判据用于定义行星表面细节。',
26
+ presets: [
27
+ { value: '70', label: '70mm (初学者折射镜)' },
28
+ { value: '114', label: '114mm (4.5") 牛顿反射镜' },
29
+ { value: '150', label: '150mm (6") 杜布森镜' },
30
+ { value: '200', label: '200mm (8") 杜布森镜' },
31
+ { value: '254', label: '254mm (10") 杜布森镜' },
32
+ { value: '304', label: '304mm (12") 专业级' },
33
+ ],
34
+ };
35
+
36
+ const faq: TelescopeResolutionLocaleContent['faq'] = [
37
+ {
38
+ question: '什么是道氏极限 (Dawes Limit)?',
39
+ answer: '道氏极限是衡量望远镜角分辨率的经验性标准,计算公式为 116/D(D 为以毫米为单位的直径)。它表示经验丰富的观测者能够区分出亮度相近的两颗恒星为两个独立点时的最小角距离(以角秒为单位)。它由英国天文学家威廉·道斯在 19 世纪提出。',
40
+ },
41
+ {
42
+ question: '道氏极限和瑞利判据有什么区别?',
43
+ answer: '道氏极限 (116/D) 是经验性的,基于人类视觉对双星的观察。瑞利判据 (138/D) 是基于光的波动性质的物理标准。瑞利判据更为严格,更适用于描述行星表面细节(木星条纹、月坑)。道氏极限则在区分双星时更有参考价值。',
44
+ },
45
+ {
46
+ question: '什么是视宁度 (Seeing),它如何影响我?',
47
+ answer: '视宁度是大气湍流干扰穿过空气的光线的量度。在普通夜晚,视宁度将分辨率限制在 1-2 角秒。这意味着口径大于约 115mm 的望远镜通常无法超越这一大气限制。极佳的视宁度 (0.5") 非常罕见,通常出现在高海拔且热活动较少的地点。',
48
+ },
49
+ {
50
+ question: '望远镜的最大有用放大倍数是多少?',
51
+ answer: '黄金法则是口径 (mm) 的 2 倍(或每英寸 50 倍)。一台 150mm 的望远镜有 300 倍的最大有用倍数。超过这个限制会使图像变大,但不会增加更多细节,只会让图像变得更暗且更模糊。在大多数夜晚,视宁度常将其限制在 100-150 倍。',
52
+ },
53
+ ];
54
+
55
+ const howTo: TelescopeResolutionLocaleContent['howTo'] = [
56
+ { name: '1. 输入口径', text: '输入你望远镜主镜或透镜的直径。你也可以从预设列表中选择常见型号。' },
57
+ { name: '2. 调整视宁度', text: '移动视宁度滑块,以模拟观测当晚的大气湍流情况。' },
58
+ { name: '3. 解析结果', text: '观察以角秒为单位的道氏极限和瑞利极限。数值越低,分辨率越高。' },
59
+ { name: '4. 检查大气限制', text: '如果出现视宁度警报,说明当晚的大气情况正限制着你望远镜的性能。' },
60
+ ];
61
+
62
+ const seo: TelescopeResolutionLocaleContent['seo'] = [
63
+ {
64
+ type: 'summary',
65
+ title: '望远镜分辨率的核心要点',
66
+ items: [
67
+ '道氏极限 (116/D mm) 决定了可分辨双星之间的最小间距。',
68
+ '瑞利判据 (138/D mm) 定义了行星表面可见的最小细节。',
69
+ '大气视宁度 (典型值为 1-2") 通常超过口径 115mm 以上望远镜的理论极限。',
70
+ '最大有用放大倍数为口径 (mm) 的 2 倍;超过此值只会让图像变暗。',
71
+ ],
72
+ },
73
+ { type: 'title', text: '天文分辨率:道氏极限与瑞利判据指南', level: 2 },
74
+ {
75
+ type: 'paragraph',
76
+ html: '望远镜的性能并不取决于它能将图像放大多少倍,而取决于它能分辨出多少细节。这种能力被称为 <strong>分辨力</strong>,几乎完全取决于其口径的大小。主镜或透镜越大,它能区分的细节就越微小。',
77
+ },
78
+ {
79
+ type: 'paragraph',
80
+ html: '衡量这种分辨率有两个主要标准。<strong>道氏极限</strong> (116/D 角秒) 是经验性的,由天文学家威廉·道斯根据双星观测定义。<strong>瑞利判据</strong> (138/D 角秒) 是理论性的,源自光的衍射物理学。两者都认为口径是决定性因素。',
81
+ },
82
+ { type: 'title', text: '视宁度:大气的屏障', level: 2 },
83
+ {
84
+ type: 'paragraph',
85
+ html: '即便你拥有世界上口径最大的望远镜,如果大气不稳定,你也将无法看清细微之处。<strong>视宁度</strong>是衡量大气湍流的指标。在普通夜晚,大气将分辨率限制在约 1-1.5 角秒。对于大于 115mm 的望远镜,性能瓶颈往往在于大气,而非光学素质。',
86
+ },
87
+ {
88
+ type: 'table',
89
+ headers: ['口径', '道氏 (")', '瑞利 (")', '最大倍率', '所需视宁度'],
90
+ rows: [
91
+ ['70mm', '1.66"', '1.97"', '140x', '< 1.7"'],
92
+ ['100mm', '1.16"', '1.38"', '200x', '< 1.2"'],
93
+ ['150mm', '0.77"', '0.92"', '300x', '< 0.8"'],
94
+ ['200mm', '0.58"', '0.69"', '400x', '< 0.6"'],
95
+ ['300mm', '0.39"', '0.46"', '600x', '< 0.4"'],
96
+ ['400mm', '0.29"', '0.35"', '800x', '< 0.3"'],
97
+ ],
98
+ },
99
+ {
100
+ type: 'tip',
101
+ title: '热平衡:获得细节的秘诀',
102
+ html: '分辨率最大的敌人不只是外部视宁度,还有望远镜筒内的 <strong>局部视宁度</strong>。当把望远镜从室内移至室外时,筒内残留的热空气会产生对流,从而破坏细节。在高倍观测前,请务必让望远镜与环境温度预热(热平衡)至少 30-60 分钟。',
103
+ },
104
+ { type: 'title', text: '校准:解锁潜力的对准过程', level: 2 },
105
+ {
106
+ type: 'paragraph',
107
+ html: '一台校准不良(镜片未对齐)的望远镜,无论其口径多大,都永远无法达到道氏极限。<strong>校准 (Collimation)</strong> 是指将主镜和副镜与调焦座完美对齐的过程。对于反射镜(牛顿式、杜布森镜),校准是一项必要的定期任务。通过对亮星进行\"星点测试\"来练习这一技能。',
108
+ },
109
+ { type: 'title', text: '最大化分辨率的实用提示', level: 2 },
110
+ {
111
+ type: 'paragraph',
112
+ html: '始终等待仪器达到热平衡。避免在散发热量的屋顶或柏油路面上方进行观测。选择冷锋过境后的夜晚,大层通常更为稳定。使用图像依然稳固的最高放大倍率。记住 <strong>暗适应</strong> 的重要性:给你的眼睛 20 分钟完全适应黑暗,以最大限度地感知行星表面的色彩细节。',
113
+ },
114
+ {
115
+ type: 'stats',
116
+ columns: 2,
117
+ items: [
118
+ { label: '道氏 150mm', value: '0.77"', icon: 'mdi:flare' },
119
+ { label: '道氏 300mm', value: '0.39"', icon: 'mdi:flare' },
120
+ { label: '视宁度佳', value: '0.5 - 1.0"', icon: 'mdi:weather-windy' },
121
+ { label: '视宁度普通', value: '1.0 - 2.0"', icon: 'mdi:weather-cloudy' },
122
+ ],
123
+ },
124
+ ];
125
+
126
+ const faqSchema: WithContext<FAQPage> = {
127
+ '@context': 'https://schema.org',
128
+ '@type': 'FAQPage',
129
+ mainEntity: faq.map((item) => ({
130
+ '@type': 'Question',
131
+ name: item.question,
132
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
133
+ })),
134
+ };
135
+
136
+ const howToSchema: WithContext<HowTo> = {
137
+ '@context': 'https://schema.org',
138
+ '@type': 'HowTo',
139
+ name: title,
140
+ description,
141
+ step: howTo.map((step) => ({
142
+ '@type': 'HowToStep',
143
+ name: step.name,
144
+ text: step.text,
145
+ })),
146
+ };
147
+
148
+ const appSchema: WithContext<SoftwareApplication> = {
149
+ '@context': 'https://schema.org',
150
+ '@type': 'SoftwareApplication',
151
+ name: title,
152
+ description,
153
+ applicationCategory: 'UtilitiesApplication',
154
+ operatingSystem: 'Web',
155
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
156
+ inLanguage: 'zh',
157
+ };
158
+
159
+ export const content: TelescopeResolutionLocaleContent = {
160
+ slug,
161
+ title,
162
+ description,
163
+ ui,
164
+ seo,
165
+ faq,
166
+ bibliography,
167
+ howTo,
168
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
169
+ };