[DFUnity/Classic] German 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.
Post Reply
User avatar
Deepfighter
Posts: 118
Joined: Sun Mar 22, 2015 10:24 am
Location: Iliac-Bay
Contact:

[DFUnity/Classic] German Translation

Post by Deepfighter »

After all the others started a thread about their translation process I felt like I should bring up one on the third oldest translation of our beloved Daggerfall - the German version.

History & statement
The translation started 2007, I took over with a friend 2010 (and 6 other translators) and relaunched 2012 with Tyermali as a mainly two-man project. As you may see the translation went through a lot, but finally is in a good shape with a yearly release per version. Our translation goal is to have a high quality and lore-friendly translation instead of rushing through the process. Before the relaunch we did exactly that and it felt not right.

Now we are on track and have our perfect working four-eyes principle. Everything is checked by both of us, every stone is turned around - we even look up for corresponding synonyms and text snippets in libraries. It already happend that a discussion - about just one word - took us the whole evenning. For some it's maybe to much perfectionism. Furthermore, as a lot of people will know - you don't have much time when you get older and you have to find free spots for your projects, especially when it took already 11 years of your life. But it's our approach and we are good with it.

Further note: As we started with the translation when DFUnity was not even thought of (correct me @Interkarma :D ) we are aiming primarly for Classic Daggerfall and do a DFUnity conversion, when everything is in place for that.

Progress
Progess is done step by step - I will give you for the beginning an overview on our status (images have to be revaluated, therefor no exact numbers yet):
dfdeutsch_180624.PNG
dfdeutsch_180624.PNG (13.98 KiB) Viewed 5321 times
To-Do
I did most of the images by myself, but my knowledge is at an end here and there, which is why I will ask here in the forum for some help in corresponding threads. :) That is actually the only thing - which I am aware right now - where we need the help of someone externally.

Further Links If you have questions or want to know more about our translation, then please go ahead and ask everything which is on your mind! :)
Head of the German Daggerfall translation - www.daggerfalldeutsch.de
and German translator for The Elder Scrolls V: Skyrim and Lore-Expert for The Elder Scrolls: Online

User avatar
Interkarma
Posts: 5886
Joined: Sun Mar 22, 2015 1:51 am

Re: [DFUnity/Classic] German Translation

Post by Interkarma »

Hi Deepfighter!

Thank you so much for your patience with me. The localisation feature of Daggerfall Unity is now underway and will be in an early preview state within weeks. I'll post more to the forums soon on how to setup modern translation mods.

One of the features I'm building in is the ability to import text from already translated game data, starting with TEXT.RSC. This will save time and build on all the hard work you have already put into translating classic.

Part of this process is to automatically undo the workaround text mapping required for classic back to correct character codes.

Would you have a full list of accented character mappings used in DE translation, as the FR team list in link below?

https://wiwiki.wiwiland.net/index.php?t ... 2F_.2A.FNT

Thank you! :)

Edit: I think I was able to work these out. :)

Code: Select all

@ -> Ä
# -> ä
$ -> Ö
& -> ö
{ -> Ü
} -> ü
* -> ß

User avatar
Deepfighter
Posts: 118
Joined: Sun Mar 22, 2015 10:24 am
Location: Iliac-Bay
Contact:

Re: [DFUnity/Classic] German Translation

Post by Deepfighter »

Please don't apologize or thank me - I have to thank you! It's just so gripping, that we reactivate the Daggerfall spirit and make this fantastic game available - and attract it - to more people. And now even skip the language barrier. I just love to be part of this. :)

I do have so many questions, but will hold on them, until you have finished the process. Just two things:
  1. The import function will be a good help for static files, where the game only extracts snippets like TEXT.RSC, FACTIONS.TXT, MAPS.BSA (if intended),... . But this may not work 100% for quests, or? Jay fixed a lot of mistakes - in an honorable afford - and the German, as well as the French version is still on status DFQFIX. Any idea how to include those and future fixes to the quests in other languages? Should we monitor changes for the original EN quests and include them ourselves? Maybe we can implement a workflow, like checking with every new version, if quests have changed and then go through the commits and change them in our quest files accordingly. Btw. I don't mind in re-inserting them manually, it's a good way to double check if the variables are still correct as there may be some changes already.
  2. Just for clarification (and interest). The SDF-Font supports all characters, correct? Why do we still need the mapping of those language specific characters? Can Daggerfall, even with DFUnity, not exceed the 127 ASCII symbol limit? Right now, players need shortcuts for those characters, which is a bit painful (but of course manageable).
The full list of special character ("Umlaute") mappings used in the DE translation:

Code: Select all

Ä = @
ä = #
Ö = $
ö = &
Ü = {
ü = }
ß = *
If you need something else, please don't hesitate to ask. I will patiently wait for any further instructions. Again, amazing work!

Best,
Deepfighter

P.S.: At first glance - your preliminary requirement instructions sound more complicated than translating classic ^^" haha

Edit: Yeah, your "reverse engineering" is absolute correct. :D I was writing this post in steps during the working day and haven't seen that you found those already. :)
Head of the German Daggerfall translation - www.daggerfalldeutsch.de
and German translator for The Elder Scrolls V: Skyrim and Lore-Expert for The Elder Scrolls: Online

User avatar
Interkarma
Posts: 5886
Joined: Sun Mar 22, 2015 1:51 am

Re: [DFUnity/Classic] German Translation

Post by Interkarma »

Thanks for getting back so quickly Deepfighter! I'll try to answer your two questions as well as I can for now.

1. Quest Text
Translators will be able to override quest text by providing their own string tables with keys like QUESTNAME.TEXTID (e.g. M0B00Y16.1020). When DFU looks for quest text, it will first try to look up that key in provided tables. If not found, it will fallback to the default text in built-in text files. English DFU will continue using the quest scripts like now.

This means it won't be necessary to maintain entire separate quest files and worry about quest logic, bug fixes, etc. You only have to provide the translated text to a string table with the correct key. You'll be able to maintain this text independently of the quest source code. It might still be necessary to keep an eye on git for any changes to %var macros and the like in English text so these can be updated in translation.

To help populate these tables, I'll write an importer to grab all the quest text and convert them into string tables. You can then translate or copy-paste text that has already been translated. I can also add an option to import text from classic QRC files, but haven't looked into this yet.


2. Character Remapping
I have written an importer to grab all text from translated TEXT.RSC files and automatically populate string tables. This will save you guys a load of work as all your previous TEXT.RSC translations will be imported with a single click. You'll see how this works in tutorial soon.

For this to work as intended, it's necessary to undo all the classic character mappings and turn characters like $ back into Ö. The importer takes care of this for you so that your text looks right. For example, the French TEXT.RSC will contain text like so:

Code: Select all

comp<tences li<es @ la volont<
My importer will read this in and remap back to accented characters like so:

Code: Select all

compétences liées à la volonté
The goal is to save you guys as much time as possible and import as much of your old work so you can hit the ground running. Once you're using the new string tables in Unity, you can write text without needing to workaround character limits. DFU's built-in SDF fonts have a full complement of Latin characters. Languages with other character sets (e.g. Kanji, Cryllic) will need to provide a custom font for those codes as part of their mod.

P.S.: At first glance - your preliminary requirement instructions sound more complicated than translating classic ^^" haha
I understand, please don't be too concerned. :) The first tutorial will cover step-by-step how to create a translation mod. All you really need on your end is to install Unity 2019.4.2f1 and download the source code from GitHub. There will be challenges if unfamiliar with the tools, but deep knowledge is not required.

Daneel53
Posts: 3
Joined: Wed Jul 15, 2020 11:15 pm

Re: [DFUnity/Classic] German Translation

Post by Daneel53 »

Hi Deepfighter and Interkarma,

Sorry Deepfighter to interfere into your subject, but finally what is said here is useful for French Daggerfall too.

Interkarma, you say that you will write all the importers to extract texts from the "classic" files (and I see thet you take the French Daggerfall as example). Considering that the French Daggerfall is fully translated at the sole exception of some small remaining strings into the special file fall.exe, may I understand that finally we will have nothing to do to put the French texts into Daggerfall Unity because your importers shall do all the job? It will just remain to translate the remaining English from fall.exe, am I right ? :?:

User avatar
Interkarma
Posts: 5886
Joined: Sun Mar 22, 2015 1:51 am

Re: [DFUnity/Classic] German Translation

Post by Interkarma »

Hello Daneel53! :)

That is correct. I'm aiming to have as complete import of legacy translation data as possible. This will take a few releases to mature with 0.10.26 being a preview for everyone to start familiarising themselves with the process. To start with, only TEXT.RSC and some hardcoded text (from FALL.EXE) will be available for translation. Over the next few releases this will expand to include all text sources in game.

As the legacy French translation is so complete, it will be relatively easy to import this data into a Daggerfall Unity translation mod. I would just recommend waiting until localization is completed before making such a mod as "release".

It will be required for someone to maintain such a mod and translation quality long-term. Mod will also need to be packaged with any other changes (e.g. textures, audio). I'm not the right person for this as I'm an English speaker only. But I can definitely help you get started and even create initial version of mod for you guys. Then someone technical in the French community can maintain and keep up to date to ensure quality of translation.

I hope that answers your question. Please just let me know if I can provide any more detail.

Daneel53
Posts: 3
Joined: Wed Jul 15, 2020 11:15 pm

Re: [DFUnity/Classic] German Translation

Post by Daneel53 »

Understood Interkarma.

When needed we will pursue the discussion into a more general subject dedicated to translation like [Discussion][DFUnity]Translation of Daggerfall. ;)

User avatar
Interkarma
Posts: 5886
Joined: Sun Mar 22, 2015 1:51 am

Re: [DFUnity/Classic] German Translation

Post by Interkarma »

Hey guys, just a quick update.

I've been dealing with some RL stuff for a while that has delayed the tutorials promised. I have also expanded my scope a bit more than originally intended for the preview. Other than TEXT.RSC support, almost everything hard-coded into the game will be available for translation. This includes stuff that was previously out of reach in FALL.EXE. Other text support like quests, factions, etc. will be added in subsequent releases.

I've made some time to get back into this over the coming weekend. Will update the localization tutorials as soon as possible once I square away the code needed.

Post Reply