Mehrere Sprachen im Plug-In anbieten

Status
Nicht offen für weitere Antworten.
G

Gonzo17

Gast
Hallihallo,

momentan bin ich gerade dabei mein Plug-In zu "internationalisieren", sprich, mehrsprachig zu gestalten. Um das sinnvoll realisieren zu können bin ich einer Anleitung aus nem "alten" Eclipse-Buch gefolgt. Das wichtigste Stichwort dazu ist wohl die Eclipse-Funktion "Externalize Strings". Das klappt auch alles wunderbar, ich hab nun meine plugin.properties in ein Fragment abgelegt. Nun hab ich mich aber gefragt. Wenn ich plugin_en.properties und plugin_de.properties habe - welche wird denn nun verwendet? Logischerweise die, die in der Manifestdatei eintragen ist. Aber geht das nicht anders? Das ist ja wohl ziemlich statisch.

Mir wärs eigentlich am liebsten, wenn es eine Einstellungen in den Preferences gäbe, in der die Sprache festgelegt und geändert werden kann. Weil wenn ich das so mache wie jetzt, dann muss ich ja für jede Sprache ein eigenes Plug-In erstellen und die andere Sprache wäre dann überhaupt nicht zugänglich. Ist finde ich nicht sehr schön und eigentlich muss das besser gehen.

Habe jetzt eben noch folgendes Tutorial überflogen: How to Internationalize your Eclipse Plug-In
Sieht aber im Grunde ganz genauso aus wie das in dem Buch, nur etwas ausführlicher. Trotzdem sehe ich da keine Möglichkeit die Sprache festzulegen, ohne im Code direkt zu arbeiten. ;(
 

Wildcard

Top Contributor
Wenn du das per Menü machen willst, dann häng einen Parameter -nl <language> in die eclipse.ini und starte die Workbench neu.
 
G

Gonzo17

Gast
Klasse, das funktioniert!

Ich hab nurn Problemchen, wenn ich die ganze Geschichte exportiere und nicht mehr aus Eclipse heraus starte (da funktionierts wunderbar).

Ich habe für englisch und deutsch jeweils eine plugin_<language>.properties und eine messages_<language>.properties. Die hab ich in ein Fragment gelagert, damit ich bei eventuellen Updates nicht das ganze Plug-In updaten muss. Die plugin_en.properties und plugin_de.properties liegen direkt im Fragment, die messages_en.properties und messages_de.properties liegen in dem gleichen package, wie es auch im Original-Plug-In liegen würde (heisst das package dort de.test.ui, dann wär das hier auch der Name für das Package im Fragment). Wie gesagt, aus Elcipse heraus über das Product oder als Eclipse Application ist das alles kein Problem, läuft tadellos. Aber sobald ich exportiere, wird die messages_<language>.properties nicht mehr gelesen.

Ich dachte erst, dass vielleicht in der Manifest-Datei vom Fragment irgendwas nicht stimmt, aber ich hab alles mögliche probiert, hab vor allem darauf geachtet, dass unter "Build" die Datei überhaupt erstellt werden. Hat alles nichts gebracht. Mir ist aufgefallen, dass das Fragment nicht als .jar im Plug-In-Verzeichnis liegt, wenn man exportiert, sondern entpackt. Ich hab keine Ahnung, ob es was damit zu tun hat, aber ich würde gerne wissen, wie man beeinflußen kann, ob ein Plug-In/Fragment entpackt oder unentpackt exportiert wird (dann könnte ich wenigstens ausschließen, dass es daran liegt). Ansonsten weiss ich leider nicht mehr weiter. Weiss jemand, was ich da tun oder probieren kann? :bahnhof:
 

Wildcard

Top Contributor
Das stellst du im entsprechenden Feature ein durch das das Fragment gemanaged wird. Würde darauf tippen das einfach etwas beim installieren des Bundles nicht funktioniert hat. Wie hast du es denn deployed?
 
G

Gonzo17

Gast
Also mein Plug-In gibts sowohl als Plug-In für Eclipse wie auch als RCP, quasi ein Standalone. Wenn ich es jetzt als RCP exportieren möchte, dann tu ich das über das Product und den dortigen Export-Wizard. Es wird ein Ordner erstellt, der die Ordner "plugins" und "configuration" enthält, sowie eine .exe, eine .ini und die .eclipseproduct. Im Ordner "plugins" ist ja auch das entsprechende Plug-In (schon entpackt). Und dass es generell zu funktionieren scheint zeigt ja die Tatsache, dass die plugin_<language>.properties problemlos gelesen werden, nur eben die messages_<language>.properties nicht.

Ich hab zwar gefunden, wie ich im Feature einstellen kann, ob das Plug-In/Fragment entpackt wird oder nicht, aber zumindest auf den Export des RCP hat das irgendwie keine Auswirkung. Und beim Test als Plug-In hat es keinen Unterschied gemacht, obs gepackt war oder nicht, er konnte die Datei wohl nicht finden.

Nochmal zum Aufbau, vielleicht liegt da der Fehler. Ich hab ein Plug-In "de.meineseite.meinplugin", dazu auch das Feature "de.meineseite.meinplugin.feature" und als Standalone "de.meineseite.meinplugin.standalone" (das auf das Plug-In aufbaut) sowie "de.meineseite.meinplugin.standalone.feature". Dazu noch jeweils Update-Sites. Neu dazugekommen ist jetzt "de.meineseite.meinplugin.nl1" (so soll man das laut Tutorial nennen), das ist das Fragment, das nun die Sprachdateien enthalten soll. Im Plug-In "de.meineseite.meinplugin" gibt es nun ein gleichnamiges Package mit verschiedenen Subpackages (die aber wohl erstmal nicht interessieren) und in diesem Package liegt die Messages-Klasse. Normalerweise liegen im selben Package wie diese Klasse ja auch die messages_<language>.properties Dateien, die werden ja aber herausgezogen. Im Fragment "de.meineseite.meinplugin.nl1" gibt es dann entsprechend dieses Package mit genau das gleichen Bezeichnung. Und wie gesagt, wenn ich es aus Eclipse heraus starte, dann klappt das wunderbar, sobald ich es exportiere, funktionierts nichtmehr.
 
G

Gonzo17

Gast
Habs wohl gelöst. In den build.properties fehlt folgende Zeile:

source.. = src/

Ohne diese Zeile wurde das Package nicht automatisch exportiert, sondern nur wenn ich src oder bin angeklickt habe. Da aber eben dann ein Ordner obendrüber war (src bzw bin), hat ers wohl nicht gefunden. :eek:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A RCP Tabs oben und unten im Editor oder mehrere Editoren? Plattformprogrammierung 7
L RCP Mehrere Instanzen von Views öffnen? Plattformprogrammierung 6
lumo ECLIPSE RCP - mehrere plugins - eine resource? Plattformprogrammierung 3
S Gleiche Preference Page für mehrere Preferences Plattformprogrammierung 2
ARadauer Mehrere Gui Elemente in View Plattformprogrammierung 4
E OSGi Eclipse Plug-in programmierung: java.lang.NullPointerException: Cannot enter synchronized block because "profile" is null Plattformprogrammierung 4
M JUnit Plug'in Tests Plattformprogrammierung 18
N Junit Plug-In Test Plattformprogrammierung 13
J Eclipse Plug-In für UML-Diagramme Problem Plattformprogrammierung 4
lumo RCP bilder in Plug-Ins Plattformprogrammierung 4
I OSGi JUnit Plug'in Tests von deklarativen Services Plattformprogrammierung 5
P RCP Plug-in Wizard unter Indigo? Plattformprogrammierung 2
G Eclipse Plug-in: wie refreshe ich eine combobox? Plattformprogrammierung 4
M Eclipse Plug-in: Wie eine Grafik einfügen? Plattformprogrammierung 20
F Eclipse: Plug-In mit eigenen Bildern Plattformprogrammierung 6
F Eclipse: Plug-In mit Ecoding Problem Plattformprogrammierung 7
K Zugriff auf Oracle aus Eclipse Plug-In Plattformprogrammierung 7
J Wo finde ich die JFace Plug-ins? Plattformprogrammierung 2
D Eclipse Plug-In mit (plug-in) Project Wizard Plattformprogrammierung 2
A Overlay in View eines anderen Plug-Ins zeichnen Plattformprogrammierung 2
G WYSIWYG HTML Editor als Eclipse Plug-In Plattformprogrammierung 6
lumo Eclipse Plug-In: Editors und Views Plattformprogrammierung 3
lumo Eclipse 3.5 Plug-In für ein Plug-In Plattformprogrammierung 3
N import von Plug-in nicht Plattformprogrammierung 4
R Eclipse Plug-In Entwicklung Plattformprogrammierung 6
Saxony Eclipse RCP - Erstellungreihenfolge Plug-In und Fragmente Plattformprogrammierung 2
Saxony Referencen in Plug-In Fragment Plattformprogrammierung 4
U PDE Build Erros: "Missing required plug-in" obwohl vorhanden! Plattformprogrammierung 5
dzim Plug-Ins zur Laufzeit hinzufügen Plattformprogrammierung 12
byte Equinox - Klasse aus Plug-In wird nicht gefunden Plattformprogrammierung 3
B XML-File Parsen im Eclipse Plug-in Plattformprogrammierung 2
G neues project -> Plug-in project. Wie plugin starten? Plattformprogrammierung 6
R Integration von JDOM in Eclipse Plug-in Projekt? Plattformprogrammierung 7

Ähnliche Java Themen


Oben