# RCP/SWT/JFace: Sprache lässt sich nicht ändern



## xsare (21. Aug 2008)

Hallo Zusammen,
ich bin gerade dabei eine Anwendung auf RCP(Eclipse)-Basis zu entwickeln.

Leider werden bei mir die Buttons der JFace-Dialoge (z.B. MessageDialog) in Englisch dargestellt. 
(z.B. Buttons: Yes/No anstatt Ja/Nein)
Ich versuche nun schon seit einiger Zeit erfolglos die Sprache auf Deutsch zu ändern. Folgendes habe ich versucht/untersucht:

Programmargumente setzen:
 -nl ${target.nl}
Beim Abfragen der Properties erhalte ich ".... -nl de_DE" passt also

In der Application.java <start(IApplicationContext context)> habe ich folgenden Code zur Diagnose eingefügt:

```
{
            ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.jface.messages");
            Locale locale = bundle.getLocale();
            System.out.println("Locale: <" + locale + ">");
        }
        {
            Locale locale = JFaceResources.getBundle().getLocale();
            System.out.println("Locale: <" + locale + ">");
        }
        {
            ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.jface.messages");
            Locale locale = bundle.getLocale();
            System.out.println("Locale: <" + locale + ">");
        }
//....
}
```
Die Ausgabe liefert dabei:


> Locale: <de>
> Locale: <>
> Locale: <de>


Es scheint wohl so, dass nur das ResourceBundle das von JFaceResources erzeugt wird falsch ist...

Hat jemand eine Erklärung? Oder wie sollte ich irgendwo anders die Sprache einstellen?


----------



## foobar (21. Aug 2008)

Sind die deutschen Sprachpakete überhaupt vorhanden? Denn das ist im Grunde alles was du brauchst.


----------



## xsare (21. Aug 2008)

Hallo,

in der *.product sind die Sprachpakete eingefügt.

Ein kurze Test zeigt mir auch, dass die .propertie-Files zugänglich sind:

```
ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.jface.messages");
String yes = bundle.getString("yes");
System.out.println(yes);
```


Die Ausgabe lautet meistens "&Yes", aber "&Ja" hatte ich auch schonmal  :bahnhof:


Bin grad etwas verwirrt, da jetzt auch die Ausgabe aus dem obereren Code (1. Post) keine korrekte Locale mehr liefert


> Locale: <>
> Locale: <>
> Locale: <>



Hatte wohl auch noch ein paar Unstimmigkeiten mit den Plugins (Sprachpakete), habe das jetzt behoben und der Validate in der Debug/Plug-in-Ansicht ist jetzt auch zufrieden...

Werden jetzt mal weitertesten... (bin dem Problem auf der Spur... )


----------



## xsare (21. Aug 2008)

*Problem gelöst*

Und so gings:


1. In der *.product-Datei die Sprachpakete hinzufügen (hatte ich schon)
    (Dazu einfach die Pakete für die IDE (Eclipse) installieren, danach kann man sie in der .product-Ansicht unter "Configuration/AddRequiredPlugins" hinzufügen.

2. (Mein Fehler) In den Launch-Einstellungen (Run -> OpenDebugDialog -> Plug-In) müssen die Plug-Ins valide sein, dies kann man mit "Validate-PlugIns" prüfen.
Wenn die Plugins nicht valide sind, kommt es zu dem seltsamen Verhalten, welches mein Problem war.

3. Sprache in den "Program Arguments" übergeben.




Problem gelöst


----------

