Brazilian Portuguese Translation

Discuss translation of Daggerfall Unity and the required Daggerfall installation. Help other communities learn how to translate Daggerfall using any available tools and processes.
User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Brazilian Portuguese Translation

Post by pango »

Magirion wrote: Mon May 01, 2023 1:56 am Following your tips I've managed to fix almost all the problems I was having, aside from the collisions and that annoying thing about the farms, shacks, etc.
Check each case, see why collision happens, find fixes or workarounds.

Code: Select all

The Rat and Cat Inn | The Mouse and Cat Inn => A Pousada do Rato e do Gato
Problem is that both Rat and Mouse are translated as Rato

Code: Select all

Holy Omen of Arkay | Sacred Omen of Arkay => O Preságio Sagrado de Arkay
Both Holy and Sacred translated as Sagrado

Code: Select all

The Graves of Masterhart | The Tombs of Masterhart => As Tumbas de Masterhart
Both Graves and Tombs translated as Tumbas.
etc.
Find synonyms, personally I used online dictionaries to get ideas
Magirion wrote: Mon May 01, 2023 1:56 am I really can't make "A Cabana da Luccta Velha" become "A Velha Cabana de Luccta". :/

Any Idea how to fix this? :)
Replace Velha with Velho in

Code: Select all

    if ($adj->[0] =~ /^(Ancien|Doux|Velha)$/) {
to get "A Cabana da Velha Luccta". I'm checking $adj->[0] so the masculine form of the adjective, no matter the gender used in the actual translation.

That case is ambiguous, but we (with Daneel53) felt that this translation was more likely than "A Velha Cabana de Luccta" (well, the french translation of those, obviously).
It also follows the generic translation rules, if you change that, what will be the extend of the specific rules, all the uses of Velha? I didn't think too much about that for the french version of the script, so I'm not sure how I'd fix that
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Magirion
Posts: 23
Joined: Mon Apr 24, 2023 4:40 pm

Re: Brazilian Portuguese Translation

Post by Magirion »

Hehe, thanks for helping me, I am glad to say it finally worked properly. :D
I'm really sorry for bothering you so much.
:mrgreen:

There's only one last thing I want to ask; you know if there's anyway to use the script to translate cities and kingdoms names? For example, translate "privateer" to "corsário", or "ashfield" to "Campo de Cinzas".

Maybe i'm asking too much :? (Sorry if I am)

Anyway, thank you so much. You've helped me a lot already and I wish you the best. ;)

User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Brazilian Portuguese Translation

Post by pango »

What script currently does with names it doesn't have in its dictionary is decided here:

Code: Select all

sub translate_name($) {
    my ($nameeng) = @_;
    if (exists $name{$nameeng}) {
        ...
    }
    else {
        $inconnus{$nameeng}++;
        return [$nameeng =~ /[ai]$/ ? "F" : "M", $nameeng];
    }
}
Name is left as-is, and script assumes it's feminine if it ends in "a" or "i". Crude, but sort of works.
Before that, unknown name is pushed into the "inconnus" (unknown) array, and If by the end of the script you replace

Code: Select all

# Dump unknown names
if (0) {
...
with

Code: Select all

# Dump unknown names
if (1) {
...
the script will create a file named unknown_names.txt in the current directory with all the names not found in the names dictionary. Up to you to add the names you want to translate, or want to set a gender explicitly. But they're generated, not all meaningful, and there's tons of them.
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Magirion
Posts: 23
Joined: Mon Apr 24, 2023 4:40 pm

Re: Brazilian Portuguese Translation

Post by Magirion »

Hello once more :)

It's working better now, but....

As I said, terms like "privateer" doesn't appear even in Unknown_names.txt
It gets translated as "Forte de Privateer", but it should be "Forte do Corsário", it's just like it gets translated to "fort de privateer" and not to "fort du corsaire".

I have tried to add it as name and adjective, but none of the two worked :/

I'm so sorry to keep bothering you with this, really. :?

I swear I will it like this if it can't be fixed by any means. :/

Thank you very much anyway.

User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Brazilian Portuguese Translation

Post by pango »

You're right, something's missing.

Let's get back to the rules, which one matches?
That one:

Code: Select all

    $translation = "Forte de $1" if $name =~ /^([A-Za-z']+)'s Hold$/;
So indeed there's no transformation involved between the capture of the name and its use in output.
To add some translation, you'd need to modify it as

Code: Select all

    $translation = "Forte de ".accord_nom($1) if $name =~ /^([A-Za-z']+)'s Hold$/;
(Admittedly I should change the accord_nom identifier, it no longer matches what the function does, namely translate a name and prefix it with the correct article)
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Magirion
Posts: 23
Joined: Mon Apr 24, 2023 4:40 pm

Re: Brazilian Portuguese Translation

Post by Magirion »

HEHE, it worked :mrgreen:

I really hadn't noticed that thing about adding "accord_nom" to the strings :)

From now on I will be translating the others .csvs and eventually modifying something in this script. :)

Thank you very much for your time and patience with me pango, I wish you again the very best :D

Here is the "final" version of the script: https://drive.google.com/file/d/16Q4QcD ... sp=sharing

Magirion
Posts: 23
Joined: Mon Apr 24, 2023 4:40 pm

Re: Brazilian Portuguese Translation

Post by Magirion »

Hey Guys, Goodnight. :)

I am starting the UI translation and I am certainly dumb. :D

I've translated the UI of the "Home Screen", and here it is:
0-0.png
0-0.png (59.68 KiB) Viewed 7563 times
I have named it "PICK03I0.IMG.png" and dropped it in "DaggerfallUnity_Data\StreamingAssets\Textures\Img", what I think is right, but the game is not recognizing it. :/

Any ideas on what I am doing wrong? :mrgreen:

Thank you all. :)

User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Brazilian Portuguese Translation

Post by pango »

Magirion wrote: Tue May 02, 2023 10:40 pm I have named it "PICK03I0.IMG.png" and dropped it in "DaggerfallUnity_Data\StreamingAssets\Textures\Img", what I think is right, but the game is not recognizing it. :/
Works for me.

Are you modifying the right installation of Daggerfall Unity?
Is "Assets Injection" enabled under Enhancements?
Did you name it exactly as you said (including same case)?
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Magirion
Posts: 23
Joined: Mon Apr 24, 2023 4:40 pm

Re: Brazilian Portuguese Translation

Post by Magirion »

Well... I don't really know why it isn't working. :/

Here is a screenshot of the folder, and I am certain this is the right installation folder.
Screenshot 2023-05-02 230313.png
Screenshot 2023-05-02 230313.png (46.65 KiB) Viewed 7527 times

And here's a screenshot of my enhancements screen with asset injection enabled.
2023-05-02.png
2023-05-02.png (919.22 KiB) Viewed 7527 times
I think it should be working... Am I being dumb? :?

User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Brazilian Portuguese Translation

Post by pango »

Everything looks okay, I'm running out of ideas...
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Post Reply