EDCD / EDDI

Companion application for Elite Dangerous
Other
453 stars 82 forks source link

Improve `Next destination` script grammar when the destination is a fleet carrier. #2460

Closed slippycheeze closed 1 year ago

slippycheeze commented 1 year ago

What happens now

Right now the Next destination script generates the text "En-route to Helios", when the "Helios" is a fleet carrier that I'm flying to. This is the same path in the script that handles a station, where it would say "En-route to Jameson Dock" when that is my destination station or outpost.

The later is correct grammar: the names of starports and stations are better without "the".
For ships, like the fleet carrier, not so much: they are better with "the" in the sentence.

What I'd like to happen

"En-route to Jameson Dock" "En-route to THE Helios"

How it can happen

I believe this is sufficient to distinguish between a fleet carrier, and all other destinations. I'll update here if I find an edge case while testing or something. My change is on lines three and four, adding the StationDetails() call, and checking if station.model is null or not; it will never be null for a starport etc, but always for a fleet carrier.

|elif event.isStation:
    {if event.localizedName: 
        {set station to StationDetails(event.localizedName)}
        {if defined(station) && !defined(station.model): the} {_ the target is a ship, like a fleet carrier or smth. _}
        {event.localizedName}.
    |else: 
        {P(event.name, 'station')}.
    }

EDDI Version

EDDI v.4.0.2-b4

Tkael commented 1 year ago

Thank you for the suggestion though I'm not sure that I agree that fleet carrier names need to be prefixed with "the". This may be a personal preference thing?

slippycheeze commented 1 year ago

It certainly could be a personal (or regional; I'm en-AU originally, but strongly en-GB influenced, with some decade of en-US mixed in, so ... complicated regional language use.)

...and I went and checked, and it turns out you are right: broad convention in English is that you would only ever use a definite article when using nothing but the ship name (which is true here), but that is optional, and it is correct and common to omit it (which the script does.)

(sources: wikipedia naming conventions, wikipedia naming conventions flame war discussion about use of the article, multiple other references on correctly referencing ship names in writing, a couple of standards for ship naming documents.)

So, I'll carry my change locally, and close this now. Common use is as currently written in the code.