PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (Englisch/Deutsch) 2 Sprachen in 1 Projekt, aber wie einbauen?



Ascare
26.08.2005, 08:10
Mein Projekt Fall of Nosgoth möchte ich 2-sprachig machen. Bisher habe ich das immer so gemacht, dass ich an 2 Versionen gearbeitet habe. Zuerst habe ich also die deutsche Version fertiggestellt und dann die Texte in den Show Messages ins Englische übersetzt. Das Problem ist nicht nur das man dabei oft viele Texte übersieht, sondern das wenn man an der deutschen Version weiterarbeitet alle Änderungen in der englischen Version nochmal gemacht werden müssen. Das ist so als würde man sein Projekt zweimal machen und das ist eine unzumutbare Arbeit. Ich möchte daher ein anderes Messagesystem machen, das englisch und deutsch in 1 Projekt vereint. Der Spieler kann sich zu Beginn des Spiels die Sprache quasi auswählen. Ich habe mir schon einiges überlegt, aber ich würde auch gerne eure Vorschläge hören. Danke.

hawkeye
26.08.2005, 09:48
mach das doch mit switches. Einen deutsch und einen englisch, bei der auswahl kannst du dann einen von beiden an machen und den anderen aus, bei jeder message eine fork.. ist auch ziemlich umständig, aber sonst weiß ich auch nicht weiter... >_<

.matze
26.08.2005, 10:33
mach das doch mit switches. Einen deutsch und einen englisch, bei der auswahl kannst du dann einen von beiden an machen und den anderen aus, bei jeder message eine fork.. ist auch ziemlich umständig, aber sonst weiß ich auch nicht weiter... >_<
Bringt nur halt keinen Unterschied, er muss trotzdem immer die beiden Texte
überarbeiten.
Da gibts devinitiv keine Lösung, aber was ich dir empfehlen könnte parallel
zu deutschen Version die englische machen, dann übersiehst du auch keinen
Text, wenn später was geändert werden muss, musst du halt alle Texte
ändern, da gibts kein Weg drumrum.


TO

Barney
26.08.2005, 15:51
Ich würd dir raten, eine Taste mit Hilfe des Tastenpatches zu belegen, dass bei jedem Draufdrücken die Sprache gewechselt wird, das kommt ziemlich cool. :D Die Sauarbeit kannst du dir aber leider nicht ersparen.

Byder
26.08.2005, 15:57
Das ist wirklich Unkraut des Makers.
Du hast recht,wollte ich auch machen,doch alle Texte zu übersetzen ist eine Heiden arbeit,da man wirklich alles nochmal schreiben muss,dann noch auf englisch.
Oder du machsts so,du gehst auf so iene sprahc-übersetztungs-maschine,
kopierst den Text aus den Maker(den deutschen) und gibst den ein,der englisch rauskommende Text wird dann auch wieder nur iengeführt.

Ascare
26.08.2005, 16:15
@hawkeye
Bei jeder Message ein Fork ist wohl das erste was einem einfällt, aber ich halte es nicht für die beste Lösung.

@TheOne
Wie meinst du das? 2 Spiele gleichzeitig makern? Da ist hawkeyes Vorschlag doch wohl beser... ;)

@Jenova Productions
Ich erkenne nicht so den Sinn dahinter und eine Antwort auf meine Frage ist es auch nicht. :confused:

@Byder
Das meinst du doch nicht ernst oder? Dir ist klar das dabei nur Mist rauskommen kann. :D

.matze
26.08.2005, 16:23
@TheOne
Wie meinst du das? 2 Spiele gleichzeitig makern? Da ist hawkeyes Vorschlag doch wohl beser... ;)


Ich finde den Vorschlag mit den forks zwar ok aber ich finde das kann sehr
unübersichtlich werden und man kann auch somit eine übersetzung vergessen.
Ich meinte es so, das wenn man eine Map macht, kopiert man diese und setzt
ein E bze D davor oder dahinter. Dann ändert man noch die Messages und die Teleports
damit man von einer E Map immer auf eine andere E Map kommt. So würds
ich machen.

Ascare
26.08.2005, 16:43
Ich finde den Vorschlag mit den forks zwar ok aber ich finde das kann sehr
unübersichtlich werden und man kann auch somit eine übersetzung vergessen.
Ich meinte es so, das wenn man eine Map macht, kopiert man diese und setzt
ein E bze D davor oder dahinter. Dann ändert man noch die Messages und die Teleports
damit man von einer E Map immer auf eine andere E Map kommt. So würds
ich machen.

Ja, aber das macht erst Sinn, wenn das Spiel komplett fertig ist und alle Bugs beseitigt sind, erst dann kann man das in Angriff nehmen..und sollte man später doch noch was ändern wollen (patches, addons) dann darf man das gleich zweimal machen.
Ich würde es lieber so haben, dass das Messagesystem eben weitesgehend unabhängig von den Events ist.

Ralph
26.08.2005, 16:47
So unübersichtlich sind Forks nun auch wieder nicht ... ich habe es bei Super Mario PC Challenge 6 (http://www.download-at.de/download.php?id=3531) (*Schleichwerbung* ;-) ) bei kurzen Texten mit Forks gemacht, bei größeren Events einfach 2 Event-Pages/-Seiten gemacht (die zweite mit Event Condition Switch Englisch=ON), wobei ich die deutsche Seite kopiert und dann den Text übersetzt habe.

.matze
26.08.2005, 17:02
Ja aber in deinem Spielsind ja auch um einiges weniger texte und vorallem gibts
kein Event wo mal 6 Seiten oderso hat, da wirds dann imo schon unübersichtlich.

Archeo
26.08.2005, 17:22
Das ganze kann man über 2 Switches laufen lassen.
Der eine wäre dann der für's Deutsche, der 2. der für's Englische.
Bei der Auswahl der Sprache wird einfach der gewisse Switch angestellt, der andere aus.
Das heißt natürlich das du immer 2 verschiedene Messageboxen haben musst. :\
Und dass ist noch nicht mal umständlich.o.o

Niji-chan
26.08.2005, 17:24
Wenn man mal in Don Miguels Beispiel-Game reinsieht, kann man dort zwischen, ich glaube, Russisch und Englisch entscheiden.
Dort wird die Ausgabe der Dialoge auch über Forks gehändelt.
Man benötigt jedoch lediglich nur einen Switch... dann z.B. wenn auf ON, dann ist es in Englisch, wenn auf OFF, dann in Deutsch.

TheBiber
26.08.2005, 17:30
Ich persönlich würde so etwas auch mit einem Switch (bei mehr als zwei Sprachen mit einer Variable) und Forks machen. Das ist meiner Meinung nach die technisch sinnvollste Methode, da man eventuelle Bugs und Fehler nur einmal zu korrigieren braucht. Und soo aufwändig ist das auch wieder nicht.

Ich arbeite nämlich an etwas ähnlichem, es geht um ein Feature, dass im Kampf gestorbene Helden auch in der Story tot sind und dementsprechend weder sichtbar sind noch sprechen können. Bei so ziemlich allen Dialogen brauche ich mehrere Forks, um zu prüfen, welcher Held lebt und welcher Held was sagt, falls entsprechende tot sind, ect.

Klingt zwar verdammt kompliziert, sicher muss man hier den Überblick behalten können, ist aber im Grunde gar nicht so aufwändig, wie es zunächst scheint. Von dem her stelle ich mir ein 2-Sprachen-System mit oben erwähnter Methode ebenfalls relativ einfach und praktisch vor (mit relativ einfach ist der Vergleich zu WIRKLICH komplizierten Problemen (http://www.multimediaxis.de/showthread.php?t=58630) und mit praktisch "am wenigsten Probleme verursachend" gemeint).

Ascare
26.08.2005, 20:04
@ Super Mario PC Challenge 6
Mag ja sein, aber man kann die Textmassen in deinem und in meinem Spiel nicht so vergleichen oder?

@Archeo
Naja, das ist mir eine zu umständliche und banale Lösung, ja es würde funktionieren, aber mir ist da noch etwas aufgefallen: Das Menü und das KS. Die Bezeichnungen für Items, Skills, Beschreibungen usw. muss man beim 2003er in der Database eingeben und da kann man die Sprache nicht per fork mal eben wechseln.

@Niji-chan
Wenn ich diese Methode benutzen würde, dann hätte ich es sicher auch mit 1 Switch gemacht.

Blytz
27.08.2005, 01:37
Ähmmm ich würd einfach alle Maps kopieren und dann halt 2 sprachversionen jeder map machen, also die deutschen kopieren und übersetzen..
vllt is das jetzt auch zu heavy und das game wird dadurch zu groß o.o
hab grad erst wieder damit angefangen also, net so hart nehmen wenn das
wohl eine der dümmsten ideen gewesen sein sollte xD

Byder
27.08.2005, 10:38
Klappen könnte es,oder nicht?
So ähnlich mache ich es auch,nur schwieriger ^^
Edit:
@ blyz:
FALSCH
Das Problem ist ja nicht die Größe oder so,sondern,das er allesn ochmal schreiben muss,nur auf englisch

[KoA-Dani]
27.08.2005, 13:39
Also wenn du vor dem Makern schon weisst, dass es multilingual werden soll, dann würde ich alle Texte in den Common Events verstauen und sie im Spiel selber an der entsprechenden Stelle nur ancallen. Genauer: Alle Texte in ein Common Event packen und als Bedingung eine Variable die du z.B. Text nennst abfragen. Das Common Event selbst nennst du auch irgendwie passend, z.B. Dialoge. An den entsprechenden stellen settest du die Variable auf eine Nummer und callst das Dialoge Event. Irgendwo würde ich dann auch ein Inhaltsverzeichnis führen, in etwa Texte 1 = Gespräch zwischen Alex und Horst; Texte 2 = Bla bla bla ...


Wenn du deine deutsche Version dann fertig hast, kannst du dir beim Übersetzen sicher sein, dass du keine Textstelle vergisst. Aus performance Gründen könnte man das ganze auch auf mehrere Common Events aufsplitten.

TheBiber
27.08.2005, 15:02
@Dani:
Diese Lösung wäre technisch sogar noch sinnvoller als meine, allerdings ist sie etwas unpraktisch, weil man dann stets zwischen Dialog-Event und Common-Event hin- und herschalten und die Texte überblicken können muss. Zudem würde ich deine Lösung mit der Fork-Idee koppeln, d.h. man hat zwei Variablen, die erste gibt die Nummer des entsprechenden Textes an und die zweite steht für die jeweilige Sprache. Wenn man nun die Sprache ändern will, ändert man einfach die zweite Variable.

@Ascare:
Ich würde dir entweder Dani's oder meine Lösung empfehlen, je nachdem, was dir persönlich brauchbarer erscheint.

Von diesen Noob-Lösungen mit Maps kopieren würde ich dir allerdings unbedingt abraten, denn erstens ist der Aufwand grösser als bei unseren Lösungen (weil man die Teleports, ect. stets anpassen muss), zweitens unterliegst du dann technischen Einschränkungen, wenn du z.B. die Maps per Variablen ansprechen willst und drittens gibt es beim Korrigieren von Fehlern nur einen unnötigen Zusatzaufwand.

Für die Database-Übersetzungen gibt es eigentlich nur eine Lösung: Du kopierst die Vollversion des Spiels und übersetzt dann die Database. In der einen Version stellst du dann zu Spielbeginn die Variable, welche die Sprache der Texte definiert auf deutsch, in der anderen auf englisch. Bei nachträglichen Fehler-Korrekturen kommst du über den erneuten Übersetzungs-Aufwand natürlich nicht mehr herum, deshalb solltest du dies nur bei Demo- oder Vollversionen tun. Nachtrag: Du kannst auch einfach die korrigierte Map-Datei kopieren, so ist ein Neuübersetzen nicht mehr notwendig, ausser die Korrektur bezieht sich auf die Database.
Evtl. kannst du ja ein Zusatzprogramm verwenden für das Titelbild, wo man dann eines der beiden Spiel-Versionen auch gleich auswählen kann, damit es nicht wie zwei Spiele wirkt. ;)

Anders als mit zwei Spielen wirst du aber zwei Database-Sprachversionen nicht hinkriegen können, zumindest nicht mit den 2k-Makern.

Ascare
27.08.2005, 15:08
@[KoA-Dani]
Ja, so habe ich es auch mittlerweile geplant. Da mein Spiel schon in Kapitel unterteilt ist, splitte ich die Dialoge einfach pro Kapitel. Für das eigene Menü mache ich dann 2 Versionen (brauche ja "nur" die Texte zweimal machen, wobei ich beim KS dann eher zum englischen tendiere, aber ich muss mal schauen in wie weit sich das 2k3 KS modifizieren lässt, so dass ich vielleicht fast nur mit Symbolen arbeite. Das Messagesystem sieht weitesgehend so aus:



Event auf der Map:
Ch.Variable [Message ID] set 43
Call Event Messages




Common Event: Messages
Fork Chapter ID = 1
Call Event Msg.Chap1
End

Fork Chapter ID = 2
Call Event Msg.Chap2
End
usw.


wenn man das erste Kapitel spielt:



Common Event: Msg.Chap1
Fork Message ID = 43
Call Event Hero1 Faceset
Show Message:
"Ich bin Hero1 und sage diesen Satz im ersten Kapitel
wenn die Variable Message ID auf 43 gesetzt ist"
End


beim zweiten Kapitel sagt er dann was anderes, trotz gleicher Variable:



Common Event: Msg.Chap2
Fork Message ID = 43
Call Event Hero1 Faceset
Show Message:
"Ich bin Hero1 und sage diesen Satz im zweiten Kapitel
wenn die Variable Message ID auf 43 gesetzt ist"
End


Das verhindert das die Variable 'Message ID' auf zu hohe Werte wie 593 steigt und man irgendwie den Überblick verliert. Ausserdem muss ich nicht immer neue Forks setzen, sondern brauche nur den Text und den Faceset Call zu ändern. Was ich jetzt nur noch überlege ist, ob der Maker anhand der Message Variable schon erkennen kann, welches Faceset er zu der Message nimmt. Ich frage mich ob das die Sache für mich leichter oder nur schwieriger macht.

EDIT:
@TheBiber
Die Dialoge schreibe ich vorher in ein Drehbuch (englisch und deutsch), somit ist das nachgucken kein wirkliches Problem...hmm, ansonsten habe ich wohl für alles eine akzeptable Lösung bisher. Mal abgesehen von der automatischen Faceseterkennung und der Modifizierung des KS. Für's KS behalte ich dann lieber die englische Version, aber das wichtigste ist das Messagesystem und da habe ich wohl einen guten Lösungsweg erreicht. Danke für eure Antworten, egal ob Noob-Lösung oder nicht. ;)