Merhsprachigkeit

Status
Nicht offen für weitere Antworten.

Maja Donner

Mitglied
Hallo.

Nachdem mir auf diesem Forum zwei mal auch als Gast geholfen wurde, habe ich mich endlcih angemeldet... :D

Ich bin neu in Java und erst recht neu im RCP. Deshalb seht mir auch "dumme" Fragen nach. Meistens weiß ich wohl nicht, wo ich gucken oder suchen soll. Auch fallen mir so manche englische Erklärungen schwer. So habt Nachsicht mit mir werte Leser. :oops:

Ein Teil meines Projectes in RCP (Eclipse 3.3, Java 6.0) besteht darin die Dialoge und Text mehrsprachig zu machen.

Am liebsten würde ich das so handhaben: Man hat pro Sprache jeweils eine Datei in der die IDs zu einem Control stehen und gleich daneben den String in der jeweiligen Sprache.
Sicherlich könnte ich nun jedes Mal die Datei öffnen und den Stingr suchen, aber ich glaube, dass sich schon jemand was kluges ausgedacht hat und so eine Handhabe schon programmiert hat.
Wisst Ihr, wie das geht, was ich da benutzten muss? Gibt es schon ein passendes Plugin dafür? Weiß jemand ein link zu einer einfachen Erklärung?

Danke im vorraus.
 

Niki

Top Contributor
Schau dir die Klasse ResourceBundle an. Da hinterlegst du deine Resources in einer Datei und sprichst sie über einen Key an. Bei der API-Doc ist eh eine genauere Beschreibung dabei. Vielleicht hilft dir das weiter
 

Wildcard

Top Contributor
Projekt anklicken -> ins Menü Source -> Externalize Strings -> fertig
um die .properties für andere Sprachen anzulegen installierste du dir am besten den ResourceBundleEditor.
Du solltest übrigens den Eclipse Mechanismus mit einer Messages Klasse verwenden, da dieser ersten effizienter als die SUN Implementierung arbeitet und zweitens vom Compiler geprüft werden kann ob alle Keys vorhanden sind und auch noch verwendet werden.
 

Maja Donner

Mitglied
Danke schön! Das sieht verdächtig nach dem aus, was ich brauche.

Wofür steht API-DOC?

Aber so eine andere Frage, die mir so aufkommt. Angenommen, ein Spanier möchte auf meinem deutsch eingestellten Rechner das Prog in Englisch starten. :wink: Weißt Du vielleicht wie man per Programmcode bestimmt, in welcher Sprache das Prog gestartet wird?
 

Wildcard

Top Contributor
API-Doc ist die Dokumentation der Programmierschnittstelle.
Wenn du nicht die Default Sprache verwenden willst, musst du ein neues Locale setzen
Locale#setDefault
 

sutcha

Bekanntes Mitglied
da ich keinen neuen Thread starten will, 2 kurze Fragen:

wie ist das mit der Änderung der Sprache zur Laufzeit (z.B. in einer Einstellung)? Kann so eine Einstellung auch bei einer RAP-Anwendung gespeichert werden (mit Preferences) oder ist das nur bei RCP möglich?

wie kann ich die Sprache der Buttons bei einem Wizard beeinflussen? bei mir ist alles deutsch nur die Buttons des Wizards sind auf english.
 

Wildcard

Top Contributor
RAP im Sinne von Rich Ajax Platform? Umm, ja, wenn du den User identifizieren kannst, kannst du für diesen User auch Preferences hinterlegen. Könnte insgesamt aber etwas komplizierter ausfallen. Insbesondere on-the-fly wechseln der Sprache ist sehr aufwendig. Bei RAP würde noch dazu kommen das du den Eclipse NLS Mechansimus eher nicht verwenden kannst, da ja nur eine Instanz für mehere User läuft, die Werte aber statisch abgelegt würden. In dem Fall wäre der traditionelle NLS Ansatz wohl der geschicktere (mit Lookup Klasse).
 

sutcha

Bekanntes Mitglied
ok, die Änderung der Sprache muss nicht unbedingt implementiert werden.
Aber wie kann ich z.B. die Sprache der Buttons des JFace Wizards ändern?
 

Wildcard

Top Contributor
Das hängt von Locale des Systems ab. Konkret ist für JFace die Klasse JFaceResources dafür verantwortlich.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben