Translating GZDoom's text content. Read if you want to help

Here, developers communicate stuff that does not go onto the main News section or the front page of the site.
[Dev Blog] [Development Builds] [Git Change Log] [GZDoom Github Repo]

Moderator: GZDoom Developers

User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49143
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Translating GZDoom's text content. Read if you want to help

Post by Graf Zahl »

I noticed the same with several other Eastern European languages when playing around with deepl.com. It's often very hard with such languages to handle these construction-kit-style messages well. Even for German I had to rephrase a few that ran afoul of grammar rules.
Xeotroid wrote: Mon Mar 13, 2023 2:44 pm Yeah, in Czech, the obituaries are in the form, "%o was [gender-dependant funny verb] with the [weapon] of the player %k," as specifying the noun "player" both puts the killer's name back into nominative (so no changes), and the masculine form of the noun can be used universally (although it's not ideal).
Obviously such messages do not really make a good impression. With the mentioned Turkish texts I noticed that several of them either left out the killer's name or the weapon because apparently there was no better way to bend it to the engine's limitations.

I'm not really sure what's the best thing to do here. The obituaries can be an absolute horror to translate if the target language's grammar doesn't play well and many of the existing results are just plain awful. Just look at the contortions that had to be done in the (incomplete) Greek translation.
Xeotroid wrote: Mon Mar 13, 2023 2:44 pm I'm thinking a more modern variant of just using "%k -> (weapon name) -> %o" would be better at this point.
Actually, in hindsight I should have disabled the obituaries in other languages. It was just that the initial ones were desceptively easy to handle
Gez
 
 
Posts: 17924
Joined: Fri Jul 06, 2007 3:22 pm

Re: Translating GZDoom's text content. Read if you want to help

Post by Gez »

"%k 🔫 %o 💀"

:D
ZzZombo
Posts: 317
Joined: Mon Jul 16, 2012 2:02 am

Re: Translating GZDoom's text content. Read if you want to help

Post by ZzZombo »

Why not introduce a ZScript handler for missing strings? When the localization system doesn't find a suitable variant, all defined handlers are given a chance to return a corresponding result; as much data as needed is sent forth to the handler, like all the gender information. This most likely will be out of scope for the spreadsheet but a separate effort dedicated to those could be launched elsewhere.
Professor Hastig
Posts: 248
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: Translating GZDoom's text content. Read if you want to help

Post by Professor Hastig »

That sounds like overkill to me. For Turkish the main problem are the multiplayer obituaries and these are arguably of far lower priority of the single player ones.
There's also no denying that of all the texts present the obituaries are by far the least important. They are just some more or less funny quips saying "player died". Nothing substantial would be missed if they were gone.

Here's another take: The player names are only needed for multiplayer, even in the monster obits. For single player it'd just work as well to print "You were slashed by an imp" or "Your bones were rolled by the Heresiarch".

Of course then we'd have another set of texts to translate and of course it won't help for languages where "your" gender bleeds into the grammar. Such languages pose other problems as well with computer interfaces which cannot easily auto-deduce the user's gender.
Professor Hastig
Posts: 248
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: Translating GZDoom's text content. Read if you want to help

Post by Professor Hastig »

I'm a bit surprised that nobody ever mentioned translation of the words "bob" or "strafe". These are so ingrained into gaming but no matter which language I look at, nobody seems to be able to find good translations for them. Some are just trying to work around it by literally describing the action (and often failing to catch the essence) or just leave the words as-is which is also not really satisfying because it essentially means nothing for people not deeply familiar with English gaming terms.

We're there again, having to translate the related menu options without any good idea how to word it. Dictionaries don't really help, and neither do machine translators because these two terms seem to be outside their realm, thus not being able to at least give some inspiration.
ZzZombo
Posts: 317
Joined: Mon Jul 16, 2012 2:02 am

Re: Translating GZDoom's text content. Read if you want to help

Post by ZzZombo »

Professor Hastig wrote: Tue Mar 14, 2023 1:06 am That sounds like overkill to me. For Turkish the main problem are the multiplayer obituaries and these are arguably of far lower priority of the single player ones.

...

Of course then we'd have another set of texts to translate and of course it won't help for languages where "your" gender bleeds into the grammar. Such languages pose other problems as well with computer interfaces which cannot easily auto-deduce the user's gender.
So... not overkill then? After all, we already have this in place, it's just not easily extensible because it's done in the form of virtual functions and those are a bitch to do if it's not for a mod you work on. Adding this in the form of a global handler would also allow to localize mods w/o having to redefine thousands of actors just so.
Professor Hastig
Posts: 248
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: Translating GZDoom's text content. Read if you want to help

Post by Professor Hastig »

You still haven't presented a viable use case.
I cannot even see where these "handlers" would be able to do useful things that cannot be done with the macro system, so please explain what you intend to do.
ZzZombo
Posts: 317
Joined: Mon Jul 16, 2012 2:02 am

Re: Translating GZDoom's text content. Read if you want to help

Post by ZzZombo »

Sorry, did you even read the last couple of messages besides mine? They DID present the use case! They are exactly why I even bothered to post in the first place.
Professor Hastig
Posts: 248
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: Translating GZDoom's text content. Read if you want to help

Post by Professor Hastig »

As I am currently assisting in doing such a translation I can assure you that this is not the right way to do it. The more complexity you add the harder it will become to do translations properly. In the end somebody will have to program the substitution logic and that's not really the scope of localization work. The proper approach would be to avoid having such scenarios in the first place - as in: Do not require texts that require name substitution at all!

In a seriously location aware product where conveying this info is needed, this should have been somehow like Gez jokingly suggested where no grammar and no conjugation is needed at all and all relevant information being handled with icons.
What we have here is a legacy system inspired by a 1990's game that was developed at a time where an English-only UI was acceptable for world wide marketing. No game concerned with localization of text content would ever have implemented such a thing.

I think GZDoom did a great job already with the macro system that helped solve the biggest problems of gender variations in a straightforward and extensible way. But even the best system will reach its limits at some point and compromises will have to be made.
User avatar
Rachael
Posts: 13736
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Translating GZDoom's text content. Read if you want to help

Post by Rachael »

In a seriously location aware product where conveying this info is needed, this should have been somehow like Gez jokingly suggested where no grammar and no conjugation is needed at all and all relevant information being handled with icons.
In some games it is already handled this way and I think going forward GZDoom should make a serious consideration of that.

The system we have, as far as I know, was inspired by Unreal, which a lot of things in ZDoom are (and there's nothing wrong with that) - but in this instance, I think it's safe to say we could have done better.

This would solve some of other latent issues, as well.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49143
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Translating GZDoom's text content. Read if you want to help

Post by Graf Zahl »

You mean removing the existing obituary system? What for? It's working for the current set of languages and none of the possibly remaining ones to support all of Europe is making things any worse than they are - that is, if we even get people working on them - so far the only ones of my machine translations that got some reviewing are Turkish and Norwegian. And Norwegian is quite gender agnostic and doesn't pull of any of this conjugation nonsense like Turkish.

So right now there's really no need. If push came to shove for a mod you can always do: %o: killed by: %k as a fallback that's hopefully doable by just translating the 'killed by:' part.
User avatar
Xeotroid
Posts: 442
Joined: Sat Jun 23, 2012 7:44 am
Graphics Processor: nVidia with Vulkan support
Location: Czech Rep.

Re: Translating GZDoom's text content. Read if you want to help

Post by Xeotroid »

One thing that using a ZScript handler won't solve is declension of names. Even in languages without overly arbitrary rules, a declension often doesn't just add a suffix but removes or morphs some letters as well. That would still be doable. Worse is when a language is highly irregular in that regard and a name of the same grammatical gender is arbitrarily categorised to different declension groups. See these male names in Czech in nominative and accusative, respectively:
Honza - Honzu
Josef - Josefa
Karel - Karla (same paradigm as Josef, but the e is gone)
Jiří - Jiřího
And that's just names, non-name nouns have a bunch of other possible ways, some words mix things up a bit, and how the hell are you going to decide programmatically what paradigm to use for made-up names?
However, a handler like this could be useful for handling the grammar based on the killer's gender (not the name itself, but stuff like his/her/their). It does sound like a bit of an overkill, though.
Graf Zahl wrote: Mon Mar 13, 2023 4:32 pmActually, in hindsight I should have disabled the obituaries in other languages. It was just that the initial ones were desceptively easy to handle
Should probably by handled on a language-by-language basis – allow languages where a translation is sensible to use them, and for others build it dynamically using just the player and weapon names and some non-alphanumeric characters.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49143
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Translating GZDoom's text content. Read if you want to help

Post by Graf Zahl »

The problem with killer's gender is not that the macro system cannot do it, but that the information is not available. Adding a @k[...] nacro would not be that hard, actually, if it had something to work with.
Professor Hastig
Posts: 248
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: Translating GZDoom's text content. Read if you want to help

Post by Professor Hastig »

Xeotroid wrote: Tue Mar 14, 2023 2:33 pm
Honza - Honzu
Josef - Josefa
Karel - Karla (same paradigm as Josef, but the e is gone)
Jiří - Jiřího
That is very much what we got in Turkish as well. The only chance to deal with this is to rephrase the sentences. Bad luck if your language does not offer the needed options, then the only chance is to cut down the text to the barest necessities and hope that it works out.
User avatar
Xeotroid
Posts: 442
Joined: Sat Jun 23, 2012 7:44 am
Graphics Processor: nVidia with Vulkan support
Location: Czech Rep.

Re: Translating GZDoom's text content. Read if you want to help

Post by Xeotroid »

Graf Zahl wrote: Tue Mar 14, 2023 4:10 pm The problem with killer's gender is not that the macro system cannot do it, but that the information is not available. Adding a @k[...] nacro would not be that hard, actually, if it had something to work with.
Which is why I assume the handler idea was brought up - the killer's PlayerInfo could be one of the arguments. Though again, sounds like a clunky overkill nightmare.

Return to “Developer Blog”