setiastrosuitepro 1.6.2__py3-none-any.whl → 1.6.12__py3-none-any.whl

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.

Potentially problematic release.


This version of setiastrosuitepro might be problematic. Click here for more details.

Files changed (162) hide show
  1. setiastro/images/abeicon.svg +16 -0
  2. setiastro/images/acv_icon.png +0 -0
  3. setiastro/images/colorwheel.svg +97 -0
  4. setiastro/images/cosmic.svg +40 -0
  5. setiastro/images/cosmicsat.svg +24 -0
  6. setiastro/images/first_quarter.png +0 -0
  7. setiastro/images/full_moon.png +0 -0
  8. setiastro/images/graxpert.svg +19 -0
  9. setiastro/images/last_quarter.png +0 -0
  10. setiastro/images/linearfit.svg +32 -0
  11. setiastro/images/new_moon.png +0 -0
  12. setiastro/images/pixelmath.svg +42 -0
  13. setiastro/images/rotatearbitrary.png +0 -0
  14. setiastro/images/waning_crescent_1.png +0 -0
  15. setiastro/images/waning_crescent_2.png +0 -0
  16. setiastro/images/waning_crescent_3.png +0 -0
  17. setiastro/images/waning_crescent_4.png +0 -0
  18. setiastro/images/waning_crescent_5.png +0 -0
  19. setiastro/images/waning_gibbous_1.png +0 -0
  20. setiastro/images/waning_gibbous_2.png +0 -0
  21. setiastro/images/waning_gibbous_3.png +0 -0
  22. setiastro/images/waning_gibbous_4.png +0 -0
  23. setiastro/images/waning_gibbous_5.png +0 -0
  24. setiastro/images/waxing_crescent_1.png +0 -0
  25. setiastro/images/waxing_crescent_2.png +0 -0
  26. setiastro/images/waxing_crescent_3.png +0 -0
  27. setiastro/images/waxing_crescent_4.png +0 -0
  28. setiastro/images/waxing_crescent_5.png +0 -0
  29. setiastro/images/waxing_gibbous_1.png +0 -0
  30. setiastro/images/waxing_gibbous_2.png +0 -0
  31. setiastro/images/waxing_gibbous_3.png +0 -0
  32. setiastro/images/waxing_gibbous_4.png +0 -0
  33. setiastro/images/waxing_gibbous_5.png +0 -0
  34. setiastro/qml/ResourceMonitor.qml +84 -82
  35. setiastro/saspro/__main__.py +20 -1
  36. setiastro/saspro/_generated/build_info.py +2 -2
  37. setiastro/saspro/abe.py +37 -4
  38. setiastro/saspro/aberration_ai.py +237 -21
  39. setiastro/saspro/acv_exporter.py +379 -0
  40. setiastro/saspro/add_stars.py +33 -6
  41. setiastro/saspro/backgroundneutral.py +114 -37
  42. setiastro/saspro/blemish_blaster.py +4 -1
  43. setiastro/saspro/blink_comparator_pro.py +548 -275
  44. setiastro/saspro/clahe.py +4 -1
  45. setiastro/saspro/continuum_subtract.py +4 -1
  46. setiastro/saspro/convo.py +13 -7
  47. setiastro/saspro/cosmicclarity.py +129 -18
  48. setiastro/saspro/crop_dialog_pro.py +134 -8
  49. setiastro/saspro/curve_editor_pro.py +109 -42
  50. setiastro/saspro/doc_manager.py +246 -16
  51. setiastro/saspro/exoplanet_detector.py +120 -28
  52. setiastro/saspro/frequency_separation.py +1158 -204
  53. setiastro/saspro/function_bundle.py +16 -16
  54. setiastro/saspro/ghs_dialog_pro.py +81 -16
  55. setiastro/saspro/graxpert.py +1 -0
  56. setiastro/saspro/gui/main_window.py +519 -289
  57. setiastro/saspro/gui/mixins/dock_mixin.py +276 -42
  58. setiastro/saspro/gui/mixins/geometry_mixin.py +105 -5
  59. setiastro/saspro/gui/mixins/menu_mixin.py +28 -1
  60. setiastro/saspro/gui/mixins/theme_mixin.py +160 -14
  61. setiastro/saspro/gui/mixins/toolbar_mixin.py +416 -27
  62. setiastro/saspro/gui/mixins/update_mixin.py +138 -36
  63. setiastro/saspro/gui/mixins/view_mixin.py +42 -0
  64. setiastro/saspro/halobgon.py +4 -0
  65. setiastro/saspro/histogram.py +5 -1
  66. setiastro/saspro/image_combine.py +4 -0
  67. setiastro/saspro/image_peeker_pro.py +4 -0
  68. setiastro/saspro/imageops/starbasedwhitebalance.py +23 -52
  69. setiastro/saspro/imageops/stretch.py +582 -62
  70. setiastro/saspro/isophote.py +4 -0
  71. setiastro/saspro/layers.py +13 -9
  72. setiastro/saspro/layers_dock.py +183 -3
  73. setiastro/saspro/legacy/image_manager.py +154 -20
  74. setiastro/saspro/legacy/numba_utils.py +67 -47
  75. setiastro/saspro/legacy/xisf.py +240 -98
  76. setiastro/saspro/live_stacking.py +180 -79
  77. setiastro/saspro/luminancerecombine.py +228 -27
  78. setiastro/saspro/mask_creation.py +174 -15
  79. setiastro/saspro/mfdeconv.py +113 -35
  80. setiastro/saspro/mfdeconvcudnn.py +119 -70
  81. setiastro/saspro/mfdeconvsport.py +112 -35
  82. setiastro/saspro/morphology.py +4 -0
  83. setiastro/saspro/multiscale_decomp.py +748 -255
  84. setiastro/saspro/numba_utils.py +72 -57
  85. setiastro/saspro/ops/commands.py +18 -18
  86. setiastro/saspro/ops/script_editor.py +10 -2
  87. setiastro/saspro/ops/scripts.py +122 -0
  88. setiastro/saspro/perfect_palette_picker.py +37 -3
  89. setiastro/saspro/plate_solver.py +84 -49
  90. setiastro/saspro/psf_viewer.py +119 -37
  91. setiastro/saspro/remove_stars_preset.py +55 -13
  92. setiastro/saspro/resources.py +97 -11
  93. setiastro/saspro/rgbalign.py +4 -0
  94. setiastro/saspro/selective_color.py +83 -21
  95. setiastro/saspro/sfcc.py +364 -152
  96. setiastro/saspro/shortcuts.py +253 -49
  97. setiastro/saspro/signature_insert.py +692 -33
  98. setiastro/saspro/stacking_suite.py +1610 -574
  99. setiastro/saspro/star_alignment.py +522 -453
  100. setiastro/saspro/star_spikes.py +4 -0
  101. setiastro/saspro/star_stretch.py +38 -3
  102. setiastro/saspro/stat_stretch.py +743 -128
  103. setiastro/saspro/status_log_dock.py +1 -1
  104. setiastro/saspro/subwindow.py +786 -360
  105. setiastro/saspro/supernovaasteroidhunter.py +1 -1
  106. setiastro/saspro/swap_manager.py +77 -42
  107. setiastro/saspro/translations/all_source_strings.json +1588 -516
  108. setiastro/saspro/translations/ar_translations.py +915 -684
  109. setiastro/saspro/translations/de_translations.py +442 -463
  110. setiastro/saspro/translations/es_translations.py +277 -47
  111. setiastro/saspro/translations/fr_translations.py +279 -47
  112. setiastro/saspro/translations/hi_translations.py +253 -21
  113. setiastro/saspro/translations/integrate_translations.py +3 -2
  114. setiastro/saspro/translations/it_translations.py +1211 -161
  115. setiastro/saspro/translations/ja_translations.py +3340 -3107
  116. setiastro/saspro/translations/pt_translations.py +3315 -3337
  117. setiastro/saspro/translations/ru_translations.py +351 -117
  118. setiastro/saspro/translations/saspro_ar.qm +0 -0
  119. setiastro/saspro/translations/saspro_ar.ts +15902 -138
  120. setiastro/saspro/translations/saspro_de.qm +0 -0
  121. setiastro/saspro/translations/saspro_de.ts +14428 -133
  122. setiastro/saspro/translations/saspro_es.qm +0 -0
  123. setiastro/saspro/translations/saspro_es.ts +11503 -7821
  124. setiastro/saspro/translations/saspro_fr.qm +0 -0
  125. setiastro/saspro/translations/saspro_fr.ts +11168 -7812
  126. setiastro/saspro/translations/saspro_hi.qm +0 -0
  127. setiastro/saspro/translations/saspro_hi.ts +14733 -135
  128. setiastro/saspro/translations/saspro_it.qm +0 -0
  129. setiastro/saspro/translations/saspro_it.ts +14347 -7821
  130. setiastro/saspro/translations/saspro_ja.qm +0 -0
  131. setiastro/saspro/translations/saspro_ja.ts +14860 -137
  132. setiastro/saspro/translations/saspro_pt.qm +0 -0
  133. setiastro/saspro/translations/saspro_pt.ts +14904 -137
  134. setiastro/saspro/translations/saspro_ru.qm +0 -0
  135. setiastro/saspro/translations/saspro_ru.ts +11766 -168
  136. setiastro/saspro/translations/saspro_sw.qm +0 -0
  137. setiastro/saspro/translations/saspro_sw.ts +15115 -135
  138. setiastro/saspro/translations/saspro_uk.qm +0 -0
  139. setiastro/saspro/translations/saspro_uk.ts +11206 -6729
  140. setiastro/saspro/translations/saspro_zh.qm +0 -0
  141. setiastro/saspro/translations/saspro_zh.ts +10581 -7812
  142. setiastro/saspro/translations/sw_translations.py +282 -56
  143. setiastro/saspro/translations/uk_translations.py +264 -35
  144. setiastro/saspro/translations/zh_translations.py +282 -47
  145. setiastro/saspro/view_bundle.py +17 -17
  146. setiastro/saspro/wavescale_hdr.py +4 -1
  147. setiastro/saspro/wavescalede.py +4 -1
  148. setiastro/saspro/whitebalance.py +84 -12
  149. setiastro/saspro/widgets/common_utilities.py +28 -21
  150. setiastro/saspro/widgets/minigame/game.js +11 -6
  151. setiastro/saspro/widgets/resource_monitor.py +133 -57
  152. setiastro/saspro/widgets/spinboxes.py +28 -13
  153. setiastro/saspro/wimi.py +92 -721
  154. setiastro/saspro/wims.py +46 -36
  155. setiastro/saspro/window_shelf.py +2 -2
  156. setiastro/saspro/xisf.py +101 -11
  157. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/METADATA +8 -7
  158. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/RECORD +162 -128
  159. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/WHEEL +0 -0
  160. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/entry_points.txt +0 -0
  161. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/licenses/LICENSE +0 -0
  162. {setiastrosuitepro-1.6.2.dist-info → setiastrosuitepro-1.6.12.dist-info}/licenses/license.txt +0 -0
@@ -1,7 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
- """
3
- Chinese (Simplified) translations for Seti Astro Suite Pro.
4
- """
5
2
 
6
3
  TRANSLATIONS_ZH = {
7
4
  "ABEDialog": {
@@ -59,10 +56,33 @@ TRANSLATIONS_ZH = {
59
56
  "Post-alignment failed: {0}": "后对齐失败:{0}",
60
57
  },
61
58
  "AstroSuiteProMainWindow": {
62
- "Start a new project? This closes all views and clears desktop shortcuts.": "开始新项目?这将关闭所有视图并清除桌面快捷方式。",
59
+ "Loading a project will close current views and replace desktop shortcuts.\nContinue?": "加载项目将关闭当前视图并替换桌面快捷方式。\n继续吗?",
60
+ "Toggle Display Auto-Stretch": "切换显示自动拉伸",
61
+ "Invert the Image": "反转图像",
62
+ "Focus the command search bar; Enter runs first match": "聚焦命令搜索栏;Enter运行首个匹配",
63
+ "Duplicate Image": "复制图像",
64
+ "Copy Zoom and Pan": "复制缩放和平移",
65
+ "Apply that image to the other as a mask": "将该图像作为蒙版应用于另一图像",
66
+ "Zoom to 100% (1:1)": "缩放至100% (1:1)",
67
+ "Switch to previously active view": "切换到上一个活动视图",
68
+ "Switch to next active view": "切换到下一个活动视图",
69
+ "Create a desktop shortcut for that action": "为此操作创建桌面快捷方式",
70
+ "Headless apply the shortcut's command/preset to a view": "无头应用快捷方式的命令/预设到视图",
71
+ "Multi-select shortcut buttons": "多选快捷按钮",
72
+ "Move selected shortcut buttons": "移动选定的快捷按钮",
73
+ "Select all shortcut buttons": "选择所有快捷按钮",
74
+ "Open files dialog": "打开文件对话框",
75
+ "Add dragged view as a new layer (on top)": "将拖动的视图添加为新图层(顶部)",
76
+ "Attach dragged image as mask to the selected layer": "将拖动的图像作为蒙版附加到选定图层",
77
+ "Draw a crop rectangle": "绘制裁剪矩形",
78
+ "Resize crop rectangle": "调整裁剪矩形大小",
79
+ "Rotate crop rectangle": "旋转裁剪矩形",
80
+ "View Bundles": "查看捆绑包",
81
+ "Function Bundles": "功能捆绑包",
82
+ "Delete selected shortcut buttons": "删除选定的快捷按钮",
63
83
  "&About": "关于(&A)",
64
- "Statistics...": "统计...",
65
84
  "&Edit": "编辑(&E)",
85
+ "&Exit": "退出(&X)",
66
86
  "&File": "文件(&F)",
67
87
  "&Functions": "功能(&U)",
68
88
  "&Geometry": "几何变换(&G)",
@@ -77,26 +97,10 @@ TRANSLATIONS_ZH = {
77
97
  "&Tools": "工具(&T)",
78
98
  "&View": "视图(&V)",
79
99
  "&What's In My...": "我的图像中有什么...(&W)",
80
- "About...": "关于...",
81
- "Clear All Shortcuts": "清除所有快捷方式",
82
- "Clear List": "清除列表",
83
- "Export Shortcuts...": "导出快捷方式...",
84
- "Group A": "组 A",
85
- "Group B": "组 B",
86
- "Group C": "组 C",
87
- "Group D": "组 D",
88
- "Import Shortcuts...": "导入快捷方式...",
89
- "Keyboard Shortcut Cheat Sheet...": "键盘快捷键速查表...",
90
- "No recent images": "没有最近的图像",
91
- "No recent projects": "没有最近的项目",
92
- "None": "无",
93
- "Open Recent Images": "最近的图像",
94
- "Open Recent Projects": "最近的项目",
95
- "Preferences...": "首选项...",
96
- "&Exit": "退出(&X)",
97
100
  "1:1": "1:1",
98
101
  "ABE...": "自动背景提取...",
99
102
  "Aberration Correction (AI)...": "像差校正(AI)...",
103
+ "About...": "关于...",
100
104
  "Add Stars...": "添加星点...",
101
105
  "Add diffraction spikes to detected stars": "为检测到的星点添加衍射尖峰",
102
106
  "Add signatures/overlays and bake them into the active image": "添加签名/叠加层并烘焙到当前图像",
@@ -130,17 +134,23 @@ TRANSLATIONS_ZH = {
130
134
  "Cascade Views": "层叠视图",
131
135
  "Cascade all subwindows": "层叠所有子窗口",
132
136
  "Check for Updates...": "检查更新...",
137
+ "Clear All Shortcuts": "清除所有快捷方式",
133
138
  "Clear All Views": "关闭所有视图",
139
+ "Clear Console": "Clear Console",
140
+ "Clear List": "清除列表",
134
141
  "Close all views and clear shortcuts": "关闭所有视图并清除快捷方式",
135
142
  "Close all views and documents, keep desktop shortcuts": "关闭所有视图和文档,保留桌面快捷方式",
136
143
  "Combine narrowband to RGB with optional OSC stars": "将窄带合成RGB(可选OSC星点)",
137
144
  "Combine three mono images into RGB": "将三张单色图像合成RGB",
138
145
  "Compare a stack of images by blinking": "通过闪烁比较图像堆叠",
146
+ "Console / Status": "Console / Status",
139
147
  "Continuum Subtract (NB - scaled broadband)": "连续谱减除(窄带 - 缩放宽带)",
140
148
  "Continuum Subtract...": "连续谱减除...",
141
149
  "Contrast Limited Adaptive Histogram Equalization": "对比度限制自适应直方图均衡化",
142
150
  "Convolution / Deconvolution...": "卷积/反卷积...",
151
+ "Copy All": "Copy All",
143
152
  "Copy Astrometric Solution...": "复制天体测量解...",
153
+ "Copy Selected": "Copy Selected",
144
154
  "Copy View (zoom/pan)": "复制视图(缩放/平移)",
145
155
  "Cosmic Clarity": "宇宙清晰度",
146
156
  "Cosmic Clarity Satellite...": "宇宙清晰度卫星...",
@@ -164,6 +174,8 @@ TRANSLATIONS_ZH = {
164
174
  "Erosion, dilation, opening, and closing.": "腐蚀、膨胀、开运算和闭运算。",
165
175
  "Evaluate expressions using open view names": "使用打开的视图名称计算表达式",
166
176
  "Exoplanet Detector...": "系外行星检测器...",
177
+ "Explorer": "Explorer",
178
+ "Export Shortcuts...": "导出快捷方式...",
167
179
  "Extract Luminance": "提取亮度",
168
180
  "Extract R/G/B as three mono documents": "提取R/G/B为三个单色文档",
169
181
  "FITS Header Batch Modifier...": "FITS头批量修改器...",
@@ -182,6 +194,10 @@ TRANSLATIONS_ZH = {
182
194
  "GLIMR -- Isophote Modeler...": "GLIMR -- 等光度线建模器...",
183
195
  "Generalized hyperbolic stretch (α/beta/gamma, LP/HP, pivot)": "广义双曲线拉伸(α/beta/γ、低通/高通、中心点)",
184
196
  "Geometry": "几何变换",
197
+ "Group A": "组 A",
198
+ "Group B": "组 B",
199
+ "Group C": "组 C",
200
+ "Group D": "组 D",
185
201
  "Halo-B-Gon...": "光晕消除...",
186
202
  "Hard (target 0.50, σ 2)": "强硬 (目标 0.50, σ 2)",
187
203
  "Hard-Display-Stretch": "强硬显示拉伸",
@@ -193,12 +209,14 @@ TRANSLATIONS_ZH = {
193
209
  "Image Combine...": "图像合并...",
194
210
  "Image Inspector and Focal Plane Analysis": "图像检查器和焦平面分析",
195
211
  "Image Peeker...": "图像查看器...",
212
+ "Import Shortcuts...": "导入快捷方式...",
196
213
  "Inspect and restore from the slot's history": "检查并从插槽历史恢复",
197
214
  "Inspect star PSF/HFR and flux histograms (SEP)": "检查星点PSF/HFR和通量直方图(SEP)",
198
215
  "Interactive blemish removal on the active view": "在当前视图上交互式移除瑕疵",
199
216
  "Invert": "反转",
200
217
  "Invert Mask": "反转蒙版",
201
218
  "Invert image colors": "反转图像颜色",
219
+ "Keyboard Shortcut Cheat Sheet...": "键盘快捷键速查表...",
202
220
  "Linear Fit...": "线性拟合...",
203
221
  "Link Pan/Zoom": "链接平移/缩放",
204
222
  "Link RGB channels": "链接 RGB 通道",
@@ -217,8 +235,13 @@ TRANSLATIONS_ZH = {
217
235
  "NB->RGB Stars...": "窄带->RGB星点...",
218
236
  "Neutralize background color balance using a sampled region": "使用采样区域中和背景色彩平衡",
219
237
  "New Project": "新建项目",
238
+ "No recent images": "没有最近的图像",
239
+ "No recent projects": "没有最近的项目",
240
+ "None": "无",
220
241
  "Normal (target 0.30, σ 5)": "正常 (目标 0.30, σ 5)",
221
242
  "Open Convolution / Deconvolution": "打开卷积/反卷积",
243
+ "Open Recent Images": "最近的图像",
244
+ "Open Recent Projects": "最近的项目",
222
245
  "Open SFCC (Pickles + Filters + Sensor QE)": "打开 SFCC (Pickles + 滤镜 + 传感器 QE)",
223
246
  "Open Scripts Folder...": "打开脚本文件夹...",
224
247
  "Open Scripts Forum (Discord)...": "打开脚本论坛 (Discord)...",
@@ -236,6 +259,7 @@ TRANSLATIONS_ZH = {
236
259
  "Pixel Math...": "像素数学...",
237
260
  "Plan targets by altitude, transit time, and lunar separation": "按高度、过中天时间和月球角距规划目标",
238
261
  "Plate Solver...": "天体测量...",
262
+ "Preferences...": "首选项...",
239
263
  "Presets": "预设",
240
264
  "RGB Align...": "RGB对齐...",
241
265
  "RGB Combination...": "RGB合成...",
@@ -268,6 +292,7 @@ TRANSLATIONS_ZH = {
268
292
  "Save all views, histories, and shortcuts to a .sas file": "将所有视图、历史和快捷方式保存到.sas文件",
269
293
  "Save the active image": "保存当前图像",
270
294
  "Script Editor...": "脚本编辑器...",
295
+ "Select All Lines": "Select All Lines",
271
296
  "Selective Color Correction...": "选择性色彩校正...",
272
297
  "Set Sigma...": "设置西格玛...",
273
298
  "Set Target Median...": "设置目标中值...",
@@ -285,12 +310,15 @@ TRANSLATIONS_ZH = {
285
310
  "Stacking! Darks, Flats, Lights, Calibration, Drizzle, and more!!": "堆叠!暗场、平场、亮场、校准、Drizzle等等!!",
286
311
  "Star Stretch...": "星点拉伸...",
287
312
  "Star Stuff": "星点处理",
313
+ "Start a new project? This closes all views and clears desktop shortcuts.": "开始新项目?这将关闭所有视图并清除桌面快捷方式。",
288
314
  "Statistical Stretch...": "统计拉伸...",
315
+ "Statistics...": "统计...",
289
316
  "Stellar Alignment...": "星点对齐...",
290
317
  "Stellar Register...": "星点注册...",
291
318
  "Stretch the image using median/SD statistics": "使用中值/标准差统计拉伸图像",
292
319
  "Subtract per-channel minimum.\nClick: active view\nAlt+Drag: drop onto a view": "减去每通道最小值。\n点击:当前视图\nAlt+拖动:放置到视图上",
293
320
  "Supernova / Asteroid Hunter...": "超新星/小行星猎人...",
321
+ "System Monitor": "System Monitor",
294
322
  "Tile Horizontally": "水平平铺",
295
323
  "Tile Vertically": "垂直平铺",
296
324
  "Tile Views": "平铺视图",
@@ -1093,6 +1121,14 @@ TRANSLATIONS_ZH = {
1093
1121
  "Show System Log Panel": "显示系统日志面板",
1094
1122
  "System Log": "系统日志",
1095
1123
  },
1124
+ "DraggableToolBar": {
1125
+ "Create Desktop Shortcut": "Create Desktop Shortcut",
1126
+ "Hide this icon": "Hide this icon",
1127
+ "Lock Toolbar Icons": "Lock Toolbar Icons",
1128
+ "Reset hidden icons": "Reset hidden icons",
1129
+ "Show hidden…": "Show hidden…",
1130
+ "Tip: Alt+Drag to create": "Tip: Alt+Drag to create",
1131
+ },
1096
1132
  "ExoPlanetWindow": {
1097
1133
  "1: Load Raw Subs…": "1: 加载原始子帧…",
1098
1134
  "1a: Calibrate && Align Subs": "1a: 校准并对齐子帧",
@@ -1137,7 +1173,6 @@ TRANSLATIONS_ZH = {
1137
1173
  "Value": "值",
1138
1174
  },
1139
1175
  "FileMixin": {
1140
- "Start a new project? This closes all views and clears desktop shortcuts.": "开始新项目?这将关闭所有视图并清除桌面快捷方式。",
1141
1176
  "Failed to save:\n{e}": "保存失败:\n{e}",
1142
1177
  "Failed to save:\n{msg}": "保存失败:\n{msg}",
1143
1178
  "File not found": "未找到文件",
@@ -1189,6 +1224,17 @@ TRANSLATIONS_ZH = {
1189
1224
  "Push HF": "推送高频",
1190
1225
  "Push LF": "推送低频",
1191
1226
  },
1227
+ "FunctionBundleDialog": {
1228
+ "Apply to Active View": "Apply to Active View",
1229
+ "Apply to View Bundle…": "Apply to View Bundle…",
1230
+ "Clear Steps": "Clear Steps",
1231
+ "Compress to Chip": "Compress to Chip",
1232
+ "Drag Bundle": "Drag Bundle",
1233
+ "Edit Preset…": "Edit Preset…",
1234
+ "Remove Selected": "Remove Selected",
1235
+ "▲ Move Up": "▲ Move Up",
1236
+ "▼ Move Down": "▼ Move Down",
1237
+ },
1192
1238
  "GeometryMixin": {
1193
1239
  "Active view has no image.": "活动视图没有图像。",
1194
1240
  "Enter scaling factor (e.g., 0.5 for 50%, 2 for 200%):": "输入缩放因子(例如,0.5 表示 50%,2 表示 200%):",
@@ -1531,7 +1577,7 @@ TRANSLATIONS_ZH = {
1531
1577
  "Status: ASTAP timed out.": "状态:ASTAP 超时。",
1532
1578
  "Status: Astrometry.net failed ({0}).": "状态:Astrometry.net 失败 ({0})。",
1533
1579
  "Status: Building WCS header from calibration…": "状态:正在从校准构建 WCS 头信息…",
1534
- "Status: Downloading WCS file (with SIP) from Astrometry.net…": "状态:正在从 Astrometry.net 下载 WCS 文件(带 SIP)…" ,
1580
+ "Status: Downloading WCS file (with SIP) from Astrometry.net…": "状态:正在从 Astrometry.net 下载 WCS 文件(带 SIP)…",
1535
1581
  "Status: Job assigned (ID {0}).": "状态:任务已分配 (ID {0})。",
1536
1582
  "Status: Logging in to Astrometry.net…": "状态:正在登录 Astrometry.net…",
1537
1583
  "Status: Login canceled (no API key).": "状态:登录已取消(无 API 密钥)。",
@@ -1701,37 +1747,51 @@ TRANSLATIONS_ZH = {
1701
1747
  "Selective Color Correction": "选择性颜色校正",
1702
1748
  },
1703
1749
  "SettingsDialog": {
1704
- "Restart required": "需要重启",
1705
- "Language changed. Please manually restart the application to apply the new language.": "语言已更改。请手动重启应用以应用新语言。",
1706
1750
  "ASTAP executable:": "ASTAP 可执行文件:",
1707
1751
  "Astrometry.net API key:": "Astrometry.net API 密钥:",
1708
1752
  "Check Now…": "立即检查…",
1753
+ "Chinese": "简体中文",
1709
1754
  "Choose Background…": "选择背景…",
1710
1755
  "Clear": "清除",
1711
1756
  "Compute autostretch on a 16-bit histogram (smoother gradients).": "在 16 位直方图上计算自动拉伸(更平滑的渐变)。",
1712
1757
  "Cosmic Clarity folder:": "Cosmic Clarity 文件夹:",
1713
1758
  "Customize…": "自定义…",
1714
1759
  "Edit custom colors and font": "编辑自定义颜色和字体",
1760
+ "English": "英语",
1761
+ "French": "法语",
1762
+ "German": "德语",
1715
1763
  "GraXpert executable:": "GraXpert 可执行文件:",
1716
1764
  "High-quality autostretch (16-bit; better gradients)": "高质量自动拉伸(16 位;更好的渐变)",
1765
+ "Italian": "意大利语",
1766
+ "Japanese": "日语",
1767
+ "Language changed. Please manually restart the application to apply the new language.": "语言已更改。请手动重启应用以应用新语言。",
1768
+ "Language:": "语言:",
1717
1769
  "Pick a PNG or JPG to use as the application background": "选取一张 PNG 或 JPG 作为应用程序背景",
1770
+ "Portuguese": "葡萄牙语",
1718
1771
  "Remove custom background and restore default": "移除自定义背景并恢复默认",
1772
+ "Restart required": "需要重启",
1719
1773
  "Restore default updates URL": "恢复默认更新 URL",
1720
1774
  "Run an update check immediately": "立即运行更新检查",
1721
1775
  "Save desktop shortcuts on exit": "退出时保存桌面快捷方式",
1722
- "StarNet executable:": "StarNet 可执行文件:",
1723
- "English": "英语",
1724
- "French": "法语",
1725
- "Italian": "意大利语",
1726
1776
  "Spanish": "西班牙语",
1727
- "Language:": "语言:",
1728
- "Theme:": "主题:",
1729
- "German": "德语",
1730
- "Portuguese": "葡萄牙语",
1731
- "Japanese": "日语",
1732
- "Chinese": "简体中文",
1733
- "Restart required": "需要重启",
1777
+ "StarNet executable:": "StarNet 可执行文件:",
1734
1778
  "The application will now restart to apply the language change.": "应用程序现在将重新启动以应用语言更改。",
1779
+ "Theme:": "主题:",
1780
+ },
1781
+ "ShortcutButton": {
1782
+ "Clear Preset": "Clear Preset",
1783
+ "Delete": "Delete",
1784
+ "Edit Preset (JSON)": "Edit Preset (JSON)",
1785
+ "Edit Preset…": "Edit Preset…",
1786
+ "Invalid JSON": "Invalid JSON",
1787
+ "Name:": "Name:",
1788
+ "Preset must be a JSON object": "Preset must be a JSON object",
1789
+ "Preset saved": "Preset saved",
1790
+ "Preset stored on shortcut.": "Preset stored on shortcut.",
1791
+ "Preset:": "Preset:",
1792
+ "Rename Shortcut": "Rename Shortcut",
1793
+ "Rename…": "Rename…",
1794
+ "Run": "Run",
1735
1795
  },
1736
1796
  "SignatureInsertDialogPro": {
1737
1797
  "Signature / Insert": "签名 / 插入",
@@ -3188,6 +3248,16 @@ TRANSLATIONS_ZH = {
3188
3248
  "Strength:": "强度:",
3189
3249
  "Target median:": "目标中值:",
3190
3250
  },
3251
+ "StatisticsDialog": {
3252
+ "App Statistics": "应用统计",
3253
+ "Close": "关闭",
3254
+ "Days": "天",
3255
+ "Hours": "小时",
3256
+ "Images Opened:": "打开的图像:",
3257
+ "Minutes": "分钟",
3258
+ "Time Spent:": "花费时间:",
3259
+ "Tools Opened:": "打开的工具:",
3260
+ },
3191
3261
  "StatusLogWindow": {
3192
3262
  "Clear": "清除",
3193
3263
  "Stacking Suite Log": "堆叠套件日志",
@@ -3484,6 +3554,18 @@ TRANSLATIONS_ZH = {
3484
3554
  "You are running the latest version": "您正在运行最新版本",
3485
3555
  "You're already running the latest version.": "您已经运行的是最新版本。",
3486
3556
  },
3557
+ "ViewBundleDialog": {
3558
+ "Add Directory (Recursive)…": "Add Directory (Recursive)…",
3559
+ "Add Files…": "Add Files…",
3560
+ "Add from Open…": "Add from Open…",
3561
+ "Clear Views": "Clear Views",
3562
+ "Compress to Chip": "Compress to Chip",
3563
+ "Delete": "Delete",
3564
+ "Duplicate": "Duplicate",
3565
+ "New Bundle": "New Bundle",
3566
+ "Remove Selected": "Remove Selected",
3567
+ "View Bundles": "View Bundles",
3568
+ },
3487
3569
  "WhatsInMyImage": {
3488
3570
  "Analyze Image": "分析图像",
3489
3571
  "Analyzing...": "正在分析...",
@@ -3593,6 +3675,10 @@ TRANSLATIONS_ZH = {
3593
3675
  "Waxing": "盈",
3594
3676
  "What's In My Sky": "我的天空中有什么",
3595
3677
  },
3678
+ "WindowShelf": {
3679
+ "Minimized Views": "Minimized Views",
3680
+ "Untitled": "Untitled",
3681
+ },
3596
3682
  "_AstrobinIdDelegate": {
3597
3683
  "Enter AstroBin ID": "输入 AstroBin ID",
3598
3684
  "Invalid ID format": "ID 格式无效",
@@ -3661,15 +3747,164 @@ TRANSLATIONS_ZH = {
3661
3747
  "Success": "成功",
3662
3748
  "View in Aladin": "在 Aladin 中查看",
3663
3749
  },
3664
-
3665
- "StatisticsDialog": {
3666
- "App Statistics": "应用统计",
3667
- "Time Spent:": "花费时间:",
3668
- "Images Opened:": "打开的图像:",
3669
- "Tools Opened:": "打开的工具:",
3670
- "Days": "",
3671
- "Hours": "小时",
3672
- "Minutes": "分钟",
3673
- "Close": "关闭",
3750
+ "WIMIDialog": {
3751
+ "Add Text": "添加文本",
3752
+ "Clear Annotations": "清除注释",
3753
+ "Clear Results": "清除结果",
3754
+ "Copy Object Information": "复制对象信息",
3755
+ "Delete Selected Items": "删除所选项目",
3756
+ "Delete Selected Object(s)": "删除所选对象",
3757
+ "Legend": "图例",
3758
+ "Open Website": "打开网站",
3759
+ "Select Annotation Color": "选择注释颜色",
3760
+ "Select Annotation Font": "选择注释字体",
3761
+ "Select Color": "选择颜色",
3762
+ "Select Font": "选择字体",
3763
+ "Show Annotation Tools": "显示注释工具",
3764
+ "Show Object Names": "显示对象名称",
3765
+ "Show Visible Objects Only": "仅显示可见对象",
3766
+ "Undo": "撤销",
3767
+ "Zoom to Object": "缩放到对象",
3768
+ "Copy RA/Dec to Clipboard": "复制 RA/Dec 到剪贴板",
3769
+ "Save Plate Solved Fits": "保存已解析的 FITS",
3770
+ "RA: N/A": "赤经: N/A",
3771
+ "Dec: N/A": "赤纬: N/A",
3772
+ "Orientation: N/A°": "方向: N/A°",
3773
+ "Mini Preview": "迷你预览",
3774
+ "Zoom In": "放大",
3775
+ "Zoom Out": "缩小",
3776
+ "Save Annotated Image": "保存带注释的图像",
3777
+ "Save Collage of Objects": "保存对象拼贴",
3778
+ "3D Distance Model": "3D 距离模型",
3779
+ "H-R Diagram": "赫罗图 (H-R Diagram)",
3780
+ "Objects Found: 0": "找到的对象: 0",
3781
+ "Right Click a Row for More Options": "右键单击一行以获取更多选项",
3782
+ "Ctrl+Click to add items, Alt+Click to measure distance": "按住 Ctrl+单击以添加项目,按住 Alt+单击以测量距离",
3783
+ "Draw Ellipse": "绘制椭圆",
3784
+ "Freehand (Lasso)": "手绘 (套索)",
3785
+ "Draw Rectangle": "绘制矩形",
3786
+ "Draw Arrow": "绘制箭头",
3787
+ "Place Celestial Compass": "放置天体罗盘",
3788
+ "Advanced Search Parameters": "高级搜索参数",
3789
+ "Object Type": "对象类型",
3790
+ "Description": "描述",
3791
+ "Toggle All": "切换全部",
3792
+ "Save List…": "保存列表…",
3793
+ "Load List…": "加载列表…",
3794
+ "Search Defined Region": "搜索定义区域",
3795
+ "Search Entire Image": "搜索整个图像",
3796
+ "Minor Planets / Comets": "小行星 / 彗星",
3797
+ "Database: not downloaded": "数据库: 未下载",
3798
+ "Download Catalog": "下载目录",
3799
+ "Search Minor Bodies": "搜索小天体",
3800
+ "Search scope:": "搜索范围:",
3801
+ "Defined Region": "定义区域",
3802
+ "Entire Image": "整个图像",
3803
+ "Asteroid H \u2264": "小行星 H \u2264",
3804
+ "Max asteroids:": "最大小行星数:",
3805
+ "Comet H \u2264": "彗星 H \u2264",
3806
+ "Max comets:": "最大彗星数:",
3807
+ "Target (optional):": "目标 (可选):",
3808
+ "Count Objects Brighter Than Limits": "统计亮度超过限制的对象",
3809
+ "Time offset (hours):": "时间偏移 (小时):",
3810
+ "Caution - Deep Vizier Search": "注意 - 深度 Vizier 搜索",
3811
+ "Search M.A.S.T Database": "搜索 M.A.S.T 数据库",
3812
+ "Load Image File": "加载图像文件",
3813
+ "Load from View": "从视图加载",
3814
+ "AutoStretch": "AutoStretch",
3815
+ "Shift+Click to define a search region": "Shift+单击定义搜索区域",
3816
+ "Query Simbad": "查询 Simbad",
3817
+ "Save CSV": "保存 CSV",
3818
+ "Advanced Search": "高级搜索",
3819
+ "Status: Ready": "状态: 就绪",
3820
+ },
3821
+ "WhatsInMySkyDialog": {
3822
+ "What's In My Sky": "我的天空有什么",
3823
+ "Latitude:": "纬度:",
3824
+ "Longitude (E+, W−):": "经度 (E+, W−):",
3825
+ "Date (YYYY-MM-DD):": "日期 (YYYY-MM-DD):",
3826
+ "Time (HH:MM):": "时间 (HH:MM):",
3827
+ "Time Zone:": "时区:",
3828
+ "Min Altitude (0–90°):": "最小高度 (0–90°):",
3829
+ "Catalog Filters:": "星表过滤器:",
3830
+ "Degrees": "度",
3831
+ "H:M:S / D:M:S": "时:分:秒 / 度:分:秒",
3832
+ "RA/Dec Format:": "赤经/赤纬格式:",
3833
+ "Calculate": "计算",
3834
+ "Status: Idle": "状态: 空闲",
3835
+ "Local Sidereal Time: 0.000": "本地恒星时: 0.000",
3836
+ "Lunar Phase: N/A": "月相: N/A",
3837
+ "Name": "名称",
3838
+ "RA": "赤经",
3839
+ "Dec": "赤纬",
3840
+ "Altitude": "高度",
3841
+ "Azimuth": "方位角",
3842
+ "Minutes to Transit": "中天时间 (分钟)",
3843
+ "Before/After Transit": "中天前/后",
3844
+ "Degrees from Moon": "离月亮角度",
3845
+ "Alt Name": "别名",
3846
+ "Type": "类型",
3847
+ "Magnitude": "星等",
3848
+ "Size (arcmin)": "大小 (角分)",
3849
+ "Add Custom Object": "添加自定义天体",
3850
+ "Save to CSV": "保存为 CSV",
3851
+ "Settings": "设置",
3852
+ "Enter number of objects to display:": "输入显示天体数量:",
3853
+ "Enter object name:": "输入天体名称:",
3854
+ "Enter RA (deg):": "输入赤经 (度):",
3855
+ "Enter Dec (deg):": "输入赤纬 (度):",
3856
+ "Added custom object: {}": "已添加自定义天体: {}",
3857
+ "Could not update catalog:\n{}": "无法更新目录:\n{}",
3858
+ "Save CSV File": "保存 CSV 文件",
3859
+ "CSV files (*.csv);;All Files (*)": "CSV 文件 (*.csv);;所有文件 (*)",
3860
+ "Data saved to {}": "数据已保存至 {}",
3861
+ "Invalid input: {}": "输入无效: {}",
3862
+ " Please verify your longitude/timezone.": " 请验证您的经度/时区。",
3863
+ "Inputs look consistent.": "输入看起来一致。",
3864
+ "Calculating…": "计算中…",
3865
+ "Lunar Phase: {}% illuminated": "月相: {}% 照明",
3866
+ "Status: {}": "状态: {}",
3867
+ },
3868
+ "ViewBundleDialog": {
3869
+ "View Bundles": "视图捆绑包",
3870
+ "Choose views to add:": "选择要添加的视图:",
3871
+ "Select all open views": "选择所有打开的视图",
3872
+ "New Bundle": "新捆绑包",
3873
+ "Duplicate": "复制",
3874
+ "Delete": "删除",
3875
+ "Clear Views": "清除视图",
3876
+ "Remove Selected": "移除选中",
3877
+ "Add from Open…": "从打开中添加…",
3878
+ "Add Files…": "添加文件…",
3879
+ "Add Directory (Recursive)…": "添加目录 (递归)…",
3880
+ "Compress to Chip": "压缩为芯片",
3881
+ "Drop views here to add • Drop shortcuts here to apply to THIS bundle": "拖放视图到此添加 • 拖放快捷方式到此应用到此捆绑包",
3882
+ "Bundles": "捆绑包",
3883
+ "Views in Selected Bundle": "选中捆绑包中的视图",
3884
+ "Delete Chip": "删除芯片",
3885
+ "Drag to move · Ctrl+drag to apply · Drop views/shortcuts here": "拖动移动 · Ctrl+拖动应用 · 拖放视图/快捷方式到此",
3886
+ },
3887
+ "FunctionBundleDialog": {
3888
+ "Function Bundles": "功能捆绑包",
3889
+ "New": "新建",
3890
+ "Duplicate": "复制",
3891
+ "Delete": "删除",
3892
+ "Drop shortcuts here to add steps": "拖放快捷方式到此添加步骤",
3893
+ "Edit Preset…": "编辑预设…",
3894
+ "Remove Selected": "移除选中",
3895
+ "Clear Steps": "清除步骤",
3896
+ "▲ Move Up": "▲ 上移",
3897
+ "▼ Move Down": "▼ 下移",
3898
+ "Drag Bundle": "拖动捆绑包",
3899
+ "Apply to Active View": "应用到活动视图",
3900
+ "Apply to View Bundle…": "应用到视图捆绑包…",
3901
+ "Compress to Chip": "压缩为芯片",
3902
+ "Delete Chip": "删除芯片",
3903
+ },
3904
+ "BatchRenamerDialog": {
3905
+ "Clear Selections": "清除选择",
3906
+ },
3907
+ "ShortcutButton": {
3908
+ "Delete": "删除",
3674
3909
  },
3675
3910
  }
@@ -174,7 +174,7 @@ class BundleChip(QWidget):
174
174
  v.setSpacing(0)
175
175
  self._title = QLabel(self._name)
176
176
  self._title.setObjectName("chipTitle")
177
- self._hint = QLabel("Drag to move · Ctrl+drag to apply · Drop views/shortcuts here")
177
+ self._hint = QLabel(self._panel.tr("Drag to move · Ctrl+drag to apply · Drop views/shortcuts here"))
178
178
  self._hint.setObjectName("chipHint")
179
179
  v.addWidget(self._title, 0, Qt.AlignmentFlag.AlignCenter)
180
180
  v.addWidget(self._hint, 0, Qt.AlignmentFlag.AlignCenter)
@@ -265,7 +265,7 @@ class BundleChip(QWidget):
265
265
 
266
266
  def contextMenuEvent(self, ev):
267
267
  m = QMenu(self)
268
- act_del = m.addAction("Delete Chip")
268
+ act_del = m.addAction(self._panel.tr("Delete Chip"))
269
269
  act = m.exec(ev.globalPos())
270
270
  if act is act_del:
271
271
  try:
@@ -384,11 +384,11 @@ class SelectViewsDialog(QDialog):
384
384
  self._boxes: list[QCheckBox] = []
385
385
 
386
386
  v = QVBoxLayout(self)
387
- v.addWidget(QLabel("Choose views to add:"))
387
+ v.addWidget(QLabel(self.tr("Choose views to add:")))
388
388
  v.setSpacing(6)
389
389
 
390
390
  # NEW: "Select all" checkbox
391
- self._select_all = QCheckBox("Select all open views")
391
+ self._select_all = QCheckBox(self.tr("Select all open views"))
392
392
  self._select_all.toggled.connect(self._on_select_all_toggled)
393
393
  v.addWidget(self._select_all)
394
394
 
@@ -510,7 +510,7 @@ class ViewBundleDialog(QDialog):
510
510
  def __init__(self, parent: QWidget | None = None):
511
511
  super().__init__(parent)
512
512
  _pin_on_top_mac(self)
513
- self.setWindowTitle("View Bundles")
513
+ self.setWindowTitle(self.tr("View Bundles"))
514
514
  self.setWindowFlag(Qt.WindowType.Window, True)
515
515
  self.setWindowModality(Qt.WindowModality.NonModal)
516
516
  self.setModal(False)
@@ -538,28 +538,28 @@ class ViewBundleDialog(QDialog):
538
538
  self.docs.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
539
539
  self.docs.customContextMenuRequested.connect(self._docs_context_menu)
540
540
  self.docs.itemDoubleClicked.connect(self._docs_item_activated)
541
- self.btn_new = QPushButton("New Bundle")
542
- self.btn_dup = QPushButton("Duplicate")
543
- self.btn_del = QPushButton("Delete")
544
- self.btn_clear = QPushButton("Clear Views")
545
- self.btn_remove_sel = QPushButton("Remove Selected")
546
- self.btn_add_from_open = QPushButton("Add from Open…")
547
- self.btn_add_files = QPushButton("Add Files…")
548
- self.btn_add_dir = QPushButton("Add Directory (Recursive)…")
549
- self.btn_compress = QPushButton("Compress to Chip")
550
- self.drop_hint = QLabel("Drop views here to add • Drop shortcuts here to apply to THIS bundle")
541
+ self.btn_new = QPushButton(self.tr("New Bundle"))
542
+ self.btn_dup = QPushButton(self.tr("Duplicate"))
543
+ self.btn_del = QPushButton(self.tr("Delete"))
544
+ self.btn_clear = QPushButton(self.tr("Clear Views"))
545
+ self.btn_remove_sel = QPushButton(self.tr("Remove Selected"))
546
+ self.btn_add_from_open = QPushButton(self.tr("Add from Open…"))
547
+ self.btn_add_files = QPushButton(self.tr("Add Files…"))
548
+ self.btn_add_dir = QPushButton(self.tr("Add Directory (Recursive)…"))
549
+ self.btn_compress = QPushButton(self.tr("Compress to Chip"))
550
+ self.drop_hint = QLabel(self.tr("Drop views here to add • Drop shortcuts here to apply to THIS bundle"))
551
551
  self.drop_hint.setAlignment(Qt.AlignmentFlag.AlignCenter)
552
552
  self.drop_hint.setStyleSheet("color:#aaa; padding:6px; border:1px dashed #666; border-radius:6px;")
553
553
 
554
554
  left = QVBoxLayout()
555
- left.addWidget(QLabel("Bundles"))
555
+ left.addWidget(QLabel(self.tr("Bundles")))
556
556
  left.addWidget(self.list, 1)
557
557
  row = QHBoxLayout()
558
558
  row.addWidget(self.btn_new); row.addWidget(self.btn_dup); row.addWidget(self.btn_del)
559
559
  left.addLayout(row)
560
560
 
561
561
  right = QVBoxLayout()
562
- right.addWidget(QLabel("Views in Selected Bundle"))
562
+ right.addWidget(QLabel(self.tr("Views in Selected Bundle")))
563
563
  right.addWidget(self.docs, 1)
564
564
 
565
565
  rrow = QHBoxLayout()
@@ -202,7 +202,10 @@ class WaveScaleHDRDialogPro(QDialog):
202
202
  self.setWindowFlag(Qt.WindowType.Window, True)
203
203
  self.setWindowModality(Qt.WindowModality.NonModal)
204
204
  self.setModal(False)
205
-
205
+ try:
206
+ self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose, True)
207
+ except Exception:
208
+ pass # older PyQt6 versions
206
209
  self._doc = doc
207
210
  base = getattr(doc, "image", None)
208
211
  if base is None:
@@ -204,7 +204,10 @@ class WaveScaleDarkEnhancerDialogPro(QDialog):
204
204
  self.setWindowFlag(Qt.WindowType.Window, True)
205
205
  self.setWindowModality(Qt.WindowModality.NonModal)
206
206
  self.setModal(False)
207
-
207
+ try:
208
+ self.setAttribute(Qt.WidgetAttribute.WA_DeleteOnClose, True)
209
+ except Exception:
210
+ pass # older PyQt6 versions
208
211
  self._doc = doc
209
212
  base = getattr(doc, "image", None)
210
213
  if base is None: