Merge lp:~stellarium/stellarium/gz_constellations-allow-nativeName into lp:stellarium

Proposed by Alexander Wolf
Status: Merged
Merged at revision: 7175
Proposed branch: lp:~stellarium/stellarium/gz_constellations-allow-nativeName
Merge into: lp:stellarium
Diff against target: 2693 lines (+1468/-272)
46 files modified
plugins/Supernovae/src/Supernova.cpp (+4/-7)
po/stellarium-skycultures/CMakeLists.txt (+2/-0)
po/stellarium-skycultures/POTFILES.in (+9/-0)
skycultures/CMakeLists.txt (+1/-0)
skycultures/boorong/CMakeLists.txt (+4/-3)
skycultures/boorong/planet_names.fab (+9/-0)
skycultures/boorong/planet_names.native.fab (+8/-0)
skycultures/inuit/constellation_names.eng.fab (+11/-11)
skycultures/mongolian/CMakeLists.txt (+4/-3)
skycultures/mongolian/planet_names.fab (+22/-0)
skycultures/polynesian/constellation_names.eng.fab (+1/-0)
skycultures/tongan/CMakeLists.txt (+4/-3)
skycultures/tongan/description.de.utf8 (+94/-0)
skycultures/tongan/planet_names.fab (+8/-0)
skycultures/western_rey/CMakeLists.txt (+12/-0)
skycultures/western_rey/constellation_names.eng.fab (+193/-0)
skycultures/western_rey/constellationship.fab (+206/-0)
skycultures/western_rey/description.de.utf8 (+97/-0)
skycultures/western_rey/description.en.utf8 (+83/-0)
skycultures/western_rey/info.ini (+3/-0)
skycultures/western_rey/star_names.fab (+58/-0)
src/CMakeLists.txt (+1/-0)
src/core/StelSkyCultureMgr.hpp (+3/-2)
src/core/modules/Comet.cpp (+6/-1)
src/core/modules/Comet.hpp (+5/-0)
src/core/modules/Constellation.cpp (+25/-3)
src/core/modules/Constellation.hpp (+23/-11)
src/core/modules/ConstellationMgr.cpp (+67/-15)
src/core/modules/ConstellationMgr.hpp (+38/-9)
src/core/modules/MinorPlanet.cpp (+1/-1)
src/core/modules/MinorPlanet.hpp (+2/-0)
src/core/modules/Planet.cpp (+17/-3)
src/core/modules/Planet.hpp (+7/-5)
src/core/modules/SolarSystem.cpp (+79/-4)
src/core/modules/SolarSystem.hpp (+6/-1)
src/core/modules/StarMgr.cpp (+7/-0)
src/core/modules/StarMgr.hpp (+4/-4)
src/gui/ConfigurationDialog.cpp (+39/-1)
src/gui/ConfigurationDialog.hpp (+2/-0)
src/gui/LocationDialog.cpp (+2/-1)
src/gui/ViewDialog.cpp (+22/-11)
src/gui/ViewDialog.hpp (+1/-0)
src/gui/configurationDialog.ui (+79/-34)
src/gui/viewDialog.ui (+22/-2)
src/translations.h (+6/-137)
src/translations_skycultures.h (+171/-0)
To merge this branch: bzr merge lp:~stellarium/stellarium/gz_constellations-allow-nativeName
Reviewer Review Type Date Requested Status
Alexander Wolf Abstain
gzotti Approve
Review via email: mp+242922@code.launchpad.net

This proposal supersedes a proposal from 2014-11-23.

Description of the change

Enabled switching sky culture language in the GUI.
Allowed alternatively display of constellation abbreviations or nativeName.
Corrected adherence to sky culture language for stars and planets.
Added solid rework of lightweight (correctly art-free) H.A.Rey sky culture.

To post a comment you must log in.
Revision history for this message
Alexander Wolf (alexwolf) wrote : Posted in a previous version of this proposal

SolarSystem should has both translators - one for standard GUI strings, and one for names. Plus you should split src/translations.h file to 2 separate files.

review: Needs Fixing
Revision history for this message
Alexander Wolf (alexwolf) wrote : Posted in a previous version of this proposal

Oops... This is more correct phrase:

SolarSystem should contains the both translators - one for standard GUI strings, and one for names. Plus you should split src/translations.h file to 2 separate files.

Revision history for this message
Alexander Wolf (alexwolf) wrote : Posted in a previous version of this proposal

src/gui/viewDialog.ui has conflicts

review: Needs Fixing
Revision history for this message
gzotti (georg-zotti) wrote : Posted in a previous version of this proposal

Sorry, please explain further.

1) Where are planet/solarsystem names used in the GUI?

2) How and why should I split translations.h?

G.

On So, 23.11.2014, 15:52, Alexander Wolf wrote:
> Review: Needs Fixing
>
> SolarSystem should has both translators - one for standard GUI strings,
> and one for names. Plus you should split src/translations.h file to 2
> separate files.

Revision history for this message
Alexander Wolf (alexwolf) wrote : Posted in a previous version of this proposal

OK.

The proper names of the objects of Solar system is stored in src/translations.h file - if you want use this names in SkyCultureTranslator you should enable this file in po/stellarium-skycultures/POTFILES.in file. But src/translations.h file contains geographical locations, scripts names, landscapes, etc. also - it should be split to 2 separate files - one file with celestial objects from Solar system, and one file for other strings. Next point can be got from one simple question - how Stellarium will translate info in left top corner? And a final point - some starlore may contain a native names for planets.

Revision history for this message
Alexander Wolf (alexwolf) wrote : Posted in a previous version of this proposal

Oh! Don't forget - the planet names also used in the Locations dialog - it should use the both translators too.

Revision history for this message
gzotti (georg-zotti) wrote : Posted in a previous version of this proposal

Looks like I needed more understanding of the translation system... I was not aware these are also separated in the collection of words. :-0 Thanks for pointing that out, it explains english planet names on screen...

Is it OK to have planet names in translation.h and translation_planet.h? Or extract the planet names into a separate translation_planet.h and include translation.h and translation_planet.h in po/stellarium/POTFILES.in, and include only translation_planet.h in po/stellarium-skycultures/POTFILES.in ?

For the case where a skyculture brings its own planet names, do you think a file <skyculturename>/planet_names.fab and some QMap(englishName, nativeName) in SkyCultureMgr can help?
I think this just adheres to planets and the Moon, sorry for comets and minor bodies.
Of course, then there is a handful of deepsky objects which may have proper names (Pleiades, eta Car, coalsack?), but these names can be linked to HIP stars.

For the object label indeed there may be need for some special case. For now, I think just App language is OK, as usually orig. name is visible on screen as well.

Revision history for this message
Alexander Wolf (alexwolf) wrote : Posted in a previous version of this proposal

>Is it OK to have planet names in translation.h and translation_planet.h? Or extract the planet names into a separate translation_planet.h and include translation.h and translation_planet.h in po/stellarium/POTFILES.in, and include only translation_planet.h in po/stellarium-skycultures/POTFILES.in ?

No, po/stellarium/POTFILES.in should contains translation.h only, po/stellarium-skycultures/POTFILES.in should contains translations_skycultures.h only.

SolarSystem, Planet, MinorPlanet, Comet, Supernova and LocationDialog should use SkyTranslator for names of celestial bodies, and AppStelTranslator for other strings.

P.S. N_("Tycho's Supernova"); should be contains in both *.h file - in translation.h as script name and in translations_skycultures.h as celestial object name

> For the case where a skyculture brings its own planet names, do you think a file <skyculturename>/planet_names.fab and some QMap(englishName, nativeName) in SkyCultureMgr can help?

I think it will be more complicated, because planet names should be translated within SolarSystem and Planet classes. Yes, if some <skyculturename> has planet_names.fab file then info from this file should be use for names. Format of file... englishName nativeName _("nativeName") X, where X can be 0, -1 or 1 - 0 for outer planets, -1 for evening visibility of inner planets, 1 for morning visibility of inner planets?

Revision history for this message
gzotti (georg-zotti) wrote : Posted in a previous version of this proposal

OK, I changed ownership on this to stellarium team and switched state back to "Development". If you find time, can you maybe help me on this to get the split right? I may not be able to do much until next weekend. I hope it's clear what I want to achieve (see also branch description): properly working language split for GUI (including upper-left text for selected object) and labels shown in the sky display, with those labels even optionally showing untranslated names or abbreviations. It seems in parts to be a reawakening/completion job of a clever feature started some time ago by somebody else (split language).

The planet_names.fab extra on 0/-1/1 is also a good idea!

Revision history for this message
Alexander Wolf (alexwolf) wrote : Posted in a previous version of this proposal

Hm. How I can a fast determine type of visibility of inner planets?

Revision history for this message
gzotti (georg-zotti) wrote : Posted in a previous version of this proposal

do you mean evening/morning appearance? simply planet_longitude-solar_longitude ?
(maybe test sign(sin(planet_longitude-solar_longitude)) )

Revision history for this message
Alexander Wolf (alexwolf) wrote : Posted in a previous version of this proposal

I think this feature is ready for testing.

planet_names.fab format:
englishName<--space/tab-->"nativeName"<--space/tab-->_("nativeName")

Boorong, Tongan and Mongolian cultures supported it already =)

7160. By Alexander Wolf

typo fix

7161. By Alexander Wolf

typo fix

7162. By gzotti

typofixes and new translation in skycultures

7163. By gzotti

fixed comment

7164. By gzotti

added comment

Revision history for this message
gzotti (georg-zotti) wrote :

Very nice, thank you!

There is a file planet_names.native.fab in boorong skyculture dir. Is this a leftover from intermediate tries? Actually in the current way of thinking I think this should be planet_names.fab, and the other I think should go away.

I think now we need the translated strings before fine tuning of which strings go where may be applied, e.g. maybe a selected object should better have native+translated in top-left display? But the translation may contain the original in the first place already...

Did you manage to get the morning/evening different names - I cannot see it. (but can be added later, I think)

And all of this needs a good description in the user guide wiki. I can do that.

review: Approve
Revision history for this message
Alexander Wolf (alexwolf) wrote :

>There is a file planet_names.native.fab in boorong skyculture dir. Is this a leftover from intermediate tries? Actually in the current way of thinking I think this should be planet_names.fab, and the other I think should go away.

I made two version of planet_names.fab because I don't know which version should be use by default.

>Did you manage to get the morning/evening different names - I cannot see it. (but can be added later, I think)

I removed it, because:
1) we don't have cultures with two names for one planet
2) this feature will be generate many calls for setting native name and translation those names - I really don't like it.

>And all of this needs a good description in the user guide wiki. I can do that.

It will be very nice!

Maybe we should introduce new option for sky cultures manager to make available to users of usage previous behaviour for planet names?

Revision history for this message
Alexander Wolf (alexwolf) :
review: Abstain

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/Supernovae/src/Supernova.cpp'
2--- plugins/Supernovae/src/Supernova.cpp 2014-11-08 20:24:59 +0000
3+++ plugins/Supernovae/src/Supernova.cpp 2014-11-26 23:45:42 +0000
4@@ -86,8 +86,9 @@
5 QString Supernova::getNameI18n(void) const
6 {
7 QString name = designation;
8+ const StelTranslator& trans = StelApp::getInstance().getLocaleMgr().getSkyTranslator();
9 if (note.size()!=0)
10- name = QString("%1 (%2)").arg(name).arg(q_(note));
11+ name = QString("%1 (%2)").arg(name).arg(trans.qtranslate(note));
12
13 return name;
14 }
15@@ -96,7 +97,7 @@
16 {
17 QString name = designation;
18 if (note.size()!=0)
19- name = QString("%1 (%2)").arg(name).arg(note);
20+ name = QString("%1 (%2)").arg(name).arg(note);
21
22 return name;
23 }
24@@ -119,11 +120,7 @@
25
26 if (flags&Name)
27 {
28- oss << "<h2>" << designation;
29- if (note.size()!=0)
30- oss << " (" << q_(note) << ")";
31-
32- oss << "</h2>";
33+ oss << "<h2>" << getNameI18n() << "</h2>";
34 }
35
36 if (flags&ObjectType)
37
38=== modified file 'po/stellarium-skycultures/CMakeLists.txt'
39--- po/stellarium-skycultures/CMakeLists.txt 2014-05-04 12:54:32 +0000
40+++ po/stellarium-skycultures/CMakeLists.txt 2014-11-26 23:45:42 +0000
41@@ -9,7 +9,9 @@
42 ${GETTEXT_XGETTEXT_EXECUTABLE}
43 -o stellarium-skycultures.pot
44 --keyword=_
45+ --keyword=N_
46 -C
47+ --add-comments=TRANSLATORS:
48 --directory=${PROJECT_SOURCE_DIR}
49 --files-from=POTFILES.in
50 --copyright-holder=Stellarium's\ team
51
52=== modified file 'po/stellarium-skycultures/POTFILES.in'
53--- po/stellarium-skycultures/POTFILES.in 2014-09-08 14:18:01 +0000
54+++ po/stellarium-skycultures/POTFILES.in 2014-11-26 23:45:42 +0000
55@@ -1,10 +1,15 @@
56+# Proper names of celestial bodies
57+src/translations_skycultures.h
58+# Proper names of deep-sky objects
59 nebulae/default/ngc2000names.dat
60+# Sky cultures (include proper names of the stars)
61 skycultures/arabic/constellation_names.eng.fab
62 skycultures/arabic/star_names.fab
63 skycultures/aztec/constellation_names.eng.fab
64 skycultures/aztec/star_names.fab
65 skycultures/boorong/constellation_names.eng.fab
66 skycultures/boorong/star_names.fab
67+skycultures/boorong/planet_names.fab
68 skycultures/chinese/constellation_names.eng.fab
69 skycultures/chinese/star_names.fab
70 skycultures/egyptian/constellation_names.eng.fab
71@@ -21,6 +26,7 @@
72 skycultures/maori/star_names.fab
73 skycultures/mongolian/constellation_names.eng.fab
74 skycultures/mongolian/star_names.fab
75+skycultures/mongolian/planet_names.fab
76 skycultures/navajo/constellation_names.eng.fab
77 skycultures/navajo/star_names.fab
78 skycultures/norse/constellation_names.eng.fab
79@@ -33,7 +39,10 @@
80 skycultures/sami/star_names.fab
81 skycultures/tongan/constellation_names.eng.fab
82 skycultures/tongan/star_names.fab
83+skycultures/tongan/planet_names.fab
84 skycultures/tupi/constellation_names.eng.fab
85 skycultures/tupi/star_names.fab
86 skycultures/western/constellation_names.eng.fab
87 skycultures/western/star_names.fab
88+skycultures/western_rey/constellation_names.eng.fab
89+skycultures/western_rey/star_names.fab
90
91=== modified file 'skycultures/CMakeLists.txt'
92--- skycultures/CMakeLists.txt 2014-09-08 14:18:01 +0000
93+++ skycultures/CMakeLists.txt 2014-11-26 23:45:42 +0000
94@@ -17,3 +17,4 @@
95 ADD_SUBDIRECTORY( tongan )
96 ADD_SUBDIRECTORY( tupi )
97 ADD_SUBDIRECTORY( western )
98+ADD_SUBDIRECTORY( western_rey )
99
100=== modified file 'skycultures/boorong/CMakeLists.txt'
101--- skycultures/boorong/CMakeLists.txt 2014-09-08 14:18:01 +0000
102+++ skycultures/boorong/CMakeLists.txt 2014-11-26 23:45:42 +0000
103@@ -1,12 +1,13 @@
104
105 ########### install files ###############
106
107-# install info.ini and star_names.fab
108-INSTALL(FILES info.ini star_names.fab DESTINATION share/${PACKAGE}/skycultures/boorong )
109+# install info.ini
110+INSTALL(FILES info.ini DESTINATION share/${PACKAGE}/skycultures/boorong )
111
112-# install constellations data, artwork and descriptions
113+# install constellations data, proper names data, artwork and descriptions
114 INSTALL(DIRECTORY ./ DESTINATION share/${PACKAGE}/skycultures/boorong
115 FILES_MATCHING PATTERN "constellation*"
116+ PATTERN "*_names.fab"
117 PATTERN "*.png"
118 PATTERN "description.*.utf8"
119 PATTERN "CMakeFiles" EXCLUDE )
120
121=== added file 'skycultures/boorong/planet_names.fab'
122--- skycultures/boorong/planet_names.fab 1970-01-01 00:00:00 +0000
123+++ skycultures/boorong/planet_names.fab 2014-11-26 23:45:42 +0000
124@@ -0,0 +1,9 @@
125+# TRANSLATORS: Native name of the Sun in Boorong culture (in English words)
126+Sun "Day" _("Day")
127+# TRANSLATORS: Native name of the Moon in Boorong culture (in English words)
128+Moon "Quoll" _("Quoll")
129+# TRANSLATORS: Native name of Venus in Boorong culture (in English words)
130+Venus "Elder sister" _("Elder sister")
131+# TRANSLATORS: Native name of Jupiter in Boorong culture (in English words)
132+Jupiter "Sulphur-crested white cockatoo" _("Sulphur-crested white cockatoo")
133+
134
135=== added file 'skycultures/boorong/planet_names.native.fab'
136--- skycultures/boorong/planet_names.native.fab 1970-01-01 00:00:00 +0000
137+++ skycultures/boorong/planet_names.native.fab 2014-11-26 23:45:42 +0000
138@@ -0,0 +1,8 @@
139+# TRANSLATORS: Native name of the Sun in Boorong culture
140+Sun "Gnowee" _("Gnowee")
141+# TRANSLATORS: Native name of the Moon in Boorong culture
142+Moon "Mityan" _("Mityan")
143+# TRANSLATORS: Native name of Venus in Boorong culture
144+Venus "Chargee Gnowee" _("Chargee Gnowee")
145+# TRANSLATORS: Native name of Jupiter in Boorong culture
146+Jupiter "Ginabongbearp" _("Ginabongbearp")
147
148=== modified file 'skycultures/inuit/constellation_names.eng.fab'
149--- skycultures/inuit/constellation_names.eng.fab 2010-04-21 16:57:58 +0000
150+++ skycultures/inuit/constellation_names.eng.fab 2014-11-26 23:45:42 +0000
151@@ -1,11 +1,11 @@
152-001 "" _("Two Sunbeams")
153-002 "" _("Two Placed Far Apart")
154-003 "" _("Dogs")
155-004 "" _("Collarbones")
156-005 "" _("Lamp Stand")
157-006 "" _("Caribou")
158-007 "" _("Two in Front")
159-008 "" _("Breastbone")
160-009 "" _("Runners")
161-010 "" _("Blubber Container")
162-011 "" _("The One Behind")
163+001 "Aagjuuk" _("Two Sunbeams")
164+002 "Akkuttujuuk" _("Two Placed Far Apart")
165+003 "Qimmiitt" _("Dogs")
166+004 "Quturjuuk" _("Collarbones")
167+005 "Pituaq" _("Lamp Stand")
168+006 "Tukturjuit" _("Caribou")
169+007 "Sivulliik" _("Two in Front")
170+008 "Sakiattiak" _("Breastbone")
171+009 "Ullaktut" _("Runners")
172+010 "Uqsuutaattiaq" _("Blubber Container")
173+011 "Kingulliq" _("The One Behind")
174
175=== modified file 'skycultures/mongolian/CMakeLists.txt'
176--- skycultures/mongolian/CMakeLists.txt 2014-10-21 10:13:05 +0000
177+++ skycultures/mongolian/CMakeLists.txt 2014-11-26 23:45:42 +0000
178@@ -1,12 +1,13 @@
179
180 ########### install files ###############
181
182-# install info.ini and star_names.fab
183-INSTALL(FILES info.ini star_names.fab DESTINATION share/${PACKAGE}/skycultures/mongolian )
184+# install info.ini
185+INSTALL(FILES info.ini DESTINATION share/${PACKAGE}/skycultures/mongolian )
186
187-# install constellations data, artwork and descriptions
188+# install constellations data, proper names data, artwork and descriptions
189 INSTALL(DIRECTORY ./ DESTINATION share/${PACKAGE}/skycultures/mongolian
190 FILES_MATCHING PATTERN "constellation*"
191+ PATTERN "*_names.fab"
192 PATTERN "*.png"
193 PATTERN "description.*.utf8"
194 PATTERN "CMakeFiles" EXCLUDE )
195
196=== added file 'skycultures/mongolian/planet_names.fab'
197--- skycultures/mongolian/planet_names.fab 1970-01-01 00:00:00 +0000
198+++ skycultures/mongolian/planet_names.fab 2014-11-26 23:45:42 +0000
199@@ -0,0 +1,22 @@
200+# TRANSLATORS: Native name of the Sun in Mongolian culture
201+Sun "Nar" _("Nar")
202+# TRANSLATORS: Native name of the Moon in Mongolian culture
203+Moon "Sar" _("Sar")
204+# TRANSLATORS: Native name of Mercury in Mongolian culture
205+Mercury "Bud" _("Bud")
206+# TRANSLATORS: Native name of Venus in Mongolian culture
207+Venus "Sugar" _("Sugar")
208+# TRANSLATORS: Native name of Earth in Mongolian culture
209+Earth "Delkhii" _("Delkhii")
210+# TRANSLATORS: Native name of Mars in Mongolian culture
211+Mars "Angarag" _("Angarag")
212+# TRANSLATORS: Native name of Jupiter in Mongolian culture
213+Jupiter "Barhasbadi" _("Barhasbadi")
214+# TRANSLATORS: Native name of Saturn in Mongolian culture
215+Saturn "Sanchir" _("Sanchir")
216+# TRANSLATORS: Native name of Uranus in Mongolian culture
217+Uranus "Tengeriin-van" _("Tengeriin-van")
218+# TRANSLATORS: Native name of Neptune in Mongolian culture
219+Neptune "Dalai-van" _("Dalai-van")
220+# TRANSLATORS: Native name of Pluto in Mongolian culture
221+Pluto "Dalkhii-van" _("Dalkhii-van")
222
223=== modified file 'skycultures/polynesian/constellation_names.eng.fab'
224--- skycultures/polynesian/constellation_names.eng.fab 2008-04-28 23:18:57 +0000
225+++ skycultures/polynesian/constellation_names.eng.fab 2014-11-26 23:45:42 +0000
226@@ -1,3 +1,4 @@
227+# The native names are missing. Please fill the second column with an english transcript.
228 001 "" _("Bailer")
229 002 "" _("Cat's Cradle")
230 004 "" _("Voice of Joy")
231
232=== modified file 'skycultures/tongan/CMakeLists.txt'
233--- skycultures/tongan/CMakeLists.txt 2013-04-24 06:43:39 +0000
234+++ skycultures/tongan/CMakeLists.txt 2014-11-26 23:45:42 +0000
235@@ -1,12 +1,13 @@
236
237 ########### install files ###############
238
239-# install info.ini and star_names.fab
240-INSTALL(FILES info.ini star_names.fab DESTINATION share/${PACKAGE}/skycultures/tongan )
241+# install info.ini
242+INSTALL(FILES info.ini DESTINATION share/${PACKAGE}/skycultures/tongan )
243
244-# install constellations data, artwork and descriptions
245+# install constellations data, proper names data, artwork and descriptions
246 INSTALL(DIRECTORY ./ DESTINATION share/${PACKAGE}/skycultures/tongan
247 FILES_MATCHING PATTERN "constellation*"
248+ PATTERN "*_names.fab"
249 PATTERN "*.png"
250 PATTERN "description.*.utf8"
251 PATTERN "CMakeFiles" EXCLUDE )
252
253=== added file 'skycultures/tongan/description.de.utf8'
254--- skycultures/tongan/description.de.utf8 1970-01-01 00:00:00 +0000
255+++ skycultures/tongan/description.de.utf8 2014-11-26 23:45:42 +0000
256@@ -0,0 +1,94 @@
257+<h2>Tongaisch (Tonga)</h2>
258+
259+<p>Wie alle polynesischen Himmelsmythen geht auch die Tongaische
260+Sternbildkultur aus der praktischen Anwendung der astronomischen
261+Navigation hervor. In einigen Fällen kann zwischen einem Stern und
262+seinem Sternbilderzug nicht unterschieden werden. Ein Stern kann mehrere Namen tragen,
263+<ol>
264+<li>wenn er Mitglied in mehreren Sternbilderzügen ist</li>
265+<li>je nachdem, auf welcher Inselgruppe man nach seinem Namen fragt.</li>
266+</ol>
267+Die Bezeichnung der Sterne hier ist mangels Ressourcen für
268+umfassendere Recherche nur eine ungefähre Übersicht.</p>
269+
270+<p>Während die bekanntesten und auffälligsten Sterne und Sternbilder
271+(z.B. Orion, Plejaden, Kreuz) in der Tongaischen Bilderwelt vorkommen,
272+gibt es zwei bemerkenswerte Ausnahmen:
273+
274+<ol><li>Auffällig ist das Fehlen eines Namens für den Polarstern
275+(Polaris: &alpha; UMi). Das ist angesichts der geringen Südbreite doch
276+erstaunlich, wäre doch bei Fahrten über den Äquator dieser Stern an
277+siener prominenten Stelle aufgefallen. </li>
278+
279+<li>Das Sternbild Skorpion bzw. Teile daraus sind in den Bilder der
280+Tongaer nicht enthalten. Das ist überraschend, kommt doch in den
281+meisten Sternbildkulturen &ndash; global und polynesisch &ndash; der
282+Skorpion als wichtiges Sternbild vor, da es einfach identifiziert werden
283+kann und auch, da es dem Orion fast genau gegenübersteht. </li>
284+</ol>[Stellarium wüßte gerne mehr über dieses Fehlen der Objekte.]</p>
285+
286+<p>Ein gemeinsamer Ursprung der polynesischen Sterngeschichten zeigt
287+sich klar in Ähnlichkeiten in der Bezeichnung der Sterne. Zum Beispiel
288+heißen die Plejaden <em>Mataliki</em> auf Tongaisch, <em>Matariki</em>
289+auf Maori und <em>Makali`i</em> auf Hawaiianisch. </p>
290+
291+<h3>Literatur</h3>
292+<ul>
293+<li>Velt Kik, <em>Ko E Ngaahi fetu'u 'o, Stars over tonga</em>, 1990
294+'Atenisi University, Nuku'alofa , Tonga Government printing department.</li>
295+<li>T.H Fale, <em>Tongan astronomy</em>, 1990
296+Polynesian Eyes foundation, Nuku'alofa, Tonga
297+Choice printing.</li>
298+<li>E. E. V. Collocott, <em>Tongan astronomy and calendar</em>, 1992
299+Occasional Papers of the Bernice Pauahi Bishop Museum of
300+Polynesian ethnology and Natural History, Vol.8, No. 4
301+Honolulu, Hawaii, Bishop Museum Press 1922, p. 157-173. </li>
302+</ul>
303+
304+<h3>Nomenklatur</h3>
305+<table class="nomenclature">
306+<tr><th>Tongaischer Begriff</th><th>Bedeutung</th></tr>
307+<tr><td>Humu</td><td>Kohlensack</td></tr>
308+<tr><td>Kaniva</td><td>Milchstraße</td></tr>
309+<tr><td>Ma'afulele</td><td>Große Magellan'sche Wolke</td></tr>
310+<tr><td>Ma'afutoka</td><td>Kleine Magellan'sche Wolke</td></tr>
311+<tr><td>'otu Ma'afu</td><td>Magellan'sche Wolken (beide)</td></tr>
312+<tr><td>Ha'amonga</td><td>Ekliptik</td></tr>
313+<tr><td>Mahina</td><td>Mond</td></tr>
314+<tr><td>La'a</td><td>Sonne</td></tr>
315+<tr><td>Fetu'u</td><td>Stern (allgemein)</td></tr>
316+<tr><td>Fetu'ufuka</td><td>Komet</td></tr>
317+<tr><td>'Umata</td><td>Regenbogen</td></tr>
318+<tr><td>Fetu'u'Esiafi</td><td>Sternschnuppe</td></tr>
319+<tr><td>tapukitea</td><td>Venus</td></tr>
320+<tr><td>Matamemea</td><td>Mars</td></tr>
321+<tr><td>Ma'afutoka (wie SMC)</td><td>Canopus</td></tr>
322+<tr><td>Ma'afulele (wie LMC)</td><td>Sirius</td></tr>
323+<tr><td>Velitoa hififo</td><td>Rigel</td></tr>
324+<tr><td>Velitoa hahake</td><td>Betelgeuse</td></tr>
325+<tr><td>Hikule'o</td><td>Arcturus</td></tr>
326+<tr><td>Monuafe</td><td>Meissa</td></tr>
327+<tr><td>Motuliki</td><td>Plejaden</td></tr>
328+<tr><td>Tu'ulalupe</td><td>Hyaden</td></tr>
329+<tr><td>Toloatonga</td><td>Kreuz des Südens</td></tr>
330+<tr><td>Toloalahi</td><td>Falsches Kreuz</td></tr>
331+</table>
332+
333+<strong>Tongaische Sternbilder</strong>
334+<table class="nomenclature">
335+<tr><th>Tongaischer Name</th><th>Bedeutung oder Anmerkung</th></tr>
336+<tr><td>Tuinga ika</td><td>Teil des Orion: Gürtel und Schwert</td></tr>
337+<tr><td>Ae e'Uvea</td><td>Corona Borealis (<em>Spekulativ</em>)</td></tr>
338+<tr><td>Fatanalua</td><td>Coma Berenices (<em>Spekulativ</em>)</td></tr>
339+<tr><td>Kapakau'o'tafahi</td><td>Cassiopeia (<em>Spekulativ</em>)</td></tr>
340+<tr><td>Toloa</td><td>Gürtel des Orion</td></tr>
341+<tr><td>Lua tangata</td><td>Castor und/oder Pollux</td></tr>
342+<tr><td>Fungasia</td><td>Toliman und/oder Agena</td></tr>
343+<tr><td>Houmatoloa (Toloa, toloatonga, toloalahi)</td><td>&mdash;</td></tr>
344+</table>
345+
346+<h3>Autor</h3>
347+
348+<p>Diese Sternbildkultur wurde durch den Stellarium-Anwender <i>Dan
349+Smale</i>, d.smale(at)niwa.co.nz, bereitgestellt. Deutsche
350+Bearbeitung: Georg Zotti.</p>
351\ No newline at end of file
352
353=== added file 'skycultures/tongan/planet_names.fab'
354--- skycultures/tongan/planet_names.fab 1970-01-01 00:00:00 +0000
355+++ skycultures/tongan/planet_names.fab 2014-11-26 23:45:42 +0000
356@@ -0,0 +1,8 @@
357+# TRANSLATORS: Native name of the Sun in Tongan culture
358+Sun "La'a" _("La'a")
359+# TRANSLATORS: Native name of the Moon in Tongan culture
360+Moon "Mahina" _("Mahina")
361+# TRANSLATORS: Native name of Venus in Tongan culture
362+Venus "Tapukitea" _("Tapukitea")
363+# TRANSLATORS: Native name of Mars in Tongan culture
364+Mars "Matamemea" _("Matamemea")
365
366=== added directory 'skycultures/western_rey'
367=== added file 'skycultures/western_rey/CMakeLists.txt'
368--- skycultures/western_rey/CMakeLists.txt 1970-01-01 00:00:00 +0000
369+++ skycultures/western_rey/CMakeLists.txt 2014-11-26 23:45:42 +0000
370@@ -0,0 +1,12 @@
371+
372+########### install files ###############
373+
374+# install info.ini and star_names.fab
375+INSTALL(FILES info.ini star_names.fab DESTINATION share/${PACKAGE}/skycultures/western_rey )
376+
377+# install constellations data, artwork and descriptions
378+INSTALL(DIRECTORY ./ DESTINATION share/${PACKAGE}/skycultures/western_rey
379+ FILES_MATCHING PATTERN "constellation*"
380+ PATTERN "*.png"
381+ PATTERN "description.*.utf8"
382+ PATTERN "CMakeFiles" EXCLUDE )
383
384=== added file 'skycultures/western_rey/Rey_cover.png'
385Binary files skycultures/western_rey/Rey_cover.png 1970-01-01 00:00:00 +0000 and skycultures/western_rey/Rey_cover.png 2014-11-26 23:45:42 +0000 differ
386=== added file 'skycultures/western_rey/constellation_names.eng.fab'
387--- skycultures/western_rey/constellation_names.eng.fab 1970-01-01 00:00:00 +0000
388+++ skycultures/western_rey/constellation_names.eng.fab 2014-11-26 23:45:42 +0000
389@@ -0,0 +1,193 @@
390+# H.A. Rey: Names for Stellarium. 2014-11 G. Zotti
391+# Rey gives capitalized constellation names in English and additional small-letter descriptions.
392+# In the text, the internationally fixed Latin names are also given.
393+# These are the basis for translation.
394+# chart 1
395+BgD "BIG DIPPER" _("Big Dipper")
396+.UMaP "Pointers" _("Pointers")
397+UMi "LITTLE DIPPER" _("Little Dipper")
398+.UMiG "Guardians" _("Guardians")
399+Dra "DRAGON" _("Draco")
400+.DraF "feet" _("feet")
401+.DraH "head" _("head")
402+.DraT "tail" _("tail")
403+# chart 2
404+Cas "CASSIOPEIA" _("Cassiopeia")
405+Cep "CEPHEUS" _("Cepheus")
406+Cam "GIRAFFE" _("Camelopardalis")
407+# chart 3
408+UMa "GREAT BEAR" _("Ursa Major")
409+.UMah "head" _("head")
410+.UMap1 "paws" _("paws")
411+.UMap2 "paws" _("paws")
412+Leo "LION" _("Leo")
413+.Leoh "head" _("head")
414+.Leot "tail" _("tail")
415+Cvn "HUNTING DOGS" _("Canes Venatici")
416+LMi "LITTLE LION" _("Leo Minor")
417+# chart 4
418+Boo "HERDSMAN" _("Bootes")
419+.Boob "body" _("body")
420+.Booh "head" _("head")
421+.Boop "pipe" _("pipe")
422+CrB "NORTHERN CROWN" _("Corona Borealis")
423+Com "BERENICE'S HAIR" _("Coma Berenices")
424+# chart 5
425+Cyg "SWAN" _("Cygnus")
426+.Cygw1 "wing" _("wing")
427+.Cygw2 "wing" _("wing")
428+.Cygf "feet" _("feet")
429+.Cygn "outstretched neck" _("outstretched neck")
430+Lyr "LYRE" _("Lyra")
431+Vul "L.FOX" _("Vulpecula")
432+Her "HERCULES" _("Hercules")
433+.Herc "club" _("club")
434+.Herk "Keystone" _("Keystone")
435+# chart 6
436+Lac "LIZARD" _("Lacerta")
437+Tri "TRIANGLE" _("Triangulum")
438+And "ANDROMEDA" _("Andromeda")
439+.Andc "the chain" _("the chain")
440+GSq "GREAT SQUARE" _("Great Square")
441+Peg "PEGASUS" _("Pegasus")
442+.Pegh "head" _("head")
443+.Pegt "tail" _("tail")
444+.Pegw "wing" _("wing")
445+# chart 7
446+Per "PERSEUS" _("Perseus")
447+Ari "RAM" _("Aries")
448+.Arih "head" _("head")
449+.Arit "tail" _("tail")
450+Tau "BULL" _("Taurus")
451+.Tauh "head" _("head")
452+.Tauc1 "horn" _("horn")
453+.Tauc2 "horn" _("horn")
454+.Taut "tail" _("tail")
455+# chart 8
456+Aur "CHARIOTEER" _("Auriga")
457+Lyn "LYNX" _("Lynx")
458+Gem "TWINS" _("Gemini")
459+CMi "LITTLE DOG" _("Canis Minor")
460+Cnc "CRAB" _("Cancer")
461+# chart 9
462+Mon "UNICORN" _("Monoceros")
463+Ori "ORION" _("Orion")
464+.Orib "belt" _("belt")
465+.Oric "club" _("club")
466+.Oris "shield" _("shield")
467+Lep "HARE" _("Lepus")
468+CMa "BIG DOG" _("Canis Major")
469+Eri "RIVER ERIDANUS" _("Eridanus")
470+# chart 10
471+Hya "HYDRA" _("Hydra")
472+.Hyah "Hydra's head" _("Hydra's head")
473+Crt "CUP" _("Crater")
474+Ant "PUMP" _("Antlia")
475+# chart 11
476+.Hyat "HYDRA's tail" _("Hydra's tail")
477+Vir "VIRGIN" _("Virgo")
478+.Virh "head" _("head")
479+.Virf "feet" _("feet")
480+Lib "SCALES" _("Libra")
481+Crv "CROW" _("Corvus")
482+.Crvb "bill" _("bill")
483+.Crvf "foot" _("foot")
484+.Crvt "tail" _("tail")
485+# chart 12
486+SerCd "SERPENT'S TAIL" _("Serpens Cauda")
487+SerCp "SERPENT'S HEAD" _("Serpens Caput")
488+.SerHh "head" _("head")
489+Oph "SERPENT HOLDER" _("Ophiuchus")
490+.Ophb "body" _("body")
491+.Ophh "head" _("head")
492+.Opha1 "arm" _("arm")
493+.Opha2 "arm" _("arm")
494+.Ophf1 "foot" _("foot")
495+.Ophf2 "foot" _("foot")
496+Sco "SCORPION" _("Scorpius")
497+.Scoc "claws" _("claws")
498+.Scot "tail" _("tail")
499+.Scoe "cat's eyes" _("cat's eyes")
500+# chart 13
501+Sge "ARROW" _("Sagitta")
502+Del "DOLPHIN" _("Delphinus")
503+Aql "EAGLE" _("Aquila")
504+.Aqlh "head" _("head")
505+.Aqlw1 "wing" _("wing")
506+.Aqlw2 "wing" _("wing")
507+.Aqlt "tail" _("tail")
508+Sct "SHIELD" _("Scutum")
509+Sgr "ARCHER" _("Sagittarius")
510+.Sgrh "head" _("head")
511+.Sgrb "body" _("body")
512+.Sgrs "skirt" _("skirt")
513+.Sgrt "the bow" _("the bow")
514+CrA "SOUTHERN CROWN" _("Corona Australis")
515+# chart 14
516+Equ "LITTLE HORSE" _("Equuleus")
517+Aqr "WATER CARRIER" _("Aquarius")
518+.Aqrh "head" _("head")
519+.Aqra "arm" _("arm")
520+.Aqrv "vessel" _("vessel")
521+Cap "GOAT" _("Capricornus")
522+PsA "SOUTHERN FISH" _("Piscis Austrinus")
523+Gru "CRANE" _("Grus")
524+Phe "PHOENIX" _("Phoenix")
525+# chart 15
526+Psc "FISHES" _("Pisces")
527+.PscN "N.FISH" _("Northern Fish")
528+.PscW "Circlet or W. FISH" _("Circlet")
529+Cet "WHALE" _("Cetus")
530+.Cett "tail" _("tail")
531+Scl "SCULPTOR" _("Sculptor")
532+# chart 16
533+Vel "SHIP's SAIL" _("Vela")
534+Pyx "SHIP'S COMPASS" _("Pyxis")
535+.CruF "False Cross" _("False Cross")
536+Car "SHIP'S KEEL" _("Carina")
537+.Carh "figurehead" _("figurehead")
538+Pup "SHIP'S STERN" _("Puppis")
539+.Pupt "transom" _("transom")
540+Vol "FLYING FISH" _("Volans")
541+.Volw1 "wing" _("wing")
542+.Volw2 "wing" _("wing")
543+Dor "SWORDFISH" _("Dorado")
544+Col "DOVE" _("Columba")
545+.Colh "head" _("head")
546+.Colt "tail" _("tail")
547+.Colw "wing" _("wing")
548+Hyi "HYDRUS" _("Hydrus")
549+Pic "EASEL" _("Pictor")
550+Ret "NET" _("Reticulum")
551+Hor "CLOCK" _("Horologium")
552+For "FURNACE" _("Fornax")
553+# chart 17
554+Lup "WOLF" _("Lupus")
555+.Lupt "tail" _("tail")
556+.Lupe "ears" _("ears")
557+Cen "CENTAUR" _("Centaurus")
558+.Cenh "head" _("head")
559+.Cena1 "arm" _("arm")
560+.Cena2 "arm" _("arm")
561+.Cenb "body" _("body")
562+.Cenf "front legs" _("front legs")
563+.Cenl "hind legs" _("hind legs")
564+Cru "SOUTHERN CROSS" _("Crux")
565+Nor "SQUARE" _("Norma")
566+Cir "DIVIDERS" _("Circinus")
567+TrA "SOUTHERN TRIANGLE" _("Triangulum Australe")
568+Ara "ALTAR" _("Ara")
569+Mus "FLY" _("Fly")
570+Aps "BIRD OF PARADISE" _("Apus")
571+Cha "CHAMELEON" _("Chamaeleon")
572+.Chae "eyes" _("eyes")
573+Pav "PEACOCK" _("Pavo")
574+Oct "OCTANT" _("Octans")
575+Tuc "TOUCAN" _("Tucana")
576+Ind "INDIAN" _("Indus")
577+Tel "TELESCOPE" _("Telescopium")
578+# uncharted
579+Mic "MICROSCOPE" _("Microscopium")
580+Cae "CHISEL" _("Caelum")
581+Men "TABLE M." _("Mensa")
582+Sex "SEXTANT" _("Sextans")
583
584=== added file 'skycultures/western_rey/constellationship.fab'
585--- skycultures/western_rey/constellationship.fab 1970-01-01 00:00:00 +0000
586+++ skycultures/western_rey/constellationship.fab 2014-11-26 23:45:42 +0000
587@@ -0,0 +1,206 @@
588+# Western-Rey from H.A.Rey: The Stars - A New Way To See Them (1952, 41th reprint ca 1998).
589+# Original by Mike Richards, verified&extended by Rey's descriptions 2014 Georg Zotti
590+#
591+# TODO: Find a way to mark asterisms different from constellations?
592+# If you want to hide the abbreviation from display in "abbreviated" mode, prepend a dot to the name.
593+# there are 1-star "subfigures" labeled according to Rey, with hidden abbreviations and linked to dim stars.
594+#
595+# chart 1
596+# BIG DIPPER as separate constellation
597+BgD 7 67301 65378 65378 62956 62956 59774 59774 54061 54061 53910 53910 58001 58001 59774
598+.UMaP 1 53910 54061
599+UMi 7 11767 85822 85822 82080 82080 77055 77055 79822 79822 75097 75097 72607 72607 77055
600+# Guardians
601+.UMiG 1 72607 75097
602+Dra 15 87585 87833 87833 85670 85670 85829 85829 87585 87585 94376 94376 97433 94376 89908 89937 89908 89908 83895 83895 80331 80331 78527 78527 75458 75458 68756 68756 61281 61281 56211
603+# Dra feet
604+.DraF 3 89937 89908 89908 94376 94376 97433
605+# Dra head
606+.DraH 4 87585 87833 87833 85670 85670 85829 85829 87585
607+# Dra tail (only rear end)
608+.DraT 1 68756 61281
609+# Chart2:
610+# Cas: the W has an extra star!
611+Cas 5 9598 8886 8886 6686 6686 4427 4427 3179 3179 746
612+Cep 12 110991 112724 112724 106032 106032 105199 105199 102422 102422 101093 105199 107259 107259 109857 109857 109492 109492 110991 109492 107418 112724 116727 116727 106032
613+Cam 8 23040 23522 23522 17884 17884 16228 17884 17959 17959 22783 22783 23522 22783 33694 33694 29997
614+# Chart3:
615+Uma 19 67301 65378 65378 62956 62956 59774 59774 54061 54061 53910 53910 58001 58001 59774 54061 46733 46733 41704 41704 44127 44127 44471 44471 50801 50372 46853 46853 48319 48319 46733 50801 55203 55219 54539 54539 57399 57399 67301
616+.UMah 1 64468 64468
617+.UMap1 1 55203 55219
618+.UMap2 1 50801 44471
619+Leo 18 57632 54872 54872 54879 54879 55642 55642 55434 54879 51624 54879 49583 49583 49669 49583 47508 49583 50583 50583 53954 53954 54872 50583 50335 50335 48455 48455 46146 46146 46750 46750 47908 47908 48455 47908 49583
620+.Leoh 1 48390 48390
621+.Leot 1 56146 56146
622+CVn 1 61317 63125
623+LMi 5 53229 51233 51233 49593 49593 46952 49593 51056 51056 53229
624+# chart 4
625+Boo 18 67275 67459 67459 67927 67927 69673 69673 71795 71795 72105 72105 69673 72105 74666 74666 75411 75411 73555 73555 74666 73555 71075 71075 71053 71053 71284 71284 72105 71075 69732 69732 70497 70497 69483 69483 69732
626+.Boob 1 71571 71571
627+.Booh 1 73634 73634
628+.Boop 1 69483 69483
629+Com 5 64241 64394 64394 60742 64394 60697 64394 60746 64394 60904
630+CrB 5 76127 75695 75695 76267 76267 76952 76952 77512 77512 78159
631+# chart 5
632+Cyg 16 94779 97165 97165 100453 100453 102098 102098 104060 102098 99785 99785 95853 95853 94779 100453 102488 102488 104732 104732 103413 103413 102098 103413 105102 105102 104887 100453 98110 98110 96683 96683 95947
633+.Cygw1 1 98610 98610
634+.Cygw2 1 101756 101756
635+.Cygf 1 104463 104463
636+.Cygn 1 97295 97295
637+Lyr 10 91262 91926 91926 92862 92862 94481 94481 94713 94713 93194 93194 92420 92420 89826 89826 91262 93194 92791 92420 91971
638+Vul 1 95771 98543
639+Her 25 84345 84379 84379 85693 85693 86974 86974 88794 88794 88267 88267 88886 88886 90139 90139 92043 92043 92161 88794 87933 87933 84380 84380 85112 85112 87808 87808 86414 86414 81126 81126 79101 79101 79992 79992 86414 86974 83207 83207 81693 81693 81833 81833 84380 84380 83207 83207 80816 80816 80170
640+.Herc 1 80963 80963
641+.Herk 1 82959 82959
642+# chart 6
643+Lac 10 109937 109754 109754 111104 111104 111944 111944 111022 111022 110351 110351 111104 111022 110609 110609 110538 110538 111169 111169 111022
644+Tri 3 10670 10064 10064 8796 8796 10670
645+And 18 677 3092 3092 2912 2912 5447 5447 3092 3092 3031 3031 3693 3693 4463 5447 7513 7513 9640 5447 4436 4436 3881 3881 5434 5434 7607 2912 1411 1411 116631 116584 116805 116805 116631 116631 113726
646+# Andromeda's chain. Has separate label, but is no asterism.
647+.Andc 1 115808 115808
648+# GSq Great Square of Pegasus
649+GSq 4 113963 113881 113881 677 677 1067 1067 113963
650+Peg 18 113963 113881 113881 1067 1067 113963 113963 112440 112440 112748 112748 112158 112158 109410 114520 113963 113963 114144 113963 112447 112447 112029 112029 109427 112029 107315 112447 109176 109176 107348 112440 109176 109176 107354 107354 105502
651+.Pegh 1 111191 111191
652+.Pegt 1 113958 113958
653+.Pegw 1 115288 115288
654+# chart 7
655+Per 25 17448 18246 18246 18614 18614 18532 18532 14576 14576 14354 14354 13254 18532 17529 17529 16335 16335 15863 15863 16826 16826 17358 17358 19343 19343 19812 19812 20070 20070 19167 14576 14668 14668 14632 14632 13531 13531 13268 13268 14328 14328 13531 14328 15863 15863 14632 14632 12777 12777 8068
656+Ari 12 14838 13914 13914 10306 10306 8832 13914 13209 13209 13061 13061 12719 12719 13209 12719 9884 9884 9153 9153 8903 8903 9884 9884 10306
657+.Arih 1 8718 8718
658+.Arit 1 12808 12808
659+Tau 20 25428 21881 21881 20711 20711 17702 21881 26451 26451 21421 21421 20894 20894 20205 20205 20455 20455 20648 20648 20889 20889 20711 20205 21589 21589 21402 20205 19860 20205 18724 18724 16083 16083 16369 16083 15900 15900 16852 15900 18907
660+.Tauh 1 22947 22947
661+.Tauc1 1 23395 23395
662+.Tauc2 1 19009 19009
663+.Taut 1 16095 16095
664+# chart 8
665+Aur 10 23015 28380 28380 28360 28360 28358 28358 24608 24608 28360 23015 23767 23767 24608 24608 23416 23416 23453 23453 23767
666+Lyn 6 45860 45688 45688 44248 44248 41075 41075 36145 36145 33449 33449 30060
667+Gem 17 31681 34088 34088 35550 35550 35350 35350 32362 35550 36962 36962 37740 36962 37826 36962 36046 36046 34693 34693 36366 36366 36850 34693 33018 34693 32246 32246 30883 32246 30343 30343 29655 29655 28734
668+CMi 1 37279 36188
669+Cnc 6 43103 42806 42806 40167 40167 40526 40526 42911 42911 42806 42911 44066
670+# chart 9
671+Mon 10 41307 39863 29651 30867 30867 34769 34769 32578 32578 30419 34769 39863 39863 37447 32578 31216 30419 31216 31216 31978
672+Ori 23 26727 26311 26311 25930 28716 29426 29426 29038 29038 27913 27913 28716 29239 28614 28614 27989 27989 26727 26727 27366 24436 25281 25281 25930 25930 25336 25336 25813 25813 26207 25813 27989 25336 22449 22449 22549 22549 22797 22797 23123 22449 22509 22509 22845 22845 22957
673+.Orib 1 26464 26464
674+.Oric 1 28447 28447
675+.Oris 1 22245 22245
676+Lep 12 28910 28103 28103 27288 27288 25985 25985 24305 28910 27654 27654 27072 27072 25606 25606 23685 25985 25606 24305 24845 24305 24327 23685 24305
677+CMa 17 33160 34045 34045 33347 33347 32349 32349 33977 33977 34444 34444 35037 35037 35904 33579 33856 33856 34444 33579 33152 33152 31592 31592 31125 31592 30324 31592 32349 33579 32759 30122 33579 33347 33160
678+Eri 27 7588 9007 9007 10602 10602 11407 11407 12486 12486 13847 13847 15510 15510 17874 17874 20042 20042 20535 20535 21393 21393 18673 18673 18216 18216 17717 17717 17651 17651 16611 16611 15474 15474 14146 14146 13701 13701 16537 16537 17378 17378 18543 18543 19849 19849 19587 19587 21444 21444 22109 22109 23875 23875 21594
679+# chart 10
680+Hya 17 42799 42402 42402 42313 42313 43109 43109 43813 43813 42799 43813 45336 45336 47431 47431 46390 46390 49841 49841 51069 51069 52943 52943 53740 53740 54682 54682 56343 56343 57936 57936 64962 64962 68895
681+.Hyah 1 42142 42142
682+Crt 9 53740 54682 54682 55705 55705 55282 55282 53740 55282 55687 55687 56633 56633 58188 58188 57283 57283 55705
683+Ant 1 51172 51172
684+# chart 11
685+.Hyat 1 61720 61720
686+Vir 17 57380 57757 57757 60129 60129 61941 61941 58948 58948 57380 61941 64238 64238 65474 65474 69427 69427 69701 69701 71957 65474 66249 66249 68520 68520 72220 66249 63090 63090 63608 63090 61941 69701 68520
687+.Virh 1 58510 58510
688+.Virf 1 70755 70755
689+Lib 6 73714 72622 72622 74785 74785 76333 76333 72622 76333 76470 76470 76600
690+Crv 7 61174 60965 60965 59803 59803 59316 59316 59199 59316 60189 60189 61359 60189 60965
691+.Crvb 1 61145 61145
692+.Crvf 1 61251 61251
693+.Crvt 1 59087 59087
694+# chart 12
695+# We need a complete Ser entry to keep the IAU border valid.
696+Ser 19 92946 88771 88771 88601 88601 89962 89962 88048 88048 86565 86565 86263 86263 84880 80628 79882 79882 79593 79593 77516 77516 77622 77622 77070 77070 77257 77257 76276 76276 77233 77233 78072 78072 77450 77450 76852 76852 77233
697+SerCd 7 92946 88771 88771 88601 88601 89962 89962 88048 88048 86565 86565 86263 86263 84880
698+SerCp 12 80628 79882 79882 79593 79593 77516 77516 77622 77622 77070 77070 77257 77257 76276 76276 77233 77233 78072 78072 77450 77450 76852 76852 77233
699+.SerHh 1 77995 77995
700+Oph 21 85423 84405 84405 84970 84970 85340 85340 84893 84893 84012 84012 85365 85365 86742 86742 87108 87108 88601 86742 86032 86032 83000 83000 86742 83000 82673 82673 80883 80883 79593 83000 81377 81377 80894 80894 80569 80569 80343 80343 80975 81377 84012
701+.Ophb 1 83262 83262
702+.Ophh 1 85664 85664
703+.Opha1 1 87108 87108
704+.Opha2 1 81007 81007
705+.Ophf1 1 85084 85084
706+.Ophf2 1 80569 80569
707+Sco 19 87261 85927 85927 85696 85696 86170 86170 86670 86670 87073 87073 86228 86228 84143 84143 82671 82671 82514 82514 82396 82396 81266 81266 80763 80763 80112 80112 79404 79404 78104 78104 78265 80112 79374 79374 78820 78820 78401
708+.Scoc 1 79098 79098
709+.Scot 1 85889 85889
710+.Scoe 1 85543 85543
711+# chart 13
712+Sge 3 98337 97365 97365 96837 97365 96757
713+Del 10 101421 101916 101421 101800 101916 101800 101800 101882 101882 102281 102281 102532 102532 101958 101958 101769 101769 101483 101483 101800
714+Aql 10 98036 97649 97649 97278 97278 96229 96229 95501 95501 97804 99473 97804 95501 93747 93747 93244 95501 93805 93805 93429
715+.Aqlh 1 97229 97229
716+.Aqlw1 1 97980 97980
717+.Aqlw2 1 94486 94486
718+.Aqlt 1 93717 93717
719+Sct 4 92175 91726 91726 90595 90595 91117 91117 92175
720+Sgr 22 88635 89931 89931 90185 90185 89642 89642 88635 88635 89341 89341 90496 90496 89931 89931 92041 92041 92855 92855 94141 94141 95168 95168 95176 94141 93085 93085 92855 92855 93864 93864 93506 93506 92041 93864 98412 98412 98032 95241 95347 95347 98412 95347 93506
721+.Sgrh 1 93537 93537
722+.Sgrb 1 93277 93277
723+.Sgrs 1 95774 95774
724+.Sgrt 1 89678 89678
725+CrA 6 92989 93174 93174 93825 93825 94114 94114 94160 94160 94005 94005 93542 93542 92953
726+# chart 14
727+Equ 2 104987 104858 104858 104521
728+Aqr 23 102618 103045 103045 104459 104459 106278 106278 109139 106278 109074 109074 110395 110395 111497 111497 110672 110672 109074 109074 110003 110003 112961 112961 114855 114855 114724 114724 112961 112961 112716 112716 113136 113136 114855 114855 114341 114341 114375 114375 114119 114855 115438 115438 115669 115669 116247
729+.Aqrh 1 110764 110764
730+.Aqra 1 110378 110378
731+.Aqrv 1 113658 113658
732+Cap 14 100064 100345 100345 104139 104139 105515 105515 106985 106985 107556 105515 106039 106039 105881 105881 104139 104139 104019 104019 104234 104019 101027 100345 101027 101027 102485 102485 102978
733+PsA 9 113368 111954 111954 109285 109285 107380 107380 107608 107608 109285 109285 111188 111188 112948 112948 113246 113246 113368
734+Gru 9 114131 110997 110997 109268 109268 112122 112122 114421 114421 114131 112122 113638 112122 112623 109268 109111 109111 108085
735+Phe 12 5348 5165 5165 3245 3245 2072 3245 5348 5165 7083 7083 8837 8837 5165 5165 6867 6867 3245 2072 2081 2081 765 765 2072
736+#chart 15
737+Psc 20 5586 5742 5586 6193 6193 5742 5742 6706 6706 7097 7097 8198 8198 9487 9487 7884 7884 7007 7007 5737 5737 4906 4906 3786 3786 118268 118268 116771 116771 116928 116928 115738 115738 114971 114971 115227 115227 115830 115830 116771
738+.PscN 1 5339 5339
739+.PscW 1 115476 115476
740+Cet 14 12706 11484 11484 12828 12828 13954 13954 14135 14135 12706 12706 12387 12387 10826 10826 8645 8645 6537 6537 1562 1562 3419 3419 8102 3419 9347 9347 12387
741+.Cett 1 12925 12925
742+Scl 1 4577 4577
743+# chart 16
744+Vel 9 39953 42913 42913 45941 45941 48774 48774 52727 52727 51986 51986 50191 50191 46651 46651 44816 44816 39953
745+Pyx 3 39429 42515 42515 42828 42828 43409
746+.CruF 2 45941 41037 45556 42913
747+Car 14 39953 38827 38827 41037 41037 45556 45556 50371 50371 51232 51232 51849 51849 53253 53253 54463 53253 52468 52468 51576 51576 52419 52419 50099 50099 45238 45238 30438
748+.Carh 1 52742 52742
749+Pup 12 30438 31685 31685 35264 35264 36917 36917 37229 37229 37173 37173 38170 38170 38070 38070 37677 37677 36917 38170 39757 39757 39429 39429 39953
750+.Pupt 1 37089 37089
751+Vol 8 37504 34481 34481 39794 39794 37504 39794 35228 39794 41312 41312 44382 44382 39794 40817 39794
752+.Volw1 1 41304 41304
753+.Volw2 1 37032 37032
754+Dor 7 27100 27890 27890 26069 26069 27100 26069 21281 21281 19893 26069 23693 23693 21281
755+Col 8 28328 28199 28199 30277 30277 29807 29807 28199 28199 27628 27628 28328 27628 26634 26634 25859
756+.Colh 1 26035 26035
757+.Colt 1 28992 28992
758+.Colw 1 27955 27955
759+Hyi 5 2021 17678 17678 12394 12394 11001 11001 8928 8928 9236
760+Pic 3 32607 27530 27530 27321 32607 27321
761+Ret 4 19780 19921 19921 18597 18597 17440 17440 19780
762+Hor 1 19747 19747
763+For 1 14879 14879
764+# chart 17
765+Lup 24 78918 77634 77634 76705 76705 75177 75177 78384 75177 75304 75304 75501 75501 76297 76297 76552 76552 76829 75501 75141 75141 74117 74117 74911 74911 75264 74117 73807 73807 74376 74376 74395 73807 71536 71536 71121 71536 71860 71860 69996 71860 70576 71860 72683 72683 73273 73273 75177
766+.Lupt 1 77523 77523
767+.Lupe 1 70320 70320
768+Cen 31 72010 71865 71865 73334 73334 71352 71352 68245 68245 68862 68862 70300 70300 70090 70090 68933 68933 67464 67464 68245 67153 67457 67153 67669 67153 67786 67153 65109 65109 65936 65936 67464 67464 67472 67472 68002 68002 68523 68523 68282 68282 68245 68002 66657 66657 71683 66657 68702 66657 61932 61932 68002 61932 60823 60823 59449 59449 56561 60823 59196 59196 55425
769+.Cenh 1 69995 69995
770+.Cena1 1 71353 71353
771+.Cena2 1 66019 66019
772+.Cenb 1 65810 65810
773+.Cenf 1 69618 69618
774+.Cenl 1 57512 57512
775+Cru 2 61084 60718 62434 59747
776+Nor 4 80000 80582 80582 78914 78914 78639 78639 80000
777+Cir 2 71908 75323 71908 74824
778+TrA 4 82273 74946 74946 76440 76440 77952 77952 82273
779+Ara 6 88714 85792 85792 83153 83153 83081 83081 82363 82363 85727 85727 88714
780+Mus 6 62322 61585 61585 63613 63613 61199 61199 61585 61585 59929 59929 57363
781+Aps 4 80047 81065 81065 81852 81852 80047 80047 72370
782+Cha 5 40702 51839 51839 52595 52595 60000 60000 58484 58484 51839
783+.Chae 1 40888 40888
784+Pav 13 100751 105858 105858 102395 102395 99240 99240 100751 99240 98495 98495 91792 91792 93015 93015 99240 93015 92609 92609 90098 90098 88866 88866 92609 88866 86929
785+Oct 3 107089 112405 112405 70638 70638 107089
786+Tuc 5 110130 114996 114996 118322 118322 1599 1599 2484 2484 114996
787+Ind 5 101772 102333 102333 103227 103227 108870 108870 108431 108431 103227
788+Tel 1 90568 90422
789+# These are not described in Rey's detail maps. Only here to allow drawing the constellation borders.
790+Mic 1 102831 102831
791+Cae 1 21770 21770
792+Men 1 29271 29271
793+Sex 1 49641 49641
794\ No newline at end of file
795
796=== added file 'skycultures/western_rey/description.de.utf8'
797--- skycultures/western_rey/description.de.utf8 1970-01-01 00:00:00 +0000
798+++ skycultures/western_rey/description.de.utf8 2014-11-26 23:45:42 +0000
799@@ -0,0 +1,97 @@
800+<h2>Westlich: H.A. Rey</h2>
801+
802+<h4>Einleitung</h4>
803+
804+<p>Im Laufe des 19. Jahrhunderts kam die Verwendung und weitere
805+Ausgaben von mit mythologischen Figuren überladenen und aufwendig
806+illustrierten Sternatlanten aus der Mode. Die Sterne in Atlanten aus
807+dieser Zeit wurden mit Linienzügen verbunden, die jedoch oft nur
808+andeuten, welche Sterne zu welchem Sternbild gehören, ohne jedoch der
809+Figur zu folgen. Nach mehreren Jahrzehnten solcher Atlastradition
810+waren die Linienzüge bis zur Mitte des 20. Jahrhunderts für angehende
811+Sternfreunde völlig unverständlich geworden.</p>
812+
813+
814+<p><img src="Rey_cover.png" width="150" align="right"/>
815+H. A. Rey (Hans Augusto Reyersbach) (1898-1977), ein aus Hamburg
816+gebürtiger Illustrator und Autor von Kinderbüchern, veröffentlichte
817+1952 seine Neuinterpretation in dem Buch <em>The Stars - A New Way To
818+See Them</em>.</p>
819+
820+
821+<h4>Die Sternbilder</h4>
822+
823+<p>In diesem Buch, das sich insbesondere in den USA sehr großer
824+Beliebtheit erfreut, verband Rey die Sterne jedes Sternbilds "in einer
825+Weise, daß die sich ergebende Figur Sinn macht." Was ihn erstaunte
826+war, "daß niemand das vorher gemacht hatte. Die Grundidee ist doch so
827+einfach."</p>
828+
829+
830+<p>Reys neue Linienzüge erleichtern das Erkennen der Figuren
831+tatsächlich. Rey hat in seiner Arbeit keine zusätzlichen Bilder
832+verwendet, die Figuren aus den Linienzügen sprechen für sich. Daher
833+wäre eine Darstellung in Stellarium, die über die Linienzüge hinaus
834+noch gemalte Figuren zeigte, nicht angebracht. Rey bestand auch auf
835+die Bezeichnung in der Sprache des Volkes (USA: Englisch) statt der
836+Verwendung lateinischer Bezeichnungen. Bei Einstellung der
837+Namensdarstellung auf "Original" wird die Schreibweise von Rey
838+dargestellt: Zu den Sternbildernamen in Blockschrift hat er auch noch
839+Sternbilderteile erklärend beschriftet. Auch die benannten Sterne sind
840+auf die im Buch genannten Namen beschränkt.</p>
841+
842+
843+
844+<h4>Reys Figuren im Vergleich mit den Klassischen Sternbildern</h4>
845+
846+<p>Rey hält sich in Anzahl und Benennung im Wesentlichen an die
847+Tradition der Westlichen Sternsagen und beschreibt die 88 offiziell
848+anerkannten Bilder, mit Ergänzungen um die beiden Wagen und ein
849+"Großes Quadrat" (im Pegasus). Allerdings weicht seine Sichtweise doch
850+in einigen Fällen sehr markant von den Bildern ab, die Ptolemäus in
851+seinem Almagest (Mitte des 2. Jh n.Chr.) durch Bezeichnung der
852+Sternörter wie "der an der Schulter", "Kopf" etc. festgelegt
853+hatte. Einige Beispiele: <ul>
854+
855+<li> Rey drehte die Figur der großen Bärin (<em>Ursa Major</em>) um,
856+sie sieht jetzt aus wie ein Eisbär beim Wittern von Beute. Dadurch
857+entgeht er der ewigen Frage nach dem langen Bärenschwanz, andererseits
858+entfällt der Eindruck der den Pol mit dem täglichen Umschwung des
859+Himmels umwandernden Bärin.</li>
860+
861+<li>Den Stier (<em>Taurus</em>), von dem seit der Antike nur der
862+Vorderteil gezeigt wird, hat Rey um ein Hinterteil erweitert. Dafür
863+präsentiert er ihn nicht mit nach oben, sondern seitwärts büffelartig
864+weit ausladenden Hörnern. Der Hauptstern <em>Aldebaran</em>, sonst das
865+rote Auge, liegt nun am Hals.</li>
866+
867+<li>Der Kopf des <em>Herkules</em>, Rasalgethi, liegt
868+traditionellerweise gleich neben dem des Schlangenträgers
869+<em>Ophiuchus</em>, und ein Sternenviereck bildet seinen Körper. Aus
870+diesem bildet Rey nun den Kopf des Helden, und Rasalgethi (obwohl
871+arabisch eindeutig Ras=Kopf) markiert einen Fuß.
872+
873+<li>Auch der Walfisch (<em>Cetus</em>) ist umgedreht, aus dem Maul
874+wurde eine Schwanzflosse.</li>
875+
876+<li>Beim <em>Pegasus</em> vertauschte Rey Kopf und Füße. </li>
877+
878+<li><em>Bootes</em>, der Rinderhirt, wird sitzend und beim
879+Pfeifenrauchen dargestellt. (Und das in einem Buch auch für Kinder!
880+Keine Spur von "Political Correctness" in den 1950ern... :-) </li>
881+</ul> </p>
882+
883+
884+<h3>Weiterführende Links</h3>
885+<ul>
886+<li><a href="http://en.wikipedia.org/wiki/H._A._Rey">H.A.Rey (englischsprachige Wikipedia)</a></li>
887+</ul>
888+
889+<h3>Autoren</h3>
890+
891+<p>Diese Sternbildkultur war in Form einer alternativen
892+Linienzug-Datei von Mike Richards für den Austausch durch Anwender
893+bereits lange Zeit verfügbar mittels eines Links in der "Westlichen"
894+Sternbilderkultur. Die Prüfung anhand der 41. Auflage des Buches,
895+Erweiterung zu einer separaten Sternbilderkultur inklusive
896+Beschreibung erfolgten durch Georg Zotti.</p>
897
898=== added file 'skycultures/western_rey/description.en.utf8'
899--- skycultures/western_rey/description.en.utf8 1970-01-01 00:00:00 +0000
900+++ skycultures/western_rey/description.en.utf8 2014-11-26 23:45:42 +0000
901@@ -0,0 +1,83 @@
902+<h2>Western: H.A. Rey</h2>
903+
904+<h4> Introduction</h4>
905+
906+<p>During the 19th century the use and further editions of richly
907+illustrated atlases with sumptuously engraved mythological figures
908+fell out of fashion. The stars of the constellations in atlases of
909+that time started to be shown connected with line patterns ("stick
910+figures"), which however appear sometimes only to have been used to
911+indicate which stars belong to which constellation. Over several
912+decades the figures had ceased to resemble the figures they were named
913+after and appeared incomprehensible to beginning stargazers in the
914+middle of the 20th century.</p>
915+
916+<p><img src="Rey_cover.png" width="150" align="right"/>
917+H. A. Rey (Hans Augusto Reyersbach) (1898-1977), an artist and author
918+of children's books of German descent but emigrated to the USA,
919+published his answer to this problem in 1952 with the book <em>The
920+Stars - A New Way To See Them</em>.</p>
921+
922+
923+<h4>The Constellations</h4>
924+
925+<p>In this book, which has become very popular especially in the US,
926+Rey connected the stars of every constellation "in such a way that the
927+resulting shape makes sense." What surprised him was "that nobody has
928+done it before. The basic idea is so simple." </p>
929+
930+<p>Rey's new stick figures make it indeed very simple to recognize the
931+depicted constellation figures. Rey's work does not include figurative
932+artwork, therefore this sky culture deliberately only comes with Rey's
933+original stick figures. The constellation names were also always
934+given in English by Rey. If you switch to "Native" name display mode, you
935+may see exactly the spelling used in his book. Also the stars named
936+here are limited to those included in the book.</p>
937+
938+<h4>Rey's Figures and the Classic Constellations</h4>
939+
940+<p>Rey's constellations adhere to the tradition of the Western sky
941+culture and describes the 88 officially acknowledged constellations,
942+with addition of asterisms of the two Dippers and the "Great Square"
943+(of Pegasus). However, at several points Rey's figures deviate from
944+the canonical figures described since Ptolemy's Almagest (2nd century
945+AD), where also positions of the stars in their constellations had
946+been described in their names. For example, <ul>
947+
948+<li> Rey inverted the figure of the Great Bear (<em>Ursa Major</em>)
949+to look like a polar bear scenting prey. This on one hand does not
950+have the usual problem to explain its long tail. On the other hand,
951+the bear is not shown to walk around the pole in this
952+orientation.</li>
953+
954+<li>The Bull (<em>Taurus</em>), only the front of which is shown with
955+long upright horns in usual depictions, is shown with a complete body
956+including its tail, with horns stretched wide like those of a
957+buffalo. Its bright eye <em>Aldebaran</em> now lies in its neck.</li>
958+
959+<li>The head of <em>Hercules</em> is usually next to the head of
960+<em>Ophiuchus</em>, the serpent holder, and the four stars known as
961+"keystone" form his body. Rey makes his head out of the keystone, and
962+the star that usually marks the hero's head is now one of his feet.</li>
963+
964+<li>The Whale (<em>Cetus</em>) has been turned around, its former
965+mouth now forming a tail fin. </li>
966+
967+<li><em>Pegasus</em> exchanged feet and head.</li>
968+
969+<li><em>Bootes</em>, the herdsman, is shown sitting and smoking a pipe
970+(no trace of political correctness in a children's book of the
971+1950s... :-) </li> </ul> </p>
972+
973+
974+<h3>External links</h3>
975+<ul>
976+<li><a href="http://en.wikipedia.org/wiki/H._A._Rey">H.A.Rey (Wikipedia)</a></li>
977+</ul>
978+
979+<h3>Authors</h3>
980+
981+<p>This sky culture used to be for a long time an easy
982+user-installable addon example contributed by Mike Richards. It has
983+been reworked following the 41st reprint and completed with this
984+description by Georg Zotti.</p>
985
986=== added file 'skycultures/western_rey/info.ini'
987--- skycultures/western_rey/info.ini 1970-01-01 00:00:00 +0000
988+++ skycultures/western_rey/info.ini 2014-11-26 23:45:42 +0000
989@@ -0,0 +1,3 @@
990+[info]
991+name = Western (H.A.Rey)
992+author = Mike Richards and Georg Zotti
993
994=== added file 'skycultures/western_rey/star_names.fab'
995--- skycultures/western_rey/star_names.fab 1970-01-01 00:00:00 +0000
996+++ skycultures/western_rey/star_names.fab 2014-11-26 23:45:42 +0000
997@@ -0,0 +1,58 @@
998+# star_names.fab for H.A.Rey sky culture.
999+# Only stars mentioned in the book are included here.
1000+# Authentic list - DO NOT ADD STARS WHICH ARE NOT IN THE BOOK!
1001+# chart 1
1002+ 11767|_("Pole Star")
1003+ 72607|_("Kochab")
1004+ 65378|_("Mizar")
1005+ 65477|_("Alcor")
1006+# chart 2
1007+ 68756|_("Thuban")
1008+# chart 3
1009+ 49669|_("Regulus")
1010+ 57632|_("Denebola")
1011+ 63125|_("Cor Caroli")
1012+# chart 4
1013+ 69673|_("Arcturus")
1014+ 76267|_("Gemma")
1015+# chart 5
1016+ 95947|_("Albireo")
1017+102098|_("Deneb")
1018+ 91262|_("Vega")
1019+# chart 6: none
1020+# chart 7
1021+ 14576|_("Algol")
1022+#17702|_("Alcyone")
1023+ 17702|_("Pleiades")
1024+ 21421|_("Aldebaran")
1025+# chart 8
1026+ 36850|_("Castor")
1027+ 37826|_("Pollux")
1028+ 24608|_("Capella")
1029+ 37279|_("Procyon")
1030+# chart 9
1031+ 27989|_("Betelgeuse")
1032+ 24436|_("Rigel")
1033+ 32349|_("Sirius")
1034+# chart 10
1035+ 46390|_("Alphard")
1036+# chart 11
1037+ 65474|_("Spica")
1038+# chart 12
1039+ 80763|_("Antares")
1040+# chart 13
1041+ 97649|_("Altair")
1042+# chart 14
1043+113368|_("Fomalhaut")
1044+# chart 15
1045+ 10826|_("Mira")
1046+ 8102|_("Tau Ceti")
1047+ 9487|_("Knot")
1048+# chart 16
1049+ 30438|_("Canopus")
1050+ 7588|_("Achernar")
1051+# chart 17
1052+ 60718|_("Acrux")
1053+ 71683|_("Alpha Centauri")
1054+ 68702|_("Beta Centauri")
1055+
1056
1057=== modified file 'src/CMakeLists.txt'
1058--- src/CMakeLists.txt 2014-11-08 18:55:34 +0000
1059+++ src/CMakeLists.txt 2014-11-26 23:45:42 +0000
1060@@ -240,6 +240,7 @@
1061 CLIProcessor.hpp
1062 CLIProcessor.cpp
1063 translations.h
1064+ translations_skycultures.h
1065 )
1066
1067 # On windows, QZipReader is already included in the lib
1068
1069=== modified file 'src/core/StelSkyCultureMgr.hpp'
1070--- src/core/StelSkyCultureMgr.hpp 2013-04-02 15:45:15 +0000
1071+++ src/core/StelSkyCultureMgr.hpp 2014-11-26 23:45:42 +0000
1072@@ -39,7 +39,8 @@
1073 //! Manage sky cultures for stellarium.
1074 //! Different human cultures have used different names for stars, and visualised
1075 //! different constellations in the sky (and in different parts of the sky).
1076-//! In the installation data directory and user data directory are the "skycultures" sub-directory containing one sub-directory per sky culture.
1077+//! In the installation data directory and user data directory are the "skycultures"
1078+//! sub-directories containing one sub-directory per sky culture.
1079 //! This sub-directory name is that we refer to as sky culture ID here.
1080 //! @author Fabien Chereau
1081 class StelSkyCultureMgr : public QObject
1082@@ -106,7 +107,7 @@
1083
1084 //! Get the directory associated with a specified translated culture name.
1085 //! @param cultureName The culture name in the current language.
1086- //! @return The directory assocuated with cultureName.
1087+ //! @return The directory associated with cultureName.
1088 QString skyCultureI18ToDirectory(const QString& cultureName) const;
1089
1090 QMap<QString, StelSkyCulture> dirToNameEnglish;
1091
1092=== modified file 'src/core/modules/Comet.cpp'
1093--- src/core/modules/Comet.cpp 2014-11-08 15:56:11 +0000
1094+++ src/core/modules/Comet.cpp 2014-11-26 23:45:42 +0000
1095@@ -129,6 +129,11 @@
1096 slopeParameter = slope;
1097 }
1098
1099+void Comet::translateName(const StelTranslator &translator)
1100+{
1101+ nameI18 = translator.qtranslate(englishName);
1102+}
1103+
1104 QString Comet::getInfoString(const StelCore *core, const InfoStringGroup &flags) const
1105 {
1106 //Mostly copied from Planet::getInfoString():
1107@@ -138,7 +143,7 @@
1108 if (flags&Name)
1109 {
1110 oss << "<h2>";
1111- oss << q_(englishName); // UI translation can differ from sky translation
1112+ oss << getNameI18n(); // UI translation can differ from sky translation
1113 oss.setRealNumberNotation(QTextStream::FixedNotation);
1114 oss.setRealNumberPrecision(1);
1115 if (sphereScale != 1.f)
1116
1117=== modified file 'src/core/modules/Comet.hpp'
1118--- src/core/modules/Comet.hpp 2014-11-08 13:56:47 +0000
1119+++ src/core/modules/Comet.hpp 2014-11-26 23:45:42 +0000
1120@@ -77,6 +77,11 @@
1121 //virtual QString getType() const {return "Comet";}
1122 //! \todo Find better sources for the g,k system
1123 virtual float getVMagnitude(const StelCore* core) const;
1124+ //! sets the nameI18 property with the appropriate translation.
1125+ //! Function overriden to handle the problem with name conflicts.
1126+ virtual void translateName(const StelTranslator& trans);
1127+ virtual QString getEnglishName(void) const {return englishName;}
1128+ virtual QString getNameI18n(void) const {return nameI18;}
1129
1130 //! \brief sets absolute magnitude and slope parameter.
1131 //! These are the parameters in the IAU's two-parameter magnitude system
1132
1133=== modified file 'src/core/modules/Constellation.cpp'
1134--- src/core/modules/Constellation.cpp 2014-10-15 14:00:01 +0000
1135+++ src/core/modules/Constellation.cpp 2014-11-26 23:45:42 +0000
1136@@ -26,6 +26,8 @@
1137 #include "StelPainter.hpp"
1138 #include "StelApp.hpp"
1139 #include "StelCore.hpp"
1140+#include "StelModuleMgr.hpp"
1141+#include "ConstellationMgr.hpp"
1142
1143 #include <algorithm>
1144 #include <QString>
1145@@ -65,7 +67,9 @@
1146 if (istr.status()!=QTextStream::Ok)
1147 return false;
1148
1149- abbreviation = abb.toUpper();
1150+ // It's better to allow mixed-case abbreviations now that they can be displayed on screen. We then need toUpper() in comparisons.
1151+ //abbreviation = abb.toUpper();
1152+ abbreviation=abb;
1153
1154 asterism = new StelObjectP[numberOfSegments*2];
1155 for (unsigned int i=0;i<numberOfSegments*2;++i)
1156@@ -121,15 +125,33 @@
1157 }
1158 }
1159
1160-void Constellation::drawName(StelPainter& sPainter) const
1161+void Constellation::drawName(StelPainter& sPainter, ConstellationMgr::ConstellationDisplayStyle style) const
1162 {
1163 if (!nameFader.getInterstate())
1164 return;
1165
1166 if (checkVisibility())
1167 {
1168+ QString name;
1169+ switch (style)
1170+ {
1171+ case ConstellationMgr::constellationsTranslated:
1172+ name=nameI18;
1173+ break;
1174+ case ConstellationMgr::constellationsNative:
1175+ name=nativeName;
1176+ break;
1177+ case ConstellationMgr::constellationsEnglish:
1178+ name=englishName;
1179+ break;
1180+ case ConstellationMgr::constellationsAbbreviated:
1181+ name=(abbreviation.startsWith('.') ? "" : abbreviation);
1182+ break;
1183+ Q_ASSERT(0);
1184+ }
1185+
1186 sPainter.setColor(labelColor[0], labelColor[1], labelColor[2], nameFader.getInterstate());
1187- sPainter.drawText(XYname[0], XYname[1], nameI18, 0., -sPainter.getFontMetrics().width(nameI18)/2, 0, false);
1188+ sPainter.drawText(XYname[0], XYname[1], name, 0., -sPainter.getFontMetrics().width(name)/2, 0, false);
1189 }
1190 }
1191
1192
1193=== modified file 'src/core/modules/Constellation.hpp'
1194--- src/core/modules/Constellation.hpp 2014-10-15 14:00:01 +0000
1195+++ src/core/modules/Constellation.hpp 2014-11-26 23:45:42 +0000
1196@@ -2,6 +2,7 @@
1197 * Stellarium
1198 * Copyright (C) 2002 Fabien Chereau
1199 * Copyright (C) 2012 Timothy Reaves
1200+ * Copyright (C) 2014 Georg Zotti
1201 *
1202 * This program is free software; you can redistribute it and/or
1203 * modify it under the terms of the GNU General Public License
1204@@ -26,6 +27,7 @@
1205 #include "StelFader.hpp"
1206 #include "StelTextureTypes.hpp"
1207 #include "StelSphereGeometry.hpp"
1208+#include "ConstellationMgr.hpp"
1209
1210 #include <vector>
1211 #include <QString>
1212@@ -37,8 +39,14 @@
1213 //! @class Constellation
1214 //! The Constellation class models a grouping of stars in a Sky Culture.
1215 //! Each Constellation consists of a list of stars identified by their
1216-//! Hipparcos catalogue numbers, a name and optionally an abbreviated name,
1217-//! boundary shape and an artistic pictorial representation.
1218+//! @var abbreviation and Hipparcos catalogue numbers (taken from @file: constellationship.fab),
1219+//! another entry in @file constellation_names.eng.fab with the defining abbreviated name,
1220+//! @var nativeName, and translatable @var englishName (translation goes into @var nameI18),
1221+//! boundary shape from @file constellations_boundaries.dat and an (optional) artistic pictorial representation.
1222+//! GZ NEW: The @var nativeName should be accessible in a GUI option, so that e.g. original names as written in a
1223+//! concrete book where a skyculture has been taken from can be assured even when translation is available.
1224+//! TODO: There should be a distinction between constellations and asterisms, which are "inofficial" figures within a sky culture.
1225+//! For example, Western sky culture has a "Big Dipper", "Coathanger", etc. These would be nice to see, but in different style.
1226 class Constellation : public StelObject
1227 {
1228 friend class ConstellationMgr;
1229@@ -50,9 +58,9 @@
1230 //! Get a string with data about the Constellation.
1231 //! Constellations support the following InfoStringGroup flags:
1232 //! - Name
1233- //! @param core the Stelore object
1234+ //! @param core the StelCore object
1235 //! @param flags a set of InfoStringGroup items to include in the return value.
1236- //! @return a QString a description of the Planet.
1237+ //! @return a QString a description of the constellation.
1238 virtual QString getInfoString(const StelCore*, const InfoStringGroup& flags) const
1239 {
1240 if (flags&Name) return getNameI18n() + "(" + getShortName() + ")";
1241@@ -70,15 +78,15 @@
1242
1243 //! @param record string containing the following whitespace
1244 //! separated fields: abbreviation - a three character abbreviation
1245- //! for the constellation, a number of lines, and a list of Hipparcos
1246- //! catalogue numbers which, when connected form the lines of the
1247+ //! for the constellation, a number of lines (pairs), and a list of Hipparcos
1248+ //! catalogue numbers which, when connected pairwise, form the lines of the
1249 //! constellation.
1250 //! @param starMgr a pointer to the StarManager object.
1251 //! @return false if can't parse record, else true.
1252 bool read(const QString& record, StarMgr *starMgr);
1253
1254 //! Draw the constellation name
1255- void drawName(StelPainter& sPainter) const;
1256+ void drawName(StelPainter& sPainter, ConstellationMgr::ConstellationDisplayStyle style) const;
1257 //! Draw the constellation art
1258 void drawArt(StelPainter& sPainter) const;
1259 //! Draw the constellation boundary
1260@@ -104,10 +112,10 @@
1261 //! Get the short name for the Constellation (returns the abbreviation).
1262 QString getShortName() const {return abbreviation;}
1263 //! Draw the lines for the Constellation.
1264- //! This method uses the coords of the stars (optimized for use thru
1265+ //! This method uses the coords of the stars (optimized for use through
1266 //! the class ConstellationMgr only).
1267 void drawOptim(StelPainter& sPainter, const StelCore* core, const SphericalCap& viewportHalfspace) const;
1268- //! Draw the art texture, optimized function to be called thru a constellation manager only.
1269+ //! Draw the art texture, optimized function to be called through a constellation manager only.
1270 void drawArtOptim(StelPainter& sPainter, const SphericalRegion& region) const;
1271 //! Update fade levels according to time since various events.
1272 void update(int deltaTime);
1273@@ -142,11 +150,15 @@
1274
1275 //! International name (translated using gettext)
1276 QString nameI18;
1277- //! Name in english
1278+ //! Name in english (column 3 in constellation_names.eng.fab)
1279 QString englishName;
1280- //! Name in native language
1281+ //! Name in native language (column 2 in constellation_names.eng.fab).
1282+ //! According to practice as of V0.13.1, this may be an empty string.
1283+ //! If empty, will be filled with englishName.
1284 QString nativeName;
1285 //! Abbreviation (of the latin name for western constellations)
1286+ //! For non-western, a skyculture designer must invent it. (usually 2-5 letters)
1287+ //! This MUST be filled and be unique within a sky culture.
1288 QString abbreviation;
1289 //! Direction vector pointing on constellation name drawing position
1290 Vec3d XYZname;
1291
1292=== modified file 'src/core/modules/ConstellationMgr.cpp'
1293--- src/core/modules/ConstellationMgr.cpp 2014-11-08 22:04:20 +0000
1294+++ src/core/modules/ConstellationMgr.cpp 2014-11-26 23:45:42 +0000
1295@@ -49,6 +49,7 @@
1296 // constructor which loads all data from appropriate files
1297 ConstellationMgr::ConstellationMgr(StarMgr *_hip_stars)
1298 : hipStarMgr(_hip_stars),
1299+ constellationDisplayStyle(ConstellationMgr::constellationsTranslated),
1300 artFadeDuration(1.),
1301 artIntensity(0),
1302 artDisplayed(0),
1303@@ -94,6 +95,30 @@
1304 setFlagIsolateSelected(conf->value("viewing/flag_constellation_isolate_selected",
1305 conf->value("viewing/flag_constellation_pick", false).toBool() ).toBool());
1306
1307+ QString starloreDisplayStyle=conf->value("viewing/constellation_name_style", "translated").toString();
1308+ if (starloreDisplayStyle=="translated")
1309+ {
1310+ setConstellationDisplayStyle(constellationsTranslated);
1311+ }
1312+ else if (starloreDisplayStyle=="native")
1313+ {
1314+ setConstellationDisplayStyle(constellationsNative);
1315+ }
1316+ else if (starloreDisplayStyle=="abbreviated")
1317+ {
1318+ setConstellationDisplayStyle(constellationsAbbreviated);
1319+ }
1320+ else if (starloreDisplayStyle=="english")
1321+ {
1322+ setConstellationDisplayStyle(constellationsEnglish);
1323+ }
1324+ else
1325+ {
1326+ qDebug() << "Warning: viewing/constellation_name_style (" << starloreDisplayStyle << ") invalid. Using translated style.";
1327+ conf->setValue("viewing/constellation_name_style", "translated");
1328+ setConstellationDisplayStyle(constellationsTranslated);
1329+ }
1330+
1331 StelObjectMgr *objectManager = GETSTELMODULE(StelObjectMgr);
1332 objectManager->registerStelObjectMgr(this);
1333 connect(objectManager, SIGNAL(selectedObjectChanged(StelModule::StelModuleSelectAction)),
1334@@ -131,7 +156,7 @@
1335 QString conArtFile = StelFileMgr::findFile("skycultures/"+skyCultureDir+"/constellationsart.fab");
1336 if (conArtFile.isEmpty())
1337 {
1338- qDebug() << "No constellationsart.fab file found for sky culture " << QDir::toNativeSeparators(skyCultureDir);
1339+ qDebug() << "No constellationsart.fab file found for sky culture dir" << QDir::toNativeSeparators(skyCultureDir);
1340 }
1341
1342 // first of all, remove constellations from the list of selected objects in StelObjectMgr, since we are going to delete them
1343@@ -157,12 +182,12 @@
1344 updateI18n();
1345
1346 // load constellation boundaries
1347- // First try load constellation boundaries from sky culture
1348+ // First try loading constellation boundaries from sky culture. You may inhibit borders with an empty file.
1349 fic = StelFileMgr::findFile("skycultures/" + skyCultureDir + "/constellations_boundaries.dat");
1350 bool existBoundaries = false;
1351 if (fic.isEmpty())
1352 {
1353- qWarning() << "ERROR loading constellation boundaries file in sky culture: " << skyCultureDir;
1354+ qWarning() << "No separate constellation boundaries file in sky culture dir" << skyCultureDir << "- Using generic IAU boundaries.";
1355 // OK, Second try load generic constellation boundaries
1356 fic = StelFileMgr::findFile("data/constellations_boundaries.dat");
1357 if (fic.isEmpty())
1358@@ -312,6 +337,23 @@
1359 return asterFont.pixelSize();
1360 }
1361
1362+void ConstellationMgr::setConstellationDisplayStyle(int style)
1363+{
1364+ constellationDisplayStyle=(ConstellationMgr::ConstellationDisplayStyle) style;
1365+
1366+ QSettings* conf = StelApp::getInstance().getSettings();
1367+ Q_ASSERT(conf);
1368+ conf->setValue("viewing/constellation_name_style",
1369+ (constellationDisplayStyle == constellationsAbbreviated ? "abbreviated" : (constellationDisplayStyle == constellationsNative ? "native" : "translated")));
1370+ emit constellationsDisplayStyleChanged(constellationDisplayStyle);
1371+}
1372+
1373+ConstellationMgr::ConstellationDisplayStyle ConstellationMgr::getConstellationDisplayStyle()
1374+{
1375+ return constellationDisplayStyle;
1376+}
1377+
1378+
1379 void ConstellationMgr::loadLinesAndArt(const QString &fileName, const QString &artfileName, const QString& cultureName)
1380 {
1381 QFile in(fileName);
1382@@ -340,7 +382,7 @@
1383 asterisms.clear();
1384 Constellation *cons = NULL;
1385
1386- // read the file, adding a record per non-comment line
1387+ // read the file of line patterns, adding a record per non-comment line
1388 int currentLineNumber = 0; // line in file
1389 int readOk = 0; // count of records processed OK
1390 while (!in.atEnd())
1391@@ -363,7 +405,7 @@
1392 }
1393 else
1394 {
1395- qWarning() << "ERROR reading constellation rec at line " << currentLineNumber << "for culture" << cultureName;
1396+ qWarning() << "ERROR reading constellation lines record at line " << currentLineNumber << "for culture" << cultureName;
1397 delete cons;
1398 }
1399 }
1400@@ -563,7 +605,7 @@
1401 {
1402 // Check if in the field of view
1403 if (sPainter.getProjector()->projectCheck((*iter)->XYZname, (*iter)->XYname))
1404- (*iter)->drawName(sPainter);
1405+ (*iter)->drawName(sPainter, constellationDisplayStyle);
1406 }
1407 }
1408
1409@@ -584,13 +626,19 @@
1410 Constellation* ConstellationMgr::findFromAbbreviation(const QString& abbreviation) const
1411 {
1412 // search in uppercase only
1413- QString tname = abbreviation.toUpper();
1414+ //QString tname = abbreviation.toUpper();
1415
1416 vector < Constellation * >::const_iterator iter;
1417 for (iter = asterisms.begin(); iter != asterisms.end(); ++iter)
1418 {
1419- if ((*iter)->abbreviation == tname)
1420+ //if ((*iter)->abbreviation.toUpper() == tname)
1421+ if ((*iter)->abbreviation.compare(abbreviation, Qt::CaseInsensitive) == 0)
1422+ {
1423+ //if ((*iter)->abbreviation != abbreviation)
1424+ // qDebug() << "ConstellationMgr::findFromAbbreviation: not a perfect match, but sufficient:" << (*iter)->abbreviation << "vs." << abbreviation;
1425 return (*iter);
1426+ }
1427+ //else qDebug() << "Comparison mismatch: " << abbreviation << "vs." << (*iter)->abbreviation;
1428 }
1429 return NULL;
1430 }
1431@@ -627,7 +675,8 @@
1432
1433 // lines which look like records - we use the RE to extract the fields
1434 // which will be available in recRx.capturedTexts()
1435- QRegExp recRx("^\\s*(\\w+)\\s+\"(.*)\"\\s+_[(]\"(.*)\"[)]\\n");
1436+ // abbreviation is allowed to start with a dot to mark as "hidden".
1437+ QRegExp recRx("^\\s*(\\.?\\w+)\\s+\"(.*)\"\\s+_[(]\"(.*)\"[)]\\n");
1438
1439 // Some more variables to use in the parsing
1440 Constellation *aster;
1441@@ -650,7 +699,7 @@
1442
1443 if (!recRx.exactMatch(record))
1444 {
1445- qWarning() << "ERROR - cannot parse record at line" << lineNumber << "in constellation names file" << QDir::toNativeSeparators(namesFile);
1446+ qWarning() << "ERROR - cannot parse record at line" << lineNumber << "in constellation names file" << QDir::toNativeSeparators(namesFile) << ":" << record;
1447 }
1448 else
1449 {
1450@@ -662,6 +711,9 @@
1451 aster->nativeName = recRx.capturedTexts().at(2);
1452 aster->englishName = recRx.capturedTexts().at(3);
1453 readOk++;
1454+ // Some skycultures already have empty nativeNames. Fill those.
1455+ if (aster->nativeName.isEmpty())
1456+ aster->nativeName=aster->englishName;
1457 }
1458 else
1459 {
1460@@ -902,7 +954,7 @@
1461 return artDisplayed;
1462 }
1463
1464-void ConstellationMgr::setFlagLabels(bool displayed)
1465+void ConstellationMgr::setFlagLabels(const bool displayed)
1466 {
1467 if (namesDisplayed != displayed)
1468 {
1469@@ -1037,8 +1089,6 @@
1470
1471 // And remove all selections
1472 selected.clear();
1473-
1474-
1475 }
1476 }
1477
1478@@ -1225,7 +1275,8 @@
1479 find = false;
1480 if (useStartOfWords)
1481 {
1482- if (objPrefix.toUpper()==cn.mid(0, objPrefix.size()).toUpper())
1483+ //if (objPrefix.toUpper()==cn.mid(0, objPrefix.size()).toUpper()) // WHY SO LONG?
1484+ if (cn.startsWith(objPrefix, Qt::CaseInsensitive))
1485 find = true;
1486 }
1487 else
1488@@ -1257,7 +1308,8 @@
1489 find = false;
1490 if (useStartOfWords)
1491 {
1492- if (objPrefix.toUpper()==cn.mid(0, objPrefix.size()).toUpper())
1493+ //if (objPrefix.toUpper()==cn.mid(0, objPrefix.size()).toUpper()) // WHY SO LONG?
1494+ if (cn.startsWith(objPrefix, Qt::CaseInsensitive))
1495 find = true;
1496 }
1497 else
1498
1499=== modified file 'src/core/modules/ConstellationMgr.hpp'
1500--- src/core/modules/ConstellationMgr.hpp 2014-10-15 14:00:01 +0000
1501+++ src/core/modules/ConstellationMgr.hpp 2014-11-26 23:45:42 +0000
1502@@ -87,6 +87,11 @@
1503 READ getFlagLabels
1504 WRITE setFlagLabels
1505 NOTIFY namesDisplayedChanged)
1506+ Q_PROPERTY(ConstellationDisplayStyle constellationDisplayStyle
1507+ READ getConstellationDisplayStyle
1508+ WRITE setConstellationDisplayStyle
1509+ NOTIFY constellationsDisplayStyleChanged)
1510+
1511
1512 public:
1513 //! Constructor
1514@@ -121,24 +126,34 @@
1515 virtual StelObjectP searchByNameI18n(const QString& nameI18n) const;
1516
1517 //! Return the matching constellation if exists or NULL
1518- //! @param name The case in-sensistive standard program name (three letter abbreviation)
1519+ //! @param name The case in-sensitive standard program name (three letter abbreviation)
1520 virtual StelObjectP searchByName(const QString& name) const;
1521
1522+ // GZ: I see dubious descriptions and non-fitting var names: objPrefix should just be "string" or "obj",
1523+ // and useStartOfWord likely should be described as "decide if start of word is searched" (2x)
1524 //! Find and return the list of at most maxNbItem objects auto-completing the passed object I18n name.
1525 //! @param objPrefix the case insensitive first letters of the searched object
1526 //! @param maxNbItem the maximum number of returned object names
1527 //! @param useStartOfWords the autofill mode for returned objects names
1528- //! @return a vector of matching object name by order of relevance, or an empty vector if nothing match
1529+ //! @return a vector of matching object name by order of relevance, or an empty vector if nothing matches
1530 virtual QStringList listMatchingObjectsI18n(const QString& objPrefix, int maxNbItem=5, bool useStartOfWords=false) const;
1531 //! Find and return the list of at most maxNbItem objects auto-completing the passed object English name.
1532 //! @param objPrefix the case insensitive first letters of the searched object
1533 //! @param maxNbItem the maximum number of returned object names
1534 //! @param useStartOfWords the autofill mode for returned objects names
1535- //! @return a vector of matching object name by order of relevance, or an empty vector if nothing match
1536+ //! @return a vector of matching object name by order of relevance, or an empty vector if nothing matches
1537 virtual QStringList listMatchingObjects(const QString& objPrefix, int maxNbItem=5, bool useStartOfWords=false) const;
1538 virtual QStringList listAllObjects(bool inEnglish) const;
1539 virtual QStringList listAllObjectsByType(const QString& objType, bool inEnglish) const { Q_UNUSED(objType) Q_UNUSED(inEnglish) return QStringList(); }
1540 virtual QString getName() const { return "Constellations"; }
1541+ //! Describes how to display constellation labels. The viewDialog GUI has a combobox which corresponds to these values.
1542+ enum ConstellationDisplayStyle
1543+ {
1544+ constellationsAbbreviated = 0,
1545+ constellationsNative = 1,
1546+ constellationsTranslated = 2,
1547+ constellationsEnglish = 3 // Maybe this is not useful?
1548+ };
1549
1550 ///////////////////////////////////////////////////////////////////////////
1551 // Properties setters and getters
1552@@ -188,9 +203,9 @@
1553 //! Get line color
1554 Vec3f getLinesColor() const;
1555
1556- //! Set whether constellation path lines will be displayed
1557+ //! Set whether constellation lines will be displayed
1558 void setFlagLines(const bool displayed);
1559- //! Get whether constellation path lines are displayed
1560+ //! Get whether constellation lines are displayed
1561 bool getFlagLines(void) const;
1562
1563 //! Set label color for names
1564@@ -204,7 +219,7 @@
1565 Vec3f getLabelsColor() const;
1566
1567 //! Set whether constellation names will be displayed
1568- void setFlagLabels(bool displayed);
1569+ void setFlagLabels(const bool displayed);
1570 //! Set whether constellation names are displayed
1571 bool getFlagLabels(void) const;
1572
1573@@ -213,6 +228,13 @@
1574 //! Get the font size used for constellation names display
1575 float getFontSize() const;
1576
1577+ //! set the way how contellation names are displayed: abbbreviated/as-given/translated
1578+ //! @param style acceptable values 0=abbreviated, 1=untranslated, 2=translated.
1579+ //! @note Will be cast to enum'ed value, but usually receives value from a QComboBox in the GUI.
1580+ void setConstellationDisplayStyle(int style);
1581+ //! get the way how contellation names are displayed: abbbreviated/as-given/translated
1582+ ConstellationDisplayStyle getConstellationDisplayStyle();
1583+
1584 signals:
1585 void artDisplayedChanged(const bool displayed) const;
1586 void artFadeDurationChanged(const float duration) const;
1587@@ -225,6 +247,7 @@
1588 void linesDisplayedChanged(const bool displayed) const;
1589 void namesColorChanged(const Vec3f & color) const;
1590 void namesDisplayedChanged(const bool displayed) const;
1591+ void constellationsDisplayStyleChanged(const ConstellationDisplayStyle style) const;
1592
1593 private slots:
1594 //! Limit the number of constellations to draw based on selected stars.
1595@@ -248,13 +271,16 @@
1596
1597 private:
1598 //! Read constellation names from the given file.
1599- //! @param namesFile Name of the file containing the constellation names in english
1600+ //! @param namesFile Name of the file containing the constellation names
1601+ //! in a format consisting of abbreviation, native name and translatable english name.
1602+ //! @note The abbreviation must occur in the lines file loaded first in @name loadLinesAndArt()!
1603 void loadNames(const QString& namesFile);
1604
1605 //! Load constellation line shapes, art textures and boundaries shapes from data files.
1606 //! @param fileName The name of the constellation data file
1607 //! @param artFileName The name of the constellation art data file
1608 //! @param cultureName A string ID of the current skyculture
1609+ //! @note The abbreviation used in @param filename is required for cross-identifying translatable names in @name loadNames():
1610 void loadLinesAndArt(const QString& fileName, const QString& artfileName, const QString& cultureName);
1611
1612 //! Load the constellation boundary file.
1613@@ -263,7 +289,7 @@
1614 //! data file consists of whitespace separated values (space, tab or newline).
1615 //! Each boundary may span multiple lines, and consists of the following ordered
1616 //! data items:
1617- //! - The number of vertexes which make up in the boundary (integer).
1618+ //! - The number of vertices which make up in the boundary (integer).
1619 //! - For each vertex, two floating point numbers describing the ra and dec
1620 //! of the vertex.
1621 //! - The number of constellations which this boundary separates (always 2).
1622@@ -276,7 +302,7 @@
1623 //! @param rulesFile Name of the file containing the seasonal rules
1624 void loadSeasonalRules(const QString& rulesFile);
1625
1626- //! Draw the constellation lines at the epoch given by the StelCore.
1627+ //! Draw the constellation lines at the epoch given by the StelCore.
1628 void drawLines(StelPainter& sPainter, const StelCore* core) const;
1629 //! Draw the constellation art.
1630 void drawArt(StelPainter& sPainter) const;
1631@@ -316,6 +342,9 @@
1632
1633 QString lastLoadedSkyCulture; // Store the last loaded sky culture directory name
1634
1635+ //! this controls how constellations (and also star names) are printed: Abbreviated/as-given/translated
1636+ ConstellationDisplayStyle constellationDisplayStyle;
1637+
1638 // These are THE master settings - individual constellation settings can vary based on selection status
1639 float artFadeDuration;
1640 float artIntensity;
1641
1642=== modified file 'src/core/modules/MinorPlanet.cpp'
1643--- src/core/modules/MinorPlanet.cpp 2014-11-08 13:52:53 +0000
1644+++ src/core/modules/MinorPlanet.cpp 2014-11-26 23:45:42 +0000
1645@@ -190,7 +190,7 @@
1646 if (nameIsProvisionalDesignation)
1647 oss << provisionalDesignationHtml;
1648 else
1649- oss << q_(properName); // UI translation can differ from sky translation
1650+ oss << getNameI18n(); // UI translation can differ from sky translation
1651 oss.setRealNumberNotation(QTextStream::FixedNotation);
1652 oss.setRealNumberPrecision(1);
1653 if (sphereScale != 1.f)
1654
1655=== modified file 'src/core/modules/MinorPlanet.hpp'
1656--- src/core/modules/MinorPlanet.hpp 2014-08-18 17:15:29 +0000
1657+++ src/core/modules/MinorPlanet.hpp 2014-11-26 23:45:42 +0000
1658@@ -76,6 +76,8 @@
1659 //! sets the nameI18 property with the appropriate translation.
1660 //! Function overriden to handle the problem with name conflicts.
1661 virtual void translateName(const StelTranslator& trans);
1662+ virtual QString getEnglishName(void) const {return englishName;}
1663+ virtual QString getNameI18n(void) const {return nameI18;}
1664
1665 //! set the minor planet's number, if any.
1666 //! The number should be specified as an additional parameter, as
1667
1668=== modified file 'src/core/modules/Planet.cpp'
1669--- src/core/modules/Planet.cpp 2014-11-21 18:49:36 +0000
1670+++ src/core/modules/Planet.cpp 2014-11-26 23:45:42 +0000
1671@@ -113,6 +113,7 @@
1672 normalMap = StelApp::getInstance().getTextureManager().createTextureThread(StelFileMgr::getInstallationDir()+"/textures/"+normalMapName, StelTexture::StelTextureParams(true, GL_LINEAR, GL_REPEAT));
1673
1674 nameI18 = englishName;
1675+ nativeName = "";
1676 if (englishName!="Pluto")
1677 {
1678 deltaJD = 0.001*StelCore::JD_SECOND;
1679@@ -156,7 +157,20 @@
1680
1681 void Planet::translateName(const StelTranslator& trans)
1682 {
1683- nameI18 = trans.qtranslate(englishName);
1684+ if (nativeName.isEmpty())
1685+ nameI18 = trans.qtranslate(englishName);
1686+ else
1687+ nameI18 = trans.qtranslate(nativeName);
1688+}
1689+
1690+QString Planet::getEnglishName() const
1691+{
1692+ return englishName;
1693+}
1694+
1695+QString Planet::getNameI18n() const
1696+{
1697+ return nameI18;
1698 }
1699
1700 // Return the information string "ready to print" :)
1701@@ -167,7 +181,7 @@
1702
1703 if (flags&Name)
1704 {
1705- oss << "<h2>" << q_(englishName); // UI translation can differ from sky translation
1706+ oss << "<h2>" << getNameI18n(); // UI translation can differ from sky translation
1707 oss.setRealNumberNotation(QTextStream::FixedNotation);
1708 oss.setRealNumberPrecision(1);
1709 if (sphereScale != 1.f)
1710@@ -280,7 +294,7 @@
1711 QString str;
1712 QTextStream oss(&str);
1713 oss.setRealNumberPrecision(2);
1714- oss << nameI18;
1715+ oss << getNameI18n();
1716
1717 if (sphereScale != 1.f)
1718 {
1719
1720=== modified file 'src/core/modules/Planet.hpp'
1721--- src/core/modules/Planet.hpp 2014-11-08 18:40:32 +0000
1722+++ src/core/modules/Planet.hpp 2014-11-26 23:45:42 +0000
1723@@ -147,8 +147,8 @@
1724 virtual Vec3f getInfoColor(void) const;
1725 virtual QString getType(void) const {return "Planet";}
1726 virtual Vec3d getJ2000EquatorialPos(const StelCore *core) const;
1727- virtual QString getEnglishName(void) const {return englishName;}
1728- virtual QString getNameI18n(void) const {return nameI18;}
1729+ virtual QString getEnglishName(void) const;
1730+ virtual QString getNameI18n(void) const;
1731 virtual double getAngularSize(const StelCore* core) const;
1732 virtual bool hasAtmosphere(void) {return atmosphere;}
1733 virtual bool hasHalo(void) {return halo;}
1734@@ -179,6 +179,8 @@
1735 const QString getPlanetTypeString() const {return pTypeMap.value(pType);}
1736 PlanetType getPlanetType() const {return pType;}
1737
1738+ void setNativeName(QString planet) { nativeName = planet; }
1739+
1740 ApparentMagnitudeAlgorithm getApparentMagnitudeAlgorithm() const { return vMagAlgorithm; }
1741 const QString getApparentMagnitudeAlgorithmString() const { return vMagAlgorithmMap.value(vMagAlgorithm); }
1742 void setApparentMagnitudeAlgorithm(QString algorithm);
1743@@ -292,7 +294,8 @@
1744
1745 QString englishName; // english planet name
1746 QString nameI18; // International translated name
1747- QString texMapName; // Texture file path
1748+ QString nativeName; // Can be used in a skyculture
1749+ QString texMapName; // Texture file path
1750 QString normalMapName; // Texture file path
1751 int flagLighting; // Set whether light computation has to be proceed
1752 RotationElements re; // Rotation param
1753@@ -333,7 +336,7 @@
1754 ApparentMagnitudeAlgorithm vMagAlgorithm;
1755
1756 static Vec3f labelColor;
1757- static StelTextureSP hintCircleTex;
1758+ static StelTextureSP hintCircleTex;
1759 static QMap<PlanetType, QString> pTypeMap; // Maps fast type to english name.
1760 static QMap<ApparentMagnitudeAlgorithm, QString> vMagAlgorithmMap;
1761
1762@@ -379,7 +382,6 @@
1763
1764 static void initShader();
1765 static void deinitShader();
1766-
1767 };
1768
1769 #endif // _PLANET_HPP_
1770
1771=== modified file 'src/core/modules/SolarSystem.cpp'
1772--- src/core/modules/SolarSystem.cpp 2014-11-01 15:03:47 +0000
1773+++ src/core/modules/SolarSystem.cpp 2014-11-26 23:45:42 +0000
1774@@ -154,6 +154,7 @@
1775
1776 StelApp *app = &StelApp::getInstance();
1777 connect(app, SIGNAL(languageChanged()), this, SLOT(updateI18n()));
1778+ connect(app, SIGNAL(skyCultureChanged(QString)), this, SLOT(updateSkyCulture(QString)));
1779 connect(app, SIGNAL(colorSchemeChanged(const QString&)), this, SLOT(setStelStyle(const QString&)));
1780
1781 QString displayGroup = N_("Display Options");
1782@@ -179,6 +180,81 @@
1783 }
1784 }
1785
1786+
1787+void SolarSystem::updateSkyCulture(const QString& skyCultureDir)
1788+{
1789+ planetNativeNamesMap.clear();
1790+
1791+ QString namesFile = StelFileMgr::findFile("skycultures/" + skyCultureDir + "/planet_names.fab");
1792+
1793+ if (namesFile.isEmpty())
1794+ {
1795+ foreach (const PlanetP& p, systemPlanets)
1796+ {
1797+ if (p->getPlanetType()==Planet::isPlanet || p->getPlanetType()==Planet::isMoon || p->getPlanetType()==Planet::isStar)
1798+ p->setNativeName("");
1799+ }
1800+ updateI18n();
1801+ return;
1802+ }
1803+
1804+ // Open file
1805+ QFile planetNamesFile(namesFile);
1806+ if (!planetNamesFile.open(QIODevice::ReadOnly | QIODevice::Text))
1807+ {
1808+ qDebug() << "Cannot open file" << QDir::toNativeSeparators(namesFile);
1809+ return;
1810+ }
1811+
1812+ // Now parse the file
1813+ // lines to ignore which start with a # or are empty
1814+ QRegExp commentRx("^(\\s*#.*|\\s*)$");
1815+
1816+ // lines which look like records - we use the RE to extract the fields
1817+ // which will be available in recRx.capturedTexts()
1818+ QRegExp recRx("^\\s*(\\w+)\\s+\"(.+)\"\\s+_[(]\"(.+)\"[)]\\n");
1819+
1820+ QString record, planetId, nativeName;
1821+
1822+ // keep track of how many records we processed.
1823+ int totalRecords=0;
1824+ int readOk=0;
1825+ int lineNumber=0;
1826+ while (!planetNamesFile.atEnd())
1827+ {
1828+ record = QString::fromUtf8(planetNamesFile.readLine());
1829+ lineNumber++;
1830+
1831+ // Skip comments
1832+ if (commentRx.exactMatch(record))
1833+ continue;
1834+
1835+ totalRecords++;
1836+
1837+ if (!recRx.exactMatch(record))
1838+ {
1839+ qWarning() << "ERROR - cannot parse record at line" << lineNumber << "in planet names file" << QDir::toNativeSeparators(namesFile);
1840+ }
1841+ else
1842+ {
1843+ planetId = recRx.capturedTexts().at(1).trimmed();
1844+ nativeName = recRx.capturedTexts().at(2).trimmed();
1845+ planetNativeNamesMap[planetId] = nativeName;
1846+ readOk++;
1847+ }
1848+ }
1849+ planetNamesFile.close();
1850+ qDebug() << "Loaded" << readOk << "/" << totalRecords << "native names of planets";
1851+
1852+ foreach (const PlanetP& p, systemPlanets)
1853+ {
1854+ if (p->getPlanetType()==Planet::isPlanet || p->getPlanetType()==Planet::isMoon || p->getPlanetType()==Planet::isStar)
1855+ p->setNativeName(planetNativeNamesMap[p->getEnglishName()]);
1856+ }
1857+
1858+ updateI18n();
1859+}
1860+
1861 void SolarSystem::drawPointer(const StelCore* core)
1862 {
1863 const StelProjectorP prj = core->getProjection(StelCore::FrameJ2000);
1864@@ -1163,10 +1239,10 @@
1865 return result;
1866 }
1867
1868-// Update i18 names from english names according to current translator
1869+// Update i18 names from english names according to current sky culture translator
1870 void SolarSystem::updateI18n()
1871 {
1872- const StelTranslator& trans = StelApp::getInstance().getLocaleMgr().getAppStelTranslator();
1873+ const StelTranslator& trans = StelApp::getInstance().getLocaleMgr().getSkyTranslator();
1874 foreach (PlanetP p, systemPlanets)
1875 p->translateName(trans);
1876 }
1877@@ -1181,8 +1257,7 @@
1878 {
1879 oss << p->getParent()->getEnglishName() << " : ";
1880 }
1881- oss << p->getEnglishName() << endl;
1882- oss << p->getEnglishName() << endl;
1883+ oss << p->getEnglishName() << endl;
1884 }
1885 return str;
1886 }
1887
1888=== modified file 'src/core/modules/SolarSystem.hpp'
1889--- src/core/modules/SolarSystem.hpp 2014-11-01 15:03:47 +0000
1890+++ src/core/modules/SolarSystem.hpp 2014-11-26 23:45:42 +0000
1891@@ -334,6 +334,10 @@
1892 //! Load a color scheme
1893 void setStelStyle(const QString& section);
1894
1895+ //! Called when the sky culture is updated.
1896+ //! Loads native names of planets for a given sky culture.
1897+ //! @param skyCultureDir the name of the directory containing the sky culture to use.
1898+ void updateSkyCulture(const QString& skyCultureDir);
1899
1900 private:
1901 //! Search for SolarSystem objects which are close to the position given
1902@@ -361,7 +365,6 @@
1903
1904 void recreateTrails();
1905
1906-
1907 //! Used to count how many planets actually need shadow information
1908 int shadowPlanetCount;
1909 PlanetP sun;
1910@@ -405,6 +408,8 @@
1911 Vec3f trailColor;
1912 Vec3f pointerColor;
1913
1914+ QHash<QString, QString> planetNativeNamesMap;
1915+
1916 //////////////////////////////////////////////////////////////////////////////////
1917 // DEPRECATED
1918 //////////////////////////////////////////////////////////////////////////////////
1919
1920=== modified file 'src/core/modules/StarMgr.cpp'
1921--- src/core/modules/StarMgr.cpp 2014-10-11 19:50:44 +0000
1922+++ src/core/modules/StarMgr.cpp 2014-11-26 23:45:42 +0000
1923@@ -44,6 +44,8 @@
1924 #include "ZoneArray.hpp"
1925 #include "StelSkyDrawer.hpp"
1926 #include "RefractionExtinction.hpp"
1927+#include "StelModuleMgr.hpp"
1928+#include "ConstellationMgr.hpp"
1929
1930 #include <QTextStream>
1931 #include <QFile>
1932@@ -159,8 +161,13 @@
1933 delete[] hipIndex;
1934 }
1935
1936+// Allow untranslated name here if set in constellationMgr!
1937 QString StarMgr::getCommonName(int hip)
1938 {
1939+ ConstellationMgr* cmgr=GETSTELMODULE(ConstellationMgr);
1940+ if (cmgr->getConstellationDisplayStyle() == ConstellationMgr::constellationsNative)
1941+ return getCommonEnglishName(hip);
1942+
1943 QHash<int,QString>::const_iterator it(commonNamesMapI18n.find(hip));
1944 if (it!=commonNamesMapI18n.end())
1945 return it.value();
1946
1947=== modified file 'src/core/modules/StarMgr.hpp'
1948--- src/core/modules/StarMgr.hpp 2014-08-30 16:58:25 +0000
1949+++ src/core/modules/StarMgr.hpp 2014-11-26 23:45:42 +0000
1950@@ -219,7 +219,7 @@
1951 //! Get the (English) common name for a star with a specified
1952 //! Hipparcos catalogue number.
1953 //! @param hip The Hipparcos number of star
1954- //! @return translated common name of star
1955+ //! @return common name of star (from skyculture @file star_names.fab)
1956 static QString getCommonEnglishName(int hip);
1957
1958 //! Get the type of variability for a variable star with a specified
1959@@ -352,10 +352,10 @@
1960 const Vec3f &c1,
1961 const Vec3f &c2);
1962
1963- HipIndexStruct *hipIndex; // array of hiparcos stars
1964+ HipIndexStruct *hipIndex; // array of Hipparcos stars
1965
1966- static QHash<int, QString> commonNamesMap;
1967- static QHash<int, QString> commonNamesMapI18n;
1968+ static QHash<int, QString> commonNamesMap; // the original names from skyculture (star_names.fab)
1969+ static QHash<int, QString> commonNamesMapI18n; // translated names
1970 static QMap<QString, int> commonNamesIndexI18n;
1971 static QMap<QString, int> commonNamesIndex;
1972
1973
1974=== modified file 'src/gui/ConfigurationDialog.cpp'
1975--- src/gui/ConfigurationDialog.cpp 2014-11-17 14:56:04 +0000
1976+++ src/gui/ConfigurationDialog.cpp 2014-11-26 23:45:42 +0000
1977@@ -157,6 +157,16 @@
1978 updateCurrentLanguage();
1979 connect(cb->lineEdit(), SIGNAL(editingFinished()), this, SLOT(updateCurrentLanguage()));
1980 connect(cb, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(selectLanguage(const QString&)));
1981+ // Do the same for sky language:
1982+ cb = ui->skycultureLanguageComboBox;
1983+ cb->clear();
1984+ cb->addItems(StelTranslator::globalTranslator->getAvailableLanguagesNamesNative(StelFileMgr::getLocaleDir()));
1985+ cb->model()->sort(0);
1986+ updateCurrentSkyLanguage();
1987+ connect(cb->lineEdit(), SIGNAL(editingFinished()), this, SLOT(updateCurrentSkyLanguage()));
1988+ connect(cb, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(selectSkyLanguage(const QString&)));
1989+
1990+
1991
1992 ui->groupBoxUpdates->setChecked(StelApp::getInstance().getSettings()->value("main/check_updates_enabled", true).toBool());
1993 connect(ui->groupBoxUpdates, SIGNAL(toggled(bool)), this, SLOT(setUpdatesFlag(bool)));
1994@@ -331,12 +341,40 @@
1995 cb->setCurrentIndex(lt);
1996 }
1997
1998+void ConfigurationDialog::updateCurrentSkyLanguage()
1999+{
2000+ QComboBox* cb = ui->skycultureLanguageComboBox;
2001+ QString skyLang = StelApp::getInstance().getLocaleMgr().getSkyLanguage();
2002+ QString l2 = StelTranslator::iso639_1CodeToNativeName(skyLang);
2003+
2004+ if (cb->currentText() == l2)
2005+ return;
2006+
2007+ int lt = cb->findText(l2, Qt::MatchExactly);
2008+ if (lt == -1 && skyLang.contains('_'))
2009+ {
2010+ l2 = skyLang.left(skyLang.indexOf('_'));
2011+ l2=StelTranslator::iso639_1CodeToNativeName(l2);
2012+ lt = cb->findText(l2, Qt::MatchExactly);
2013+ }
2014+ if (lt!=-1)
2015+ cb->setCurrentIndex(lt);
2016+}
2017+
2018 void ConfigurationDialog::selectLanguage(const QString& langName)
2019 {
2020 QString code = StelTranslator::nativeNameToIso639_1Code(langName);
2021 StelApp::getInstance().getLocaleMgr().setAppLanguage(code);
2022+// StelApp::getInstance().getLocaleMgr().setSkyLanguage(code);
2023+ StelMainView::getInstance().initTitleI18n();
2024+}
2025+
2026+void ConfigurationDialog::selectSkyLanguage(const QString& langName)
2027+{
2028+ QString code = StelTranslator::nativeNameToIso639_1Code(langName);
2029+// StelApp::getInstance().getLocaleMgr().setAppLanguage(code);
2030 StelApp::getInstance().getLocaleMgr().setSkyLanguage(code);
2031- StelMainView::getInstance().initTitleI18n();
2032+// StelMainView::getInstance().initTitleI18n();
2033 }
2034
2035 void ConfigurationDialog::setStartupTimeMode()
2036
2037=== modified file 'src/gui/ConfigurationDialog.hpp'
2038--- src/gui/ConfigurationDialog.hpp 2014-10-11 19:50:44 +0000
2039+++ src/gui/ConfigurationDialog.hpp 2014-11-26 23:45:42 +0000
2040@@ -84,7 +84,9 @@
2041 void setSelectedInfoFromCheckBoxes();
2042
2043 void updateCurrentLanguage();
2044+ void updateCurrentSkyLanguage();
2045 void selectLanguage(const QString& languageCode);
2046+ void selectSkyLanguage(const QString& languageCode);
2047 void setStartupTimeMode();
2048 //! Show/bring to foreground the shortcut editor window.
2049 void showShortcutsWindow();
2050
2051=== modified file 'src/gui/LocationDialog.cpp'
2052--- src/gui/LocationDialog.cpp 2014-10-26 13:26:29 +0000
2053+++ src/gui/LocationDialog.cpp 2014-11-26 23:45:42 +0000
2054@@ -284,6 +284,7 @@
2055 QComboBox* planets = ui->planetNameComboBox;
2056 SolarSystem* ssystem = GETSTELMODULE(SolarSystem);
2057 QStringList planetNames(ssystem->getAllPlanetEnglishNames());
2058+ const StelTranslator& trans = StelApp::getInstance().getLocaleMgr().getSkyTranslator();
2059
2060 //Save the current selection to be restored later
2061 planets->blockSignals(true);
2062@@ -294,7 +295,7 @@
2063 //data. Unfortunately, there's no other way to do this than with a cycle.
2064 foreach(const QString& name, planetNames)
2065 {
2066- planets->addItem(q_(name), name);
2067+ planets->addItem(trans.qtranslate(name), name);
2068 }
2069 //Restore the selection
2070 index = planets->findData(selectedPlanetId, Qt::UserRole, Qt::MatchCaseSensitive);
2071
2072=== modified file 'src/gui/ViewDialog.cpp'
2073--- src/gui/ViewDialog.cpp 2014-11-23 16:43:10 +0000
2074+++ src/gui/ViewDialog.cpp 2014-11-26 23:45:42 +0000
2075@@ -254,17 +254,8 @@
2076 ui->autoChangeLandscapesCheckBox->setChecked(lmgr->getFlagLandscapeAutoSelection());
2077 connect(ui->autoChangeLandscapesCheckBox, SIGNAL(toggled(bool)), lmgr, SLOT(setFlagLandscapeAutoSelection(bool)));
2078
2079- // GZ: changes for refraction
2080- //ui->pressureDoubleSpinBox->setValue(StelApp::getInstance().getCore()->getSkyDrawer()->getAtmospherePressure());
2081- //connect(ui->pressureDoubleSpinBox, SIGNAL(valueChanged(double)), StelApp::getInstance().getCore()->getSkyDrawer(), SLOT(setAtmospherePressure(double)));
2082- //ui->temperatureDoubleSpinBox->setValue(StelApp::getInstance().getCore()->getSkyDrawer()->getAtmosphereTemperature());
2083- //connect(ui->temperatureDoubleSpinBox, SIGNAL(valueChanged(double)), StelApp::getInstance().getCore()->getSkyDrawer(), SLOT(setAtmosphereTemperature(double)));
2084- //ui->extinctionDoubleSpinBox->setValue(StelApp::getInstance().getCore()->getSkyDrawer()->getExtinctionCoefficient());
2085- //connect(ui->extinctionDoubleSpinBox, SIGNAL(valueChanged(double)), StelApp::getInstance().getCore()->getSkyDrawer(), SLOT(setExtinctionCoefficient(double)));
2086- //// instead
2087+ // atmosphere details
2088 connect(ui->pushButtonAtmosphereDetails, SIGNAL(clicked()), this, SLOT(showAtmosphereDialog()));
2089- // GZ: Done
2090-
2091
2092 ui->useAsDefaultLandscapeCheckBox->setChecked(lmgr->getCurrentLandscapeID()==lmgr->getDefaultLandscapeID());
2093 ui->useAsDefaultLandscapeCheckBox->setEnabled(lmgr->getCurrentLandscapeID()!=lmgr->getDefaultLandscapeID());
2094@@ -300,8 +291,10 @@
2095 const bool b = StelApp::getInstance().getSkyCultureMgr().getCurrentSkyCultureID()==StelApp::getInstance().getSkyCultureMgr().getDefaultSkyCultureID();
2096 ui->useAsDefaultSkyCultureCheckBox->setChecked(b);
2097 ui->useAsDefaultSkyCultureCheckBox->setEnabled(!b);
2098+ // GZ NEW allow to display short names and inhibit translation.
2099+ connect(ui->skyCultureNamesStyleComboBox, SIGNAL(currentIndexChanged(int)), cmgr, SLOT(setConstellationDisplayStyle(int)));
2100
2101- // Sky layers
2102+ // Sky layers. This not yet finished and not visible in releases.
2103 populateSkyLayersList();
2104 connect(this, SIGNAL(visibleChanged(bool)), this, SLOT(populateSkyLayersList()));
2105 connect(ui->skyLayerListWidget, SIGNAL(currentTextChanged(const QString&)), this, SLOT(skyLayersSelectionChanged(const QString&)));
2106@@ -408,6 +401,23 @@
2107 l->blockSignals(false);
2108 updateSkyCultureText();
2109
2110+ // populate language printing combo. (taken from DeltaT combo)
2111+ ConstellationMgr* cmgr=GETSTELMODULE(ConstellationMgr);
2112+ Q_ASSERT(cmgr);
2113+ Q_ASSERT(ui->skyCultureNamesStyleComboBox);
2114+ QComboBox* cultureNamesStyleComboBox = ui->skyCultureNamesStyleComboBox;
2115+ cultureNamesStyleComboBox->blockSignals(true);
2116+ cultureNamesStyleComboBox->clear();
2117+ cultureNamesStyleComboBox->addItem(q_("Abbreviated"), ConstellationMgr::constellationsAbbreviated);
2118+ cultureNamesStyleComboBox->addItem(q_("Native"), ConstellationMgr::constellationsNative); // Please make this always a transcript into European letters!
2119+ cultureNamesStyleComboBox->addItem(q_("Translated"), ConstellationMgr::constellationsTranslated);
2120+ //cultureNamesStyleComboBox->addItem(q_("English"), ConstellationMgr::constellationsEnglish); // This is not useful.
2121+ //Restore the selection
2122+ int index = cultureNamesStyleComboBox->findData(cmgr->getConstellationDisplayStyle(), Qt::UserRole, Qt::MatchCaseSensitive);
2123+ if (index==-1) index=2; // Default: Translated
2124+ cultureNamesStyleComboBox->setCurrentIndex(index);
2125+ cultureNamesStyleComboBox->blockSignals(false);
2126+
2127 const StelCore* core = StelApp::getInstance().getCore();
2128 StelGui* gui = dynamic_cast<StelGui*>(StelApp::getInstance().getGui());
2129 Q_ASSERT(gui);
2130@@ -496,6 +506,7 @@
2131 ui->useAsDefaultSkyCultureCheckBox->setEnabled(!b);
2132 }
2133
2134+// fill the description text window, not the names in the sky.
2135 void ViewDialog::updateSkyCultureText()
2136 {
2137 StelApp& app = StelApp::getInstance();
2138
2139=== modified file 'src/gui/ViewDialog.hpp'
2140--- src/gui/ViewDialog.hpp 2014-11-23 16:43:10 +0000
2141+++ src/gui/ViewDialog.hpp 2014-11-26 23:45:42 +0000
2142@@ -71,6 +71,7 @@
2143 void populateLightPollution();
2144 void populateLandscapeMinimalBrightness();
2145
2146+ // WHAT IS THE SKY LAYER? hidden, under development?
2147 void populateSkyLayersList();
2148 void skyLayersSelectionChanged(const QString&);
2149 void skyLayersEnabledChanged(int);
2150
2151=== modified file 'src/gui/configurationDialog.ui'
2152--- src/gui/configurationDialog.ui 2014-09-26 14:33:13 +0000
2153+++ src/gui/configurationDialog.ui 2014-11-26 23:45:42 +0000
2154@@ -170,7 +170,7 @@
2155 <item>
2156 <widget class="QGroupBox" name="groupBox_2">
2157 <property name="title">
2158- <string>Program language</string>
2159+ <string>Language settings</string>
2160 </property>
2161 <layout class="QHBoxLayout" name="horizontalLayout_2">
2162 <property name="leftMargin">
2163@@ -186,38 +186,84 @@
2164 <number>0</number>
2165 </property>
2166 <item>
2167- <widget class="QComboBox" name="programLanguageComboBox">
2168- <property name="sizePolicy">
2169- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
2170- <horstretch>0</horstretch>
2171- <verstretch>0</verstretch>
2172- </sizepolicy>
2173- </property>
2174- <property name="minimumSize">
2175- <size>
2176- <width>220</width>
2177- <height>24</height>
2178- </size>
2179- </property>
2180- <property name="maximumSize">
2181- <size>
2182- <width>220</width>
2183- <height>24</height>
2184- </size>
2185- </property>
2186- <property name="editable">
2187- <bool>true</bool>
2188- </property>
2189- <property name="insertPolicy">
2190- <enum>QComboBox::NoInsert</enum>
2191- </property>
2192- <property name="sizeAdjustPolicy">
2193- <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
2194- </property>
2195- <property name="frame">
2196- <bool>true</bool>
2197- </property>
2198- </widget>
2199+ <layout class="QGridLayout" name="languageGridLayout">
2200+ <item row="0" column="0">
2201+ <widget class="QLabel" name="programLanguageLabel">
2202+ <property name="text">
2203+ <string>Program Language</string>
2204+ </property>
2205+ </widget>
2206+ </item>
2207+ <item row="0" column="1">
2208+ <widget class="QComboBox" name="programLanguageComboBox">
2209+ <property name="sizePolicy">
2210+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
2211+ <horstretch>0</horstretch>
2212+ <verstretch>0</verstretch>
2213+ </sizepolicy>
2214+ </property>
2215+ <property name="minimumSize">
2216+ <size>
2217+ <width>220</width>
2218+ <height>24</height>
2219+ </size>
2220+ </property>
2221+ <property name="maximumSize">
2222+ <size>
2223+ <width>220</width>
2224+ <height>24</height>
2225+ </size>
2226+ </property>
2227+ <property name="editable">
2228+ <bool>true</bool>
2229+ </property>
2230+ <property name="insertPolicy">
2231+ <enum>QComboBox::NoInsert</enum>
2232+ </property>
2233+ <property name="sizeAdjustPolicy">
2234+ <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
2235+ </property>
2236+ <property name="frame">
2237+ <bool>true</bool>
2238+ </property>
2239+ </widget>
2240+ </item>
2241+ <item row="1" column="0">
2242+ <widget class="QLabel" name="skycultureLanguageLabel">
2243+ <property name="text">
2244+ <string>Sky Culture Language</string>
2245+ </property>
2246+ </widget>
2247+ </item>
2248+ <item row="1" column="1">
2249+ <widget class="QComboBox" name="skycultureLanguageComboBox">
2250+ <property name="sizePolicy">
2251+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
2252+ <horstretch>0</horstretch>
2253+ <verstretch>0</verstretch>
2254+ </sizepolicy>
2255+ </property>
2256+ <property name="minimumSize">
2257+ <size>
2258+ <width>220</width>
2259+ <height>24</height>
2260+ </size>
2261+ </property>
2262+ <property name="maximumSize">
2263+ <size>
2264+ <width>220</width>
2265+ <height>24</height>
2266+ </size>
2267+ </property>
2268+ <property name="editable">
2269+ <bool>true</bool>
2270+ </property>
2271+ <property name="insertPolicy">
2272+ <enum>QComboBox::NoInsert</enum>
2273+ </property>
2274+ </widget>
2275+ </item>
2276+ </layout>
2277 </item>
2278 </layout>
2279 </widget>
2280@@ -1644,7 +1690,6 @@
2281 </customwidget>
2282 </customwidgets>
2283 <tabstops>
2284- <tabstop>programLanguageComboBox</tabstop>
2285 <tabstop>setViewingOptionAsDefaultPushButton</tabstop>
2286 <tabstop>restoreDefaultsButton</tabstop>
2287 <tabstop>checkBoxName</tabstop>
2288
2289=== modified file 'src/gui/viewDialog.ui'
2290--- src/gui/viewDialog.ui 2014-11-23 16:09:46 +0000
2291+++ src/gui/viewDialog.ui 2014-11-26 23:45:42 +0000
2292@@ -1917,7 +1917,10 @@
2293 <property name="title">
2294 <string>Options</string>
2295 </property>
2296- <layout class="QVBoxLayout" name="verticalLayout_8">
2297+ <layout class="QFormLayout" name="formLayout_2">
2298+ <property name="fieldGrowthPolicy">
2299+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
2300+ </property>
2301 <property name="leftMargin">
2302 <number>0</number>
2303 </property>
2304@@ -1930,13 +1933,30 @@
2305 <property name="bottomMargin">
2306 <number>0</number>
2307 </property>
2308- <item>
2309+ <item row="0" column="0">
2310 <widget class="QCheckBox" name="useAsDefaultSkyCultureCheckBox">
2311 <property name="text">
2312 <string>Use this sky culture as default</string>
2313 </property>
2314 </widget>
2315 </item>
2316+ <item row="1" column="0">
2317+ <widget class="QLabel" name="label">
2318+ <property name="text">
2319+ <string>Show names</string>
2320+ </property>
2321+ </widget>
2322+ </item>
2323+ <item row="1" column="1">
2324+ <widget class="QComboBox" name="skyCultureNamesStyleComboBox">
2325+ <property name="toolTip">
2326+ <string>Select if you want names abbreviated, original or translated</string>
2327+ </property>
2328+ <property name="currentText">
2329+ <string/>
2330+ </property>
2331+ </widget>
2332+ </item>
2333 </layout>
2334 </widget>
2335 </item>
2336
2337=== modified file 'src/translations.h'
2338--- src/translations.h 2014-11-14 19:05:02 +0000
2339+++ src/translations.h 2014-11-26 23:45:42 +0000
2340@@ -19,6 +19,7 @@
2341
2342 // This file contains translations for all translatable strings stored within data files
2343 // It is not meant to be compiled but just parsed by gettext
2344+// names of celestial objects for screen display (Sky language) have been taken to translations_skycultures.h
2345
2346 class Translations
2347 {
2348@@ -28,143 +29,7 @@
2349 {
2350 // Generate Gettext strings for traduction
2351 Q_ASSERT(0);
2352-
2353- // Planets and satellites from ssystem.ini
2354- N_("Sun");
2355- N_("Mercury");
2356- N_("Venus");
2357- N_("Earth");
2358- N_("Moon");
2359- N_("Mars");
2360- N_("Deimos");
2361- N_("Phobos");
2362- N_("Ceres");
2363- N_("Pallas");
2364- N_("Juno");
2365- N_("Vesta");
2366- N_("Jupiter");
2367- N_("Io");
2368- N_("Europa");
2369- N_("Ganymede");
2370- N_("Callisto");
2371- N_("Amalthea");
2372- N_("Himalia");
2373- N_("Elara");
2374- N_("Pasiphae");
2375- N_("Sinope");
2376- N_("Lysithea");
2377- N_("Carme");
2378- N_("Ananke");
2379- N_("Leda");
2380- N_("Thebe");
2381- N_("Adrastea");
2382- N_("Metis");
2383- N_("Saturn");
2384- N_("Mimas");
2385- N_("Enceladus");
2386- N_("Tethys");
2387- N_("Dione");
2388- N_("Rhea");
2389- N_("Titan");
2390- N_("Hyperion");
2391- N_("Iapetus");
2392- N_("Phoebe");
2393- N_("Neptune");
2394- N_("Uranus");
2395- N_("Miranda");
2396- N_("Ariel");
2397- N_("Umbriel");
2398- N_("Titania");
2399- N_("Oberon");
2400- N_("Pluto");
2401- N_("Charon");
2402- // TRANSLATORS: Moon of Pluto (II)
2403- N_("Nix");
2404- // TRANSLATORS: Moon of Pluto (III)
2405- N_("Hydra (moon)");
2406- N_("Eris");
2407- N_("Triton");
2408- N_("Nereid");
2409- N_("Naiad");
2410- N_("Thalassa");
2411- N_("Despina");
2412- N_("Galatea");
2413- N_("Larissa");
2414- N_("Proteus");
2415- N_("Halimede");
2416- N_("Psamathe");
2417- N_("Sao");
2418- N_("Laomedeia");
2419- N_("Neso");
2420- N_("Solar System Observer");
2421- //TNO's that are in the default ssystem.ini
2422- // TRANSLATORS: TNO/Asteroid (90377) Sedna
2423- N_("Sedna");
2424- // TRANSLATORS: TNO/Asteroid (50000) Quaoar
2425- N_("Quaoar");
2426- // TRANSLATORS: TNO/Asteroid (90482) Orcus
2427- N_("Orcus");
2428- // TRANSLATORS: TNO/Asteroid (136108) Haumea
2429- N_("Haumea");
2430- //Asteroids that are not in the default ssystem.ini
2431- // TRANSLATORS: Asteroid (5) Astraea
2432- N_("Astraea");
2433- // TRANSLATORS: Asteroid (6) Hebe
2434- N_("Hebe");
2435- // TRANSLATORS: Asteroid (7) Iris
2436- N_("Iris");
2437- // TRANSLATORS: Asteroid (8) Flora
2438- N_("Flora");
2439- // TRANSLATORS: Asteroid (9) Metis
2440- N_("Metis");
2441- // TRANSLATORS: Asteroid (10) Hygiea
2442- N_("Hygiea");
2443- // TRANSLATORS: Asteroid (41) Daphne
2444- N_("Daphne");
2445- // TRANSLATORS: Asteroid (1221) Amor
2446- N_("Amor");
2447- // TRANSLATORS: Asteroid (99942) Apophis
2448- N_("Apophis");
2449- // TRANSLATORS: Asteroid (2060) Chiron
2450- N_("Chiron");
2451- // TRANSLATORS: Asteroid (433) Eros
2452- N_("Eros");
2453- // TRANSLATORS: Asteroid (624) Hektor
2454- N_("Hektor");
2455- // TRANSLATORS: Asteroid (20000) Varuna
2456- N_("Varuna");
2457- // TRANSLATORS: Asteroid (136472) Makemake
2458- N_("Makemake");
2459- // TRANSLATORS: Asteroid (3200) Phaethon
2460- N_("Phaethon");
2461- // TRANSLATORS: Asteroid (1866) Sisyphus
2462- N_("Sisyphus");
2463- // TRANSLATORS: Asteroid (1864) Daedalus
2464- N_("Daedalus");
2465- // TRANSLATORS: Asteroid (1566) Icarus
2466- N_("Icarus");
2467- // TRANSLATORS: Asteroid (1809) Prometheus
2468- N_("Prometheus");
2469- N_("Prometheus (moon)");
2470- // TRANSLATORS: Asteroid (1810) Epimetheus
2471- N_("Epimetheus");
2472- N_("Epimetheus (moon)");
2473- // TRANSLATORS: Asteroid (951) Gaspra
2474- N_("Gaspra");
2475- // TRANSLATORS: Asteroid (243) Ida
2476- N_("Ida");
2477- // TRANSLATORS: Asteroid (218) Bianca
2478- N_("Bianca");
2479- N_("Bianca (moon)");
2480-
2481- // TRANSLATORS: Proper name of comet C/1680 V1
2482- N_("Great Comet of 1680 (C/1680 V1)");
2483-
2484- // TRANSLATORS: Name of supernova SN 1572A and script name
2485- N_("Tycho's Supernova");
2486- // TRANSLATORS: Name of supernova SN 1604A
2487- N_("Kepler's Supernova");
2488-
2489+
2490 // Cardinals names
2491 N_("N"); // North
2492 N_("S"); // South
2493@@ -240,6 +105,7 @@
2494 N_("Tupi-Guarani");
2495 N_("Tongan");
2496 N_("Western");
2497+ N_("Western (H.A.Rey)");
2498
2499
2500 // =====================================================================
2501@@ -263,6 +129,7 @@
2502 // TRANSLATORS: Name of landscape
2503 N_("Geneva");
2504 // TRANSLATORS: Name of landscape
2505+ // TRANSLATORS: Name of landscape
2506 N_("Grossmugl");
2507 // TRANSLATORS: Name of landscape
2508 N_("Zero Horizon");
2509@@ -320,6 +187,8 @@
2510 N_("Earth and Venus Greatest Elongations and Brilliancies from Mars");
2511 // TRANSLATORS: Name of script
2512 N_("Earth and Mars Greatest Elongations and Transits from Callisto");
2513+ // TRANSLATORS: Name of script
2514+ N_("Tycho's Supernova");
2515
2516 // =====================================================================
2517 // Script descriptions
2518
2519=== added file 'src/translations_skycultures.h'
2520--- src/translations_skycultures.h 1970-01-01 00:00:00 +0000
2521+++ src/translations_skycultures.h 2014-11-26 23:45:42 +0000
2522@@ -0,0 +1,171 @@
2523+/*
2524+ * Stellarium
2525+ * Copyright (C) 2005 Fabien Chereau
2526+ *
2527+ * This program is free software; you can redistribute it and/or
2528+ * modify it under the terms of the GNU General Public License
2529+ * as published by the Free Software Foundation; either version 2
2530+ * of the License, or (at your option) any later version.
2531+ *
2532+ * This program is distributed in the hope that it will be useful,
2533+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2534+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2535+ * GNU General Public License for more details.
2536+ *
2537+ * You should have received a copy of the GNU General Public License
2538+ * along with this program; if not, write to the Free Software
2539+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
2540+ */
2541+
2542+// This file contains translations for all translatable strings stored within data files
2543+// which relate to displayable celestial objects. These need a translation separate from the App translations.
2544+// Currently these are only names of solar system objects.
2545+// It is not meant to be compiled but just parsed by gettext
2546+
2547+class TranslationsSkycultures
2548+{
2549+ void TranslationsSkycultures(){;}
2550+
2551+ static translationList()
2552+ {
2553+ // Generate Gettext strings for traduction
2554+ Q_ASSERT(0);
2555+
2556+ // Planets and satellites from ssystem.ini
2557+ N_("Sun");
2558+ N_("Mercury");
2559+ N_("Venus");
2560+ N_("Earth");
2561+ N_("Moon");
2562+ N_("Mars");
2563+ N_("Deimos");
2564+ N_("Phobos");
2565+ N_("Ceres");
2566+ N_("Pallas");
2567+ N_("Juno");
2568+ N_("Vesta");
2569+ N_("Jupiter");
2570+ N_("Io");
2571+ N_("Europa");
2572+ N_("Ganymede");
2573+ N_("Callisto");
2574+ N_("Amalthea");
2575+ N_("Himalia");
2576+ N_("Elara");
2577+ N_("Pasiphae");
2578+ N_("Sinope");
2579+ N_("Lysithea");
2580+ N_("Carme");
2581+ N_("Ananke");
2582+ N_("Leda");
2583+ N_("Thebe");
2584+ N_("Adrastea");
2585+ N_("Metis");
2586+ N_("Saturn");
2587+ N_("Mimas");
2588+ N_("Enceladus");
2589+ N_("Tethys");
2590+ N_("Dione");
2591+ N_("Rhea");
2592+ N_("Titan");
2593+ N_("Hyperion");
2594+ N_("Iapetus");
2595+ N_("Phoebe");
2596+ N_("Neptune");
2597+ N_("Uranus");
2598+ N_("Miranda");
2599+ N_("Ariel");
2600+ N_("Umbriel");
2601+ N_("Titania");
2602+ N_("Oberon");
2603+ N_("Pluto");
2604+ N_("Charon");
2605+ // TRANSLATORS: Moon of Pluto (II)
2606+ N_("Nix");
2607+ // TRANSLATORS: Moon of Pluto (III)
2608+ N_("Hydra (moon)");
2609+ N_("Eris");
2610+ N_("Triton");
2611+ N_("Nereid");
2612+ N_("Naiad");
2613+ N_("Thalassa");
2614+ N_("Despina");
2615+ N_("Galatea");
2616+ N_("Larissa");
2617+ N_("Proteus");
2618+ N_("Halimede");
2619+ N_("Psamathe");
2620+ N_("Sao");
2621+ N_("Laomedeia");
2622+ N_("Neso");
2623+ N_("Solar System Observer");
2624+ //TNO's that are in the default ssystem.ini
2625+ // TRANSLATORS: TNO/Asteroid (90377) Sedna
2626+ N_("Sedna");
2627+ // TRANSLATORS: TNO/Asteroid (50000) Quaoar
2628+ N_("Quaoar");
2629+ // TRANSLATORS: TNO/Asteroid (90482) Orcus
2630+ N_("Orcus");
2631+ // TRANSLATORS: TNO/Asteroid (136108) Haumea
2632+ N_("Haumea");
2633+ //Asteroids that are not in the default ssystem.ini
2634+ // TRANSLATORS: Asteroid (5) Astraea
2635+ N_("Astraea");
2636+ // TRANSLATORS: Asteroid (6) Hebe
2637+ N_("Hebe");
2638+ // TRANSLATORS: Asteroid (7) Iris
2639+ N_("Iris");
2640+ // TRANSLATORS: Asteroid (8) Flora
2641+ N_("Flora");
2642+ // TRANSLATORS: Asteroid (9) Metis
2643+ N_("Metis");
2644+ // TRANSLATORS: Asteroid (10) Hygiea
2645+ N_("Hygiea");
2646+ // TRANSLATORS: Asteroid (41) Daphne
2647+ N_("Daphne");
2648+ // TRANSLATORS: Asteroid (1221) Amor
2649+ N_("Amor");
2650+ // TRANSLATORS: Asteroid (99942) Apophis
2651+ N_("Apophis");
2652+ // TRANSLATORS: Asteroid (2060) Chiron
2653+ N_("Chiron");
2654+ // TRANSLATORS: Asteroid (433) Eros
2655+ N_("Eros");
2656+ // TRANSLATORS: Asteroid (624) Hektor
2657+ N_("Hektor");
2658+ // TRANSLATORS: Asteroid (20000) Varuna
2659+ N_("Varuna");
2660+ // TRANSLATORS: Asteroid (136472) Makemake
2661+ N_("Makemake");
2662+ // TRANSLATORS: Asteroid (3200) Phaethon
2663+ N_("Phaethon");
2664+ // TRANSLATORS: Asteroid (1866) Sisyphus
2665+ N_("Sisyphus");
2666+ // TRANSLATORS: Asteroid (1864) Daedalus
2667+ N_("Daedalus");
2668+ // TRANSLATORS: Asteroid (1566) Icarus
2669+ N_("Icarus");
2670+ // TRANSLATORS: Asteroid (1809) Prometheus
2671+ N_("Prometheus");
2672+ N_("Prometheus (moon)");
2673+ // TRANSLATORS: Asteroid (1810) Epimetheus
2674+ N_("Epimetheus");
2675+ N_("Epimetheus (moon)");
2676+ // TRANSLATORS: Asteroid (951) Gaspra
2677+ N_("Gaspra");
2678+ // TRANSLATORS: Asteroid (243) Ida
2679+ N_("Ida");
2680+ // TRANSLATORS: Asteroid (218) Bianca
2681+ N_("Bianca");
2682+ N_("Bianca (moon)");
2683+
2684+ // TRANSLATORS: Proper name of comet C/1680 V1
2685+ N_("Great Comet of 1680 (C/1680 V1)");
2686+
2687+ // TRANSLATORS: Name of supernova SN 1572A
2688+ N_("Tycho's Supernova");
2689+ // TRANSLATORS: Name of supernova SN 1604A
2690+ N_("Kepler's Supernova");
2691+
2692+ }
2693+};