[Suggestion] Gendered strings
xllifi opened this issue · 6 comments
Is your feature request related to a problem? Please describe.
In Russian, there are genders in verbs sometimes:
"I heard that [...]" - "Я <слышал _(male)_, слышала _(female)_>, что [...]"
"Did you bring [...]?" - "Ты <принёс _(male)_, принесла _(female)_> [...]?"
Describe the solution you'd like
Add another variant to every dialogue (lang.key/1/m
and lang.key/1/f
)
Describe alternatives you've considered
Adding some very smart system where translator can specify lines for each gender, something like that:
"translation.key": "(/m [string for male]) (/f [string for female])"
or even for interactions
"translation.key": "(/m+f [string for male talking to female]) (/f+m [string for female talking to male]) (/m+m [string for male talking with male]) (/f+f [string for female talking with female])"
Those are inside the string for one reason - crowdin. If translators were to customize keys I imagine it to be so much easier
The main solution is impossible, it would double the translation effort.
The smart solution is definitely possible but requires translators to understand it and I do not know how to share that information properly.
How would you say this phrase in Russian, if the target gender is unknown, e.g. on text messages?
Use formal style (вы + plural verbs) or assume gender and either get corrected or continue using my guess
And about letting translators understand that - I could write an article for the wiki, I have some ideas on how to explain it
Updating this. Apparently crowdin has a system for something like this
https://crowdin.com/translate/modrinth/67/enus-ru#2731
Ik its been 5 days, but I finally got to actually checking out documentation. Turns out this is called ICU Message syntax. Select type is what I'm looking for in this mod.
My example:
Ай! Зачем ты меня {gender, select, to_m {ударил}, to_f {ударила} }?
"to_m" stands for "is talking to male character?",
"to_f" stands for "is talking to female character?"
I guess multiple select type ICUs can be used in one string, so that should be accounted for too
Not sure if this is helpful, but you can take a look at ICU4J (ICU for Java)