-
-
Notifications
You must be signed in to change notification settings - Fork 913
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
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. |
- one line was ill described, fixed to match linked website.
- also make a warning less apparent.
- and harmonize one other constellation part asterism
- TODO: find Wylie representations of these names for the transliteration tags.
- Use angle brackets for IPA, exclusively
- also fix constant name for Qt5.12
- Let scripts obey user preference
you may or may not have seen: Also, the function of anchoring at coordinates (instead of stars) allows for definition of dark constellation ... we "only" need the option to store that in JSON and display it. I can imagine that the average person who knows a SC does not like to sit down and type the telephon numbers from any modern star catalog into a (manually written) JSON file The semester (dev cycle) for them finishes by the end of June or beginning of July, so we won't make it for the June release but for September. |
Yes, good that an interactive editor is coming. Currently dark constellations can be outlined semi-interactively with configuring a devel key in config.ini, setting markers, and copying the dumped coordinates from the logfile. Good enough for occasional use by those able to edit json, but a dedicated editor is of course better. I agree that I feel "* gam Cru" etc are not needed, but if this is Fabien's demand, so be it. You don't have to use it. |
@gzotti So I've pushed the new |
Hello @gzotti! Please check the fresh version (development snapshot) of Stellarium: |
Hello @gzotti! Please check the latest stable version of Stellarium: |
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: