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: 49184
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 »

Here's something very interesting.

At work we've been toying around with ChatGPT for the last few weeks - and having a Ukrainian intern right now I gave ChatGPT all the Doom obituaries along with an explanation of the placeholders and asked it to translate them into Ukrainian, as both male and female form - and apparently the translation was quite good. Deepl only produced gibberish out of these because it was totally helpless with the placeholder and has no means to set the needed parameters. ChatGPT was also a lot more consistent with the phrasing, so this may be a handy tool to deal with the notoriouisly hard to handle obits.
Gez
 
 
Posts: 17934
Joined: Fri Jul 06, 2007 3:22 pm

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

Post by Gez »

ChatGPT, at its core, works by guessing the most likely next word, and then iterating to guess the word after that, and so on. So it can provide pretty good texts, depending on the size of its corpus for the given language. The texts themselves may be meaningless drivel (it's quite easy to trick it into writing complete nonsense; an easy way is to ask it for a list of sources and references and it'll happily invent a whole lot of papers that have never existed), but they'll be written in a cogent and coherent way, without much grammar or spelling mistakes.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
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 »

Yes, you have to teach it up front for the correct terms it should use, but for highly specific text the ability to put the text into a context is often half the solution to a problem. Neither Deepl nor Google Translate can do that.

If you just have generic text without special terms there's not really much advantage here, but the obituaries in particular were always something Deepl had massive problems with and always required most manual work of the languages I had reviewed. On the other side the Strife dialogues had always been the least problematic content.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
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 just added 8 new texts to the sheets.
These are for the upcoming menu redesign for the 5.0 release. While that is still some time off, I want to give translators the ability to add translations now.
Julian_L
Posts: 10
Joined: Tue Dec 27, 2022 10:54 pm
Operating System Version (Optional): Windows 10
Location: Argentina

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

Post by Julian_L »

Esperanto doesn't have a word for "sprite". What is its meaning all the times it's mentioned in the file? The player? The NPCs? The weapons? The collectables? Any interactive thing?

By the way, do we have to wait until the next update to see the new translations? I'm seeing the same texts since the month I joined the file (December) to correct them.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
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 »

If Esperanto doesn't have a word for Sprite (just like very much any other language which adopted the English term) can't you just use 'sprite'?

Regarding updates, we do not frequently pull the texts unless important additions are being made. The released EXEs will not do live updates, but the most recent devbuild should be a few months more recent.
BTW, 4.11 will be relased this weekend.
Julian_L
Posts: 10
Joined: Tue Dec 27, 2022 10:54 pm
Operating System Version (Optional): Windows 10
Location: Argentina

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

Post by Julian_L »

In any case it would be "sprajto", but taking into account what the objective of Esperanto is, using a new word that not everyone will understand (because they won't even find it in any dictionary or Wikipedia) doesn't convince me, mainly because Esperanto is an agglutinative language and that's how the lack of words is usually solved. Maybe "moving graphic" should be understandable.

Is there a way to manually update the texts for ourselves without having to wait for an official update?

The "GZDoom Engine String" tab has two rows with the IDs OB_MPPISTOL and OB_MPSHOTGUN, and the default texts in them mention some weapons named "pea shooter" and "boomstick". Is that right or vandalism?
User avatar
Xeotroid
Posts: 443
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 »

Julian_L wrote: Sat Sep 23, 2023 5:20 pm In any case it would be "sprajto", but taking into account what the objective of Esperanto is, using a new word that not everyone will understand (because they won't even find it in any dictionary or Wikipedia) doesn't convince me, mainly because Esperanto is an agglutinative language and that's how the lack of words is usually solved. Maybe "moving graphic" should be understandable.
Depends on if there's already a general consensus on whether the word should be translated or not. In Czech, the word usually isn't translated at all, or just changed to 'sprajt' or 'sprit'. Creating a new word entirely doesn't seem helpful when it's a technical term, because now it can't be searched for at all. With monster names or other things that are less technical, getting creative seems fine to me.
Julian_L wrote: Sat Sep 23, 2023 5:20 pm The "GZDoom Engine String" tab has two rows with the IDs OB_MPPISTOL and OB_MPSHOTGUN, and the default texts in them mention some weapons named "pea shooter" and "boomstick". Is that right or vandalism?
They're slang words for a weak gun and a shotgun, respectively. That's how the multiplayer obituaries have always been, to my knowledge.
User avatar
Rachael
Posts: 13793
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 »

It is standard practice for languages to outright steal words from each other. The most common example is "no", which translates to exactly the same thing in several different Latin-based languages. Another would be "otter", which means the same thing in both German and English.

And if a word exists in another language that does not exist in English, I will happily use the word from that language.

If you see a word that is being used in several different languages as-is with no changes to its spelling or meaning, there really should not be an issue to co-opt it in Esperanto. But maybe the rules there are different or something, I don't know, I just don't see what the big issue is. Esperanto is a very young language that must grow and evolve to survive - and that's something much older languages still do to this day. Sticking to rigid rules set by standards committees who have no way of being aware of the language's need for a word will inevitably stifle the language's usefulness over time. As a prime example, English to this day evolves by adopting internet jargon which previously never had any meaning before the internet. It does that because it has to.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
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 »

Julian_L wrote: Sat Sep 23, 2023 5:20 pm
Is there a way to manually update the texts for ourselves without having to wait for an official update?
Of course there is. Just export the tables as CSV and replace the original ones in gzdoom.pk3 etc.
Common is language.0, ZDoom engine is language.csv and ZDoom game is language.csv in the game data PK3. The remaining ones go into some filter directories.


Regarding new words, every language is different, but especially with computing there was such a high influx of new terms that few languages bothered to invent their own words. Many times just the spelling was adapted to better fit the language. The irony here is that when some 'smart' people tried to invent new 'native' terms the resulting texts are often gibberish. I find it impossible to read Microsoft/Apple's German computer speak - they are often relentless in sticking to their terminology - this is so bad sometimes that it is easier to just use English versions of the software where things get their proper names.
Julian_L
Posts: 10
Joined: Tue Dec 27, 2022 10:54 pm
Operating System Version (Optional): Windows 10
Location: Argentina

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

Post by Julian_L »

The Italian translation isn't using any macro for gender. Shouldn't we add them? I'm seeing a lot "X è stato —o" (X was —ed) when that works for men only: with a woman you would say "X è stata —a".
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
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 »

Thanks for pointing that out. Apparently the translator didn't think about that part.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49184
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 »

@Julian L:

What's the state of Esperanto?
I just checked for completeness and aside from half the Strife dialogue the translation is complete. I decided to activate it anyway, but are there any plans to complete this part?
Julian_L
Posts: 10
Joined: Tue Dec 27, 2022 10:54 pm
Operating System Version (Optional): Windows 10
Location: Argentina

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

Post by Julian_L »

And the missing macro for Italian is identical to the "ao" ones already used for Spanish and Portuguese. The good thing is that Google Docs supports regular expressions, so fixing that would be easy.
● Search: %o è stato (\S+)o\b
● Replace: %o è stat@[ao_ita] $1@[ao_ita]
● Search: %o è (\S+)o\b
● Replace: %o è $1@[ao_ita]

Yes, I had left the translation paused indefinitely and couldn't find the best time to retake. I will continue translating as soon as I finish "remarking" all the rows in the file to have the full context of each dialogue. Precisely speaking of context, in a part of the game (MAP14) BlackBird uses the word "drone" as a synonym of "slave", but it looks like none of the translators in any language noticed that, and used the word for "UAV" or "bee" in their languages. I could correct the texts in Italian and Portuguese, and will correct the ones in Spanish when I'll continue with the translation in Esperanto.
Professor Hastig
Posts: 255
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 »

Julian_L wrote: Mon Sep 25, 2023 6:05 pm Precisely speaking of context, in a part of the game (MAP14) BlackBird uses the word "drone" as a synonym of "slave", but it looks like none of the translators in any language noticed that, and used the word for "UAV" or "bee" in their languages. I could correct the texts in Italian and Portuguese, and will correct the ones in Spanish when I'll continue with the translation in Esperanto.
You have to be careful here, this sentence adds a bit more context to the word, what it does is to make a comparison to male bees, or even the military kind of drone, i.e. something that is not in control of themselves, or remote-controlled by somebody else. 'Slave' would definitely not be the right equivalent. From a quick glance I think it is correctly used in those languages that use the term interchangeably for the bee and the military device.

Return to “Developer Blog”