Applet in verschiedenen Sprachen programmieren?

Angiii

Erfahrenes Mitglied
Hallo,

Ich will ein Applet basteln, bei dem man zwischen verschiedenen Sprachen umschalten kann. Klickt man z.B. auf Deutsch, haben die GUI-Elemente eine entsprechend deutsche Beschriftung. Klickt man auf Englisch, wird die Beschriftung englisch, bei Spanisch wird sie spanisch, usw. .

Das Ganze sollte möglischt flexibel werden, so dass das Applet auch um einige Sprachen erweitert werden kann, ohne dass dafür der gesamte Quellcode umgeschrieben werden muss. Soweit ich jetzt gesehen habe, könnten man dies ev. durch mehrere .properties-Dateien lösen. Für jede Sprache eine extra Datei, deren Inhalt dann entsprechend den GUI-Elementen zugeordnet wird.

Ist dieser Ansatz brauchbar oder gibt es da etwas besseres (ev. kleine Datenbank?).
Optische Feinheiten (passt der Text noch ins Textfeld) sind mir erstmal nicht so wichtig. Mich würde in erster Linie interessieren, ob und wie ich so etwas überhaupt am effizentesten programmieren kann.

Danke
 
Ich habe gerade ein Beispiel überflogen, in dem das Ganze per XML-Dateien realisiert war. Find ich auch recht nett, da lesbar. Hat da jemand schon Erfahrung mit?
 
Ich habe gerade ein Beispiel überflogen, in dem das Ganze per XML-Dateien realisiert war. Find ich auch recht nett, da lesbar.
Ich würde Properties-Files vorziehen: die sind genauso bzw. besser lesbar und verzichten auf diversen XML-Overhead. Sinnvoll ist es, die Keywords hierarchisch zu strukturieren, wie z.B.:

Code:
de.mainmenu.file.open = "Öffnen"
 
Danke, der Link ist super! Das Beispiel dort hilft mir sehr weiter. War mir zuerst nicht sicher, ob es überhaupt so funktionieren kann.

Können mit den Properties-Dateien aber dann auch alle Sprachen abgedeckt werden? Bei englisch, deutsch, etc. seh ich kein Problem. Aber was ist mit Sprachen, die nicht unseren Zeichensatz benutzen, z.B. Russisch oder Chinesisch? Funktioniert das dann noch? Die Properties-Datei ist imho doch nur eine Textdatei. Und mein Texteditor setzt bei exotischen Buchstaben aus. Bei xml gibt es das Problem nicht.
 
Mit welcher Entwicklungsumgebung arbeitest du?

Für Java ist es kein Problem UTF-8 codierte Properties-Dateien zu lesen. Also eher musst du dir einen vernünftigen Editor (UltraEdit, TextPad) od. Entwicklungsumgebung (Eclipse, NetBeans) zulegen und die Properties-Dateien UTF-8 codiert abspeichern.

Ach ja, gibt auch einen Hinweis im Tutorial:

http://java.sun.com/docs/books/tutorial/i18n/text/convertintro.html
 
Zuletzt bearbeitet:
Aaah, verstehe. Dann sind die properties-Dateien ja doch die ideale Lösung für mich. Ich arbeite mit Eclipse, nur einen besseren Texteditor muss ich mir noch suchen. Microsofts Notepad ist da doch ein bißchen ungeeignet. Mir war aber vor allem wichitg zu wissen, ob es überhaupt geht. Chinesisch kann ich eh nicht ;-).

Danke auch für den Tipp mit der hierarchischen Strukturierung der Keywords! Ich werde versuchen das umzusetzen.
 
In Eclipse kannst du das Encoding für Dateien festlegen. Datei im Package Explorer auswählen und Alt + Enter drücken oder mit der rechten Maustaste auswählen und "Properties" wählen. Dann solltest du unter "Text file encoding" das Encoding auf UTF-8 einstellen können.

Schadet auch nicht den kompletten Workspace auf UTF-8 zu stellen:

Window > Preferences > Editors > "Text file encoding"
 
Ich ich hab mich vor einen Monat noch gefragt, für was die Spracheinstellungen gut sein sollen ;-). Hat echt geholfen. Danke!
 
Für Java ist es kein Problem UTF-8 codierte Properties-Dateien zu lesen.

Diese Aussage darf angezweifelt werden.

http://java.sun.com/j2se/1.4.2/docs/api/java/util/PropertyResourceBundle.html

See Properties for more information about properties files, in particular the information on character encodings.

http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html#encoding

When saving properties to a stream or loading them from a stream, the ISO 8859-1 character encoding is used. For characters that cannot be directly represented in this encoding, Unicode escapes are used; however, only a single 'u' character is allowed in an escape sequence. The native2ascii tool can be used to convert property files to and from other character encodings.

http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/native2ascii.html
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück