[TOOL] X3Übersetzer

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

Moderators: Scripting / Modding Moderators, Moderatoren für Deutsches X-Forum

User avatar
Cyborg11
Posts: 665
Joined: Mon, 27. Aug 07, 12:27
x3tc

[TOOL] X3Übersetzer

Post by Cyborg11 »

Beschreibung: Mit diesem kleinen Tool könnt ihr automatisch bestimmte Texte einer englischen Text File übersetzen, sofern diese originale deutsche Texte überschreibt. Der Rest muss wie gewohnt übersetzt werden.
Readme:
X3Uebersetzer by Cyborg11
Version 1.0

An das Programm übergibt man zwei XML Dateien.
Einmal die deutsche und die modifzierte englische Datei.
Das Programm überprüft die beiden Dateien auf selbe IDs und ersetzt die Englischen mit den Deutschen.
Am Ende wird eine X-temp.txt Datei erstellt, in der die IDs stehen, welche noch übersetzt werden müssen.
X ist der Name der modifizierten englischen Datei.

Das Programm kann entweder mit Argumenten aufgerufen werden, um sich die Dateieingabe im Nachhinein zu sparen oder
man führt die start.bat ohne Änderung aus und gibt die Dateinamen im Konsolenfenster ein.

Aufruf über Argumente (Änderung der start.bat):
Die zweite Zeile muss verändert werden:
java -jar X3Uebersetzer.jar file1 file2 output

file1 = Deutsche TextDatei
file2 = Englische TextDatei
output = Name der Datei, die erstellt wird

Am Einfachsten ist es, wenn die Dateien im selben Ordner wie die start.bat und die X3Uebersetzer.jar Datei liegen.
Ist dies nicht der Fall muss man den Pfad mit angeben. Enthält der Pfad Leerzeichen, so muss dieser in " " geschrieben werden.
Download: http://cyborg11.cy.funpic.de/downloads/ ... rsetzer.7z
Voraussetzung: Java muss installiert sein
Sprache: Java
Bugs: Bis jetzt keine

PS: Mir fiel kein besserer Name für mein Tool ein :D
Last edited by Cyborg11 on Tue, 12. Jul 11, 00:29, edited 1 time in total.
***modified*** und stolz drauf
Meine Tools: ReadTextFixer - X3 Übersetzer - TShipsMerger
Striker304
Posts: 915
Joined: Fri, 26. Mar 10, 21:15
x3tc

Post by Striker304 »

Was heißt das jetzt konkret?
Ich nehme scheinbar eine engl. t-file, ändere den Language Code (44->49) und dann nehme ich mir diese beiden Dateien und das Programm übersetzt einen Großteil der Texte ins Deutsche und ich kann dann noch eben den Rest machen. Oder?

mfg
Striker
User avatar
Cyborg11
Posts: 665
Joined: Mon, 27. Aug 07, 12:27
x3tc

Post by Cyborg11 »

Nein, du nimmst eine originale deutsche Textdatei von X3 (z. B. 0001-L049.xml) und übergibst diese Datei mit einer Textdatei von einer Mod (z. B. 7211-L049.xml (XTC)) an das Programm.
Nun sucht das Programm in beiden Dateien nach gleichen TextID Einträgen und ersetzt die englischen Einträge mit den Deutschen.
Danach wird noch eine Textdatei erstellt (X-temp.txt), in der steht, welche TextIDs man noch selber übersetzen muss und zu welcher page ID sie gehören.
Spart einiges an Arbeit, aber auch nur, wenn die Mod originale Texte überschriebt ;)
Natürlich kann man die Mod Datei dann noch mit weiteren deutschen Textdateien abgleichen, da in einer Textdatei nicht immer alle Einträge stehen :)
***modified*** und stolz drauf
Meine Tools: ReadTextFixer - X3 Übersetzer - TShipsMerger
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

wenn ich das richtig verstanden habe führt er eher die beiden xmls zusammen (also englisch und Deutsch) und die deutsche hat dabei priorität..

@Cyborg
hier interressehalber ein paar fragen:
a) wie verhält sich dein Programm falls die Syntax mal erweitert werden sollte?
(also z.B. wenn aus den <t id="xxx"> ein <t id="xxx" stream="1" start="75678" length="1145"> wird)

b) kann man die Sprachen auch variieren, damit dieses Tool z.B. für Überetzungen von Deutsch nach Französischverwendet werden kann?
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
User avatar
Cyborg11
Posts: 665
Joined: Mon, 27. Aug 07, 12:27
x3tc

Post by Cyborg11 »

a) Ok, das wird dann höchstwahrscheinlich nicht klappen, da mein Programm die Datei zeilenweise einliest und wenn eine ID Zeile gefunden wurde

Code: Select all

if (zeile2.indexOf("<t id=") != -1) // Überprüft, ob die Zeile eine ID Zeile ist: <t id="1020101">Königstal</t>
dann wird der String gesplittet. Um die richtige ID zu erhalten wird das ">" Zeichen verwendet, darum wird es nicht gehen.

Code: Select all

zeile2Arr = zeile2.split("<t id=");		// Ergebnis: "1020101">Königstal</t>
zeile2Arr = zeile2Arr[1].split(">");	// Ergebnis: "1020101" + Königstal</t>
id2 = Integer.parseInt(zeile2Arr[0].replace('\"', ' ').trim());		// Ergebnis: "1020101" => 1020101 (Integer)
Habe aber noch nie so eine Zeile in den Textdateien gesehen. War das nur eine Beispielzeile oder bewirkt diese auch irgendetwas?

b) Mein Programm sollte mit allen Sprachen funktionieren, da mein Programm nicht sprachenabhängig läuft, sondern es basiert nur auf den Page IDs und deren TextIDs. Sind die TextIDs in den jeweiligen page IDs in beiden Dateien (Original (Parameter1) und Modfified (Parameter2)) gleich, dann werden diese Modified TextIDs mit den Original TextIDs überschreiben.
Wenn du also an das Programm als erste Datei die französische 0001-L0XX.xml übergibst und als zweite Datei die oben genannte XTC (7211-L0XX.xml) wirst du die französischen Texte haben.
Eingelesene sowie geschriebene Dateien sind im "UTF-8" kodiert :)

Bei Interesse kann ich auch mal den Source Code hochladen :)
***modified*** und stolz drauf
Meine Tools: ReadTextFixer - X3 Übersetzer - TShipsMerger
User avatar
Cyborg11
Posts: 665
Joined: Mon, 27. Aug 07, 12:27
x3tc

Post by Cyborg11 »

Hat denn schon jemand weiteres mein Tool getestet?
Oder seht ihr keinen Nutzen darin?
***modified*** und stolz drauf
Meine Tools: ReadTextFixer - X3 Übersetzer - TShipsMerger

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”