Mehrsprachigkeit und grafische Oberflächen

Henry939

Aktives Mitglied
Hallo Freunde der Sonne,

Ich habe ein kleines RPG geschrieben:
https://repl.it/@Dexter1997/StaidRobustUnicorn

Nehmen wir an, ich möchte dieses Spiel in mehreren Sprachen veröffentlichen. Ich könnte am Anfang des Programms fragen, welche Sprache der Benutzer spricht, und dann per if/else-Verzweigungen den Text ausgeben. Diese Lösung würde allerdings unnötig viel Code bedeuten. Wie macht man so ein Programm effektiv mehrsprachig?

Zweite Frage: Nehmen wir an, ich möchte die Logik des Spiels von der Ausgabe trennen. Es sollten also mehrere Versionen des Spiels existieren können. Die eine arbeitet zum Beispiel mit einer einfachen GUI, die für schwache Computer optimiert ist, die andere arbeitet mit einer komplexen GUI, die besonders schön ist, und eine andere Version funktioniert im Terminal. In der jetzigen Fassung des Programms müßte ich alle Klassen umschreiben. Wie läßt sich das Problem der Darstellung aus der Logik des Spiels heraustrennen und gezielt lösen?

Ich danke für alle Antworten! Besonders würde ich mich über einfache, vielleicht sogar auf meinen Quellcode bezogene Codebeispiele freuen (Natürlich nicht zu aufwendig)!
 

Thallius

Top Contributor
Mehsprachigkeit erreichst du am einfachsten indem du alle Texte die du ausgibs5 nicht direkt in dem Source schreibst sondern statt dessen eine Methode getString() o.ä. Aufrufst mit z.b. dem englischen Text als Parameter. Diese Methode schaut dann in einer der ausgewählten entsprechenden Texttabelle nach ob dieser String in der gewählten Sprache vorhanden ist und wenn ja gibt er den übersetzten zurück. Ansonsten wird einfach der Parameter selber zurück gegeben. Deshalb macht es Sinn als default englisch zu nehmen.
Die meisten IDE bieten für sowas fertige Module an. Bei Eclipse heißt es Externalize Strings oder so. Die erstellen diecbenötigten Methoden automatisch für dich und zeigen dir auch welche Texte ersetzt werden müssen etc.

Die Trennung von Uli und Logik macht man mittels MVC Pattern. Dazu gibt es ohne Ende Lektüre im Netz.

Gruß

Claus
 

Henry939

Aktives Mitglied
Eignet sich das MVC-Entwurfsmuster auch für die Entwicklung von Terminalprogrammen? Wie würden dann Funktionen aussehen, die man bei Terminalprogrammen in eine Controller-Klasse packt?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V mehrsprachigkeit in bestehendes applet Java Basics - Anfänger-Themen 8
G Mehrsprachigkeit Java Basics - Anfänger-Themen 8
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
R Grafische Benutzeroberfläche GUI nachträglich einbauen Java Basics - Anfänger-Themen 3
T Grafische programme - Variblen Schrift Java Basics - Anfänger-Themen 2
TomatenBrot447 Programmieraufgabe - Grafische Oberfläche- falsches Ergebnis? Java Basics - Anfänger-Themen 15
D Viele grafische unterschiede von Windows xp zu Windows 7 Java Basics - Anfänger-Themen 3
T Einstieg in "grafische Progammierung" + Rechnen in Flussdiagramm Java Basics - Anfänger-Themen 2
I Grafische Benutzeroberflächen - welche Komponente nehme ich am besten? Java Basics - Anfänger-Themen 13
shiroX OOP Türme von Hanoi - einfache grafische Ausgabe Java Basics - Anfänger-Themen 2
K Panels, grafische Oberflächen Java Basics - Anfänger-Themen 7
K sich bewegende grafische Objekte Java Basics - Anfänger-Themen 68
S Grafische Oberfläche Quellcode ändern Java Basics - Anfänger-Themen 8
B Grafische Oberfläche für Java-Programm Java Basics - Anfänger-Themen 5
N Grafische Programmierung mit jeweils anderen Bildern bei versch. Ergebnissen Java Basics - Anfänger-Themen 9
F grafische Anzeige von Werten Java Basics - Anfänger-Themen 2
A Grafische Umsetzung von Aktienkursen Java Basics - Anfänger-Themen 2
M JavaSpiel ohne grafische Umsetzung Java Basics - Anfänger-Themen 3
T Grafische Oberfläche Java Basics - Anfänger-Themen 14
J Editor für grafische Oberfläche Java Basics - Anfänger-Themen 12
F Grafische Oberfläche.ist das kompliziert? Java Basics - Anfänger-Themen 7
G Grafische Oberfläche mit Buttons und Actionlistener? Java Basics - Anfänger-Themen 27
U Grafische Eingabe und ausgabe mit java Java Basics - Anfänger-Themen 5
V Grafische Auswertung (Ampel-System) Java Basics - Anfänger-Themen 12
B Grafische Darstellung einer Emailverteilerliste Java Basics - Anfänger-Themen 2
G Oberflächen: lieber von JFrame oder JPanel erben? Java Basics - Anfänger-Themen 3
M Oberflächen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben