-
-
Notifications
You must be signed in to change notification settings - Fork 892
Multiple label options for Skycultures #4179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Hello @gzotti! Thank you for proposing of the feature. |
Great PR! Please pay attention to the following items before merging: Files matching
Files matching
Files matching
This is an automatically generated QA checklist based on modified files. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Conflicts have been resolved. A maintainer will review the pull request shortly. |
When @10110111 was working on the big format switch, he asked about the value of separate translators for program GUI and skycultures. IIRC we tried to circumvent limitations of the old data files. Please @alex-w, can you share some insights? We now have native names, transliteration/pronounciation etc., which should all make the native names understandable to the user in his own language. Do we still need two language settings? The current state has the new data items available for constellations, asterisms, planets and DSO. Not polished yet, as the old solutions are still partially in use and could likely be simplified a bit. Class members which can have more than one cultural name own a list of CulturalNames (to never mix elements) from which the first is used as screen label, and all are visible in the Infostring label. Stars should come early next week, and I may have to extend the output options to include the "modern" name in a few more combinations, but I think the general direction is OK. In StarMgr, what does loadCultureSpecificNameForNamedObject()? The non-stars are handled by SolarSystem and NebulaMgr, so what is that for? |
It's for supplying names for stars specified by name, it uses the database from |
Ah, OK. But I see it's never used, actually, and is a "just in case"? The only names following NAME so far are Planet names, at least for the SCs in master. DSO like M45 are labeled directly. Can we not just force SC authors to use HIP/Gaia designations directly (not a very high demand, right?) to simplify the code (i.e., remove that function)? |
This is in use in some SCs in the SC repo, e.g. Anutan.
I'm afraid not. I'd be glad to do this (and in my view we should do it), but it seems Fabien wants to extend this functionality even further, to allow not just names, but also things like |
Ah, like that. Hmm, OK. Still, I regard this as unneeded burden for software maintenance. But if it's used now, I'll comply.
I honestly don't see the necessity for that. All stars are meanwhile addressable by HIP or Gaia numbers. |
To get a bit of clarity around the not or wrongly documented entries: StarsMgr::commonNamesMap: This is the list from skycultures/common_star_names.fab, but can be modified when loading a skyculture. However, SC names now have several more components, I think this should not be mixed. Is the StarsMgr::additionalNamesMap and additionalNamesMapI18n exclusively reserved for the Cultural names? If yes, I will replace by a QMap<starId, QList> |
Actually, I was a bit wrong about this. The names from The names used for finding stars specified in |
More questions on code quality in StarMgr, @alex-w : The lists doubleHipStars, variableHipStars, algolTypeStars, classicalCepheidsTypeStars, hipStarsHighPM are lists of 1-element QMaps. Is that really intended? Why not just QMaps? Or lists of QPairs? They are used in Astrocalc, but in a very simple way. You can iterate over QMaps as well. |
These lists using in AstroCalc and Search tools. I didn’t use QMap to not mixed iteration QList/QMap elements (though it was added before refactoring AstroCalc). |
Probably we can remove second dropdown list for languages (skycultures) after introduction the support of extra options for labels. At least I don’t see critical necessary for second list. |
- also pacify Codefactor
- (cultural/common name unsolved yet...)
- simplifications
- also added documentation - also better code readability, harmonize variable names
- also clean out old stuff
- also fix Asterism searching
- use checkboxes, not pre-filled comboboxes - Avoid some more name repetition - Fix unit testing
- use arg references...
- (delete even more redundant variables)
- new naming scheme - dark constellations
Description
This is a step forward in the Skycultures expansion. Given various new naming components of which only a few tags may exist per skyculture, this should allow configuring user preferences, per skyculture, of how labels are to be configured from nativeName, pronunciation, translated name etc.
Fundamental is the introduction of StelObject::CulturalDisplayStyle, which allows cultural/linguistic awareness in all StelObjects. StelObject receives two new methods, getScreenLabel() and getInfoLabel(), which format the respective labels from the various components.
Done
Fixes # (issue)
Screenshots (if appropriate):
Type of change
How Has This Been Tested?
Test Configuration:
Checklist: