UltimaHacks icon indicating copy to clipboard operation
UltimaHacks copied to clipboard

U7: externalize strings

Open ungesundes-halbwissen opened this issue 6 years ago • 6 comments

Just in case, you deem it possible to add multilingual support for your patch, here's the texts I found so far for German (Black Gate only for a start). It is a first draft only ofc, as I would adapt the texts, depending on how they show up in-game

Various barks:

weight bulk Gewicht Volumen

(contents: %d.%d) (Inhalte: %d.%d)

(contents: %d.%d of %d.%d) (Inhalte: %d.%d von %d.%d)

of contents: der Inhalte:


Text for the in-game help manual for U7hacks:

UltimaHacks/U7BG - Steuerung

KEYS a: Audio (Ein/Aus) c: Kampfmodus (Ein/Aus) f: Gruppenmitglied füttern h: Maushand wechseln k: Schlüssel(-ring) benutzen q: in Bewegung bleiben (s. u.) s: Spielstände Dialog t: Anvisieren (s. u.) v: Anzeige Spielversion /: Zaubern [über Tasten] (s.u.) Alt+x: Spiel verlassen Alt+m: PC-Speicherinfo anzeigen Alt+: Cheatmodus (Ein/Aus) Space: starte Tastatur-Maus Numpad/Pfeile: bewegen

MAUS MB1: Gegenstand benennen Shift+MB1: Zeigt ein Gewicht Ctrl+MB1: Zeigt Volumen Alt+MB1: Zeigt Inhalt e.Sache 2xMB1: Benutze (im Kampf: Angriff) MB2: Bewegen 2xMB2: Bewegen zu diesem Punkt

IN BEWEGUNG BLEIBEN q,Q: einschalten; Geschwindigkeit bestimmen

Hält den Avatar in der letzten Richtung in Bewegung. Gehen/Laufen/Rennen. Numpad oder Pfeile für Richtungswechsel. Jede andere Taste zum stoppen.

GRUPPENMITGLIEDER ÜBER ZAHLEN : Mitglied Nr. (1-8) Shift+: öffne 's Rucksack Alt+Shift+: Zeigt 's Werte Gegenstand ziehen,: G. geben

Mitgliedsnummer drücken um ihr Inventar zu öffnen oder es im Fadenkreuz-Modus anzuvisieren.

ZU BENUTZENDE GEGENSTÄNDE b: Zauberbuch/-bücher g: Abakus (Geld zählen) m: Weltkarte p: Dietriche x: Sextant o: Mondauge w: Taschenuhr

ANVISIEREN Während des Fadenkreuz-Modus:

: Gruppenmitglied auswählen t,T: NPCs durchwechseln r,R: Nutzbare Gegenstände durchgehen a,A: Alle Gegenstände durchgehen Enter: wählen/sprechen/benutzen Esc: abbrechen

g,G: aufnehmbare Gegenstände durchgehen g,Enter: auf Avatar fokussieren g,: auf Mitglied fokussieren

im Kampf: t,Enter: Angriff mit Gruppe t,: Angriff mit

ZAUBERN ÜBER TASTEN Benötigt ein Zauberbuch.

/: Beginne Zauber a-z: eine Rune hinzufügen Enter: versuchen zu zaubern Esc: Zauber abbrechen

Um anzuzeigen, welche Buchstabe, ein Zauber braucht, SHIFT drücken, während das Zauberbuch gelesen wird.

DIALOG TASTEN Enter/Space/STRG: Textvorschub, Antwort auswählen (Shift+)Tab/Links/Rechts: Antworten durchwechseln

Diese Tasten blättern ebenso Text in Büchern, Schriftrollen und Schildern weiter.

MENGENREGLER (Shift+)Links/Rechts: Wert verändern Hoch/Runter: Setzt den Wert auf min/max Enter oder MB2: Wert übernehmen

INVENTARDIALOG Tab: Zwischen Inventaren wechseln MB2: Inventardialog schließen

BEISPIELE f,3: Füttere Begleiter 3

t,2: Begleiter 2 ansprechen

/,v,m,Enter,4: Zaubere Große Heilung (Vas Mani) für Begleiter 4

t,g,g,3: Begleiter 3 nimmt nahen Gegenstand auf

t,t,t,2: (im Kampf) Begleiter 2 greift nahen NPC an

ungesundes-halbwissen avatar Jan 18 '19 15:01 ungesundes-halbwissen

I'm thinking I should externalize all displayed strings, probably into a single included .asm file per language.

JohnGlassmyer avatar Jan 19 '19 11:01 JohnGlassmyer

If that is not too much to ask and you are willing to put in all this effort: sounds good, yes :-) I'll happily volunteer to maintain the German localizations

ungesundes-halbwissen avatar Jan 19 '19 12:01 ungesundes-halbwissen

I've given this a bit more thought and realized that translating to German would be out of scope for this UltimaHacks project. It is intended to patch the English-language, as-published version of the game that has existed for more than 25 years. Attempting to support fan-modified versions of games, such as your German-translated version, would be a poorly-defined target.

I do think your translation project is an admirable undertaking. Please do feel free to report any specific, more focused issues (like the issue with the toggle-cheats key that you reported separately) that you think would be particularly helpful.

JohnGlassmyer avatar Jan 24 '19 10:01 JohnGlassmyer

Don't know if that changes anything, but for the sake of joint understanding: U7.exe as in the original game is not part of any fan translation as it features no text to translate. My translation as well as any other existing fan translations operate with the one and only original English u7.exe. So it would be exactly one file to support with multiple languages.

(As a workaround even adding a bunch of blanks behind the english texts of u7hacks would be helpful as it would make room for hex-hacking a compiled u7hack)

Anyway: thanks for your consideration nonetheless. Much appreciated.

ungesundes-halbwissen avatar Jan 24 '19 11:01 ungesundes-halbwissen

Okay, I'll leave an open issue to externalize strings.

I was wrong before in my comment about including them at build-time from an .asm file; rather, they should be read from an optional data file at run-time.

Maintenance of such externalized strings files would likely have to be independent of this project.

Anyway, no promise that I'll work on it anytime soon.

JohnGlassmyer avatar Jan 24 '19 15:01 JohnGlassmyer

I do not expect anything - on the contrary I'm grateful (big time), that you re-considered and may find time to investigate whether this "externalising strings" might be feasible. I, however, stand by my offer to maintain the strings for German and I'll be first in line to test something, if something needs testing (if this sees the light eventually).

Thx!

John

ungesundes-halbwissen avatar Jan 24 '19 16:01 ungesundes-halbwissen