Repository navigation
Open
Labels
dataMissing/bad/outdated data, but no code errorMissing/bad/outdated data, but no code errordescriptionImprovements or additions to description of scenery, landscape or skyculture…Improvements or additions to description of scenery, landscape or skyculture…documentationImprovements or additions to documentationImprovements or additions to documentationimportance: mediumA bit annoying, minor miscalculation, but no crashA bit annoying, minor miscalculation, but no crashpurpose: cultural astronomyIssues, pull requests and proposals with cultural astronomy purposesIssues, pull requests and proposals with cultural astronomy purposessubsystem: skyculturesThe issue is related to skycultures of planetarium...The issue is related to skycultures of planetarium...
Milestone
Description
I have been reading through the SUG to understand the structure of sky culture data, especially the common_name/common_names field. I have noticed some inconsistencies that I think should be addressed:
SUG 9.2.4: Constellation -> common_name
- missing field
translators_comments(9.2.7 has it),generate-pot.pyuses it - index.json (ex. arabic_arabian_peninsula) uses
referencesbut this is neither documented nor read byConstellations.cpp Constellations.cppandgenerate-pot.pyusecontextbut this is not documented
SUG 9.2.5: Asterisms -> common_name
- missing field
translators_comments(9.2.7 has it),generate-pot.pyuses it - Bug: SUG mentions
referencesincommon_name, butAsterisms.cpptries to readdata["references"]instead ofdata["common_name"]["references"](GZ EDIT: fixed) - unlike Constellations,
Asterisms.cppdoes not usecontext, butgenerate-pot.pydoes, but the field is not documented in the SUG
SUG 9.2.7: Sky Culture -> common_names (Names of Stars, Planets and Nonstellar Objects)
- SUG says
translator_comments, index.jsons usetranslators_comments(with an extra "s") - the function
process_namesingenerate-pot.pyusescontextincommon_names, but this is not documented in the SUG
These are just examples of what I have found so far. I will edit this issue if I find more.
I suppose a solution would be to introduce a single section in the SUG that defines the structure of common_name/common_names, including all the fields and thus serving as a "single source of truth" so its easier to update and maintain.
Metadata
Metadata
Assignees
Labels
dataMissing/bad/outdated data, but no code errorMissing/bad/outdated data, but no code errordescriptionImprovements or additions to description of scenery, landscape or skyculture…Improvements or additions to description of scenery, landscape or skyculture…documentationImprovements or additions to documentationImprovements or additions to documentationimportance: mediumA bit annoying, minor miscalculation, but no crashA bit annoying, minor miscalculation, but no crashpurpose: cultural astronomyIssues, pull requests and proposals with cultural astronomy purposesIssues, pull requests and proposals with cultural astronomy purposessubsystem: skyculturesThe issue is related to skycultures of planetarium...The issue is related to skycultures of planetarium...
Type
Projects
- StatusShow more project fieldsReady
Activity
gzotti commentedon Apr 29, 2026
Thanks, some of these pesky details are probably still not complete.
The translator(s)_comments are not used in the program, but should help adding additional context for translators working on Transifex without necessarily seeing the place in the program where it's used. But agreed, should be translators_comments everywhere, and is optional.
On "Context", I cannot even say, @10110111 , @alex-w do we need to fill context everywhere in index.json, or could generate-pot.py add context entries (just the SC name?)? (And how many do exist now and are used - does a change mean retransifexing what feels like ~8000 name entries yet once more?)
On references vs common_name/references: For Asterisms and star names, I have implemented a "reference exclusion" so that if you don't like the asterisms or also star names from ref."X", those entries which only have "X" in their reference list are not used. (e.g. this internal ~1970 NASA memorandum which brings star name duplicates with Roman numerals. IMO nobody outside NASA/JPL has ever used them, so I don't like to see them usually. Same goes for tertiary textbooks that just brought misprinted names.)
The structure of the "common_name" dict inside Constellation and Asterism should probably be identical, and an L2 section "Asterisms" added to description.md. The skyculture/common_names section is IMO different by design, buy yes, the role of "context" is not really documented and may still have inconsistencies.
github-actions commentedon Apr 29, 2026
Thank you for suggesting documentation improvement.
alex-w commentedon Apr 29, 2026
Context maybe really helpful for star names, because same English name may have different translation in some languages (we have a few bug reports for this case)
6 remaining items
xLPMG commentedon May 1, 2026
My next issue is that I don't know whether I should really rewrite the section of the SUG or not. On one hand I think consistency is important and it will only get worse with each update. On the other hand, the "common_name" attribute seems like such a small and rather low priority topic that I do not want to waste your time and make big changes to the SUG.
gzotti commentedon May 1, 2026
A few answers or EDITS: solutions from June 13 (-[X]-):
gzotti commentedon May 1, 2026
Maybe it's not so important that You rewrite the SUG chapter. However, this discussion is important to identify unclarities/inconsistencies and finalize the description which was growing for two years now, e.g., I have my own knowledge voids in the whole translation business around the proper use of the context entry, see above. And at some point, we wanted to have one common JSON format for this project, S-web and S-mobile even if not all programs use all features, so that SCs can be shared among installations, e.g. developed on desktop, and added on mobile or so. A complete format description would surely be helpful.
xLPMG commentedon May 1, 2026
No, thats fine. I'll update the table above so that asterisms dont have a byname.
Asterism.cpp line 107:
QVariantList refsVariants=data["references"].toArray().toVariantList();All other values of the name are read like this:
The code tries to read
referencesinside"asterisms": []in the json. But if we look at sky cultures like arabic_indigenous, thereferencesfield is insidecommon_name. I hope this makes sense.Probably not a full answer but some interesting things I found:
ConstellationMgr.cpp uses the context field of constellations in the
updateI18nfunction.Its used for translatedI18n, pronounceI18n and bynameI18n context.
SolarSystem.cpp line 638-639 use the context for i18n translated and pronounce for planets
NebulaMgr.cpp lines 2008 and 2011 use it for DSO(?) translated i18n and pronounce i18n context
The StarMgr.cpp and Asterism.cpp do not read or set the context at all (issue 2 and 5)
For example in StarMgr.cpp the context could be inserted here:
The asterism class never sets any i18n values.
Fix asterism reference exclusion (see #4891)
A few clarifications in skyculture names (see #4891)
gzotti commentedon Jun 13, 2026
From the list above, I think only point 5, star name context for disambiguation in StarMgr::updateI18n(), is open. But as I see it, with StarMgr::culturalNamesMap, context may have to be included in the CulturalName struct. @alex-w , @10110111 ?
alex-w commentedon Jun 19, 2026
Adding support the context into qTranslateStar() method (the context string may be empty) and storing the context into CulturalName struct of course (to use for qTranslateStar). But this task must be postponed to 26.3.
alex-w commentedon Sep 7, 2026
Probably this task should be postponed to 26.4.
gzotti commentedon Sep 11, 2026
OK, 26.4. But let's solve Asterism issues also then.