RobustToolbox icon indicating copy to clipboard operation
RobustToolbox copied to clipboard

Refactor gender localization with support for customizable pronouns

Open mqole opened this issue 3 months ago • 6 comments

required for https://github.com/space-wizards/space-station-14/pull/40104

Adds a new optional Pronoun field to GrammarComponent which can contain user-defined strings for existing pronoun conjugations, essentially making custom pronouns possible.

Existing function calls in LocalizationManager.Functions will attempt to return the relevant pronoun if it exists, and will otherwise fallback to using the pronouns associated with GrammarComponent.Gender.

mqole avatar Sep 04 '25 07:09 mqole

those test fails are really scary. i'm not sure how to address them.

mqole avatar Sep 04 '25 08:09 mqole

TestAllServerPrototypesAreSerializable and TestAllClientPrototypesAreSerializable seems to be consistently failing due to xenoborg actions on all robust PRs, so ignoring those all tests pass.

iaada avatar Sep 04 '25 09:09 iaada

5,000 LoC and substantial complexity across 3 PRs for custom pronouns? Come on.

We're talking about more code than entire systems here. The disguise bug already shows this is touching stuff in weird ways we didn't expect. What else is going to break? And the localization stuff... Russian needs like 15 different forms? That's insane to maintain.

Every time someone touches chat, examine, identity, or basically any UI, they now have to think about custom pronouns. That's a lot of cognitive overhead for something most servers probably won't even enable.

Here's what we should actually do: just let servers add their own pronouns through config files. Want xe/xir? Add it to your YAML. Want neopronouns in Russian? Go for it, it's your config. This is literally how every moddable game handles stuff like this - you don't shove everything into core, you give people hooks to add what they need.

The PR author put in a ton of work and I respect that, but this is the wrong approach. We could spend a fraction of this effort making pronoun sets configurable and everyone wins: servers get whatever pronouns they want, core stays maintainable, and we don't have to deal with database migrations from hell.

Seriously, 5,000 lines? For something that could be a config file?

I think many others are likely remaining silent due to the sensitivity of the topic, but I think this is an extremely important decision to consider. This seems hard to justify.

VoidMeticulous avatar Sep 05 '25 16:09 VoidMeticulous

@VoidMeticulous You have been permanently banned from GitHub.

  1. Stop being a knee-jerk bigot
  2. Don't go to an unrelated PR just to bitch when the other two PRs were clearly locked for good reason. In fact the very thing you are suggesting instead is not possible without this PR you are complaining on.
  3. Don't harass contributors
  4. If there are issues with the code complexity, this is something maintainers should decide

PJB3005 avatar Sep 05 '25 20:09 PJB3005

@VoidMeticulous You have been permanently banned from GitHub.

  1. Stop being a knee-jerk bigot
  2. Don't go to an unrelated PR just to bitch when the other two PRs were clearly locked for good reason. In fact the very thing you are suggesting instead is not possible without this PR you are complaining on.
  3. Don't harass contributors
  4. If there are issues with the code complexity, this is something maintainers should decide

imagine banning someone for suggesting that you shouldn't add more bloat to the game than there already is were they being a "bigot" or did they hurt your very fragile ego, mister princess? do better

serbianshitsec avatar Sep 07 '25 14:09 serbianshitsec

still need to test things on the content / db side, but optimistic given that migrations built ok. opening this up to review again in the meantime just to make sure i havent royally fucked it

edit: nvm i freeking hate unit test. not sure how to fix that one.

mqole avatar Sep 22 '25 06:09 mqole