Luke100000 / minecraft-comes-alive

Replaces Minecraft's villagers with humans, who can be interacted with.
GNU General Public License v3.0
77 stars 58 forks source link

[Suggestion] Gendered strings #733

Open xllifi opened 1 year ago

xllifi commented 1 year ago

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

Luke100000 commented 1 year ago

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?

xllifi commented 1 year ago

Use formal style (вы + plural verbs) or assume gender and either get corrected or continue using my guess

xllifi commented 1 year ago

And about letting translators understand that - I could write an article for the wiki, I have some ideas on how to explain it

xllifi commented 1 year ago

Updating this. Apparently crowdin has a system for something like this изображение https://crowdin.com/translate/modrinth/67/enus-ru#2731

Luke100000 commented 1 year ago

How cool is that! Thanks, this is definitely helpful.

xllifi commented 1 year ago

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)