# Parameter



## Gast2 (30. Jul 2008)

Hallo,

kann ich in meiner Klasse den übergegbenen Parameter -nl ${target.nl} noch manipulieren in den System Property??
Wenn ja ist der propertykey user.language???wenn nein weiß jemand welcher es ist?? 

```
public class Application implements IPlatformRunnable
```


----------



## Wildcard (30. Jul 2008)

Das property ist osgi.nl, aber ich glaube nicht, das es nach dem Startup noch jemanden interessiert ob du das Änderst.


----------



## Gast2 (30. Jul 2008)

mhm muss ich mal versuchen
also mit Locale.setDefault(locale); gehts nachdem startup noch...
außer 2 wörter^^ muss ich noch checken was er an denen 2 wörter nicht mag


----------



## Gast2 (31. Jul 2008)

Also ich habe 4 Dateien

message_de.properties
message.properties(default)

dies sind für die labels usw. im programm zuständig

plugin.properties
plugin_de.properties

die sind für die labels in der plugin.xml zuständig...

wenn ich jetzt meine default Locale setze z.B. auf en...
dann nimmt er für die Programmlabels message.properties das stimmt immer das klappt auch...
aber für die plugins sachen nimmt er immer das voreingestellte in diesem fall
plugin_de.pro

Was habe ich vergessen zu setzen?? Oder wo kann ich sagen die plugin.pro setzen???


----------



## Wildcard (31. Jul 2008)

Für die PlugIn Properties nimmt er das Eclipse-NL. Wenn du den Eclipse Mechanismus zum Internationalisieren verwendest (würde ich empfehlen), dann sollte er auch die messages.properties entsprechend des Eclipse NL verwenden.
Darf man fragen, wieso du das programmatisch verstellen willst?


----------



## Gast2 (31. Jul 2008)

wir haben ein anmelde dialog der nicht von uns ist. Dort kann man die Sprache auswählen user psw. usw.
und danach bekomme ich die ausgewählte locale zurückgeliefert und je nachdem muss ich ja die Sprache für unsere anwendung "wählen bzw. setzen "... 

wie sollte ich es sonst machen? Mir ist nichts anderes eingefallen
wie setzte ich das eclispe-nl neu???
wie kann ich einstellen dass meine message.properties die eclipse-nl verwendet?? hab die mir von eclipse selber anlegen lassen.



```
System.setProperty("org.osgi.framework.language",);
    System.setProperty("osgi.nl",);
    System.setProperty("osgi.nl.user",);
    System.setProperty("user.country",);
    System.setProperty("user.language",);
```

bringt alles nichts


----------



## Gast2 (31. Jul 2008)

es sollte doch möglich sein bevor ich meine workbench erstelle ihm zu sagen welche plugin.properties er für die views benutzen soll


```
{

public class Application implements IPlatformRunnable
{
  public Object run(Object args)
  {

    Locale.setDefault(locale);

    final Display display = PlatformUI.createDisplay();
    final int returnCode =PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
     
  }
```


----------



## Wildcard (31. Jul 2008)

Nun, dann denke ich, du musst wohl eine eigene Launcher Application schreiben, die die Plattform entsprechend Parametrisert. Die Eclipse Locale zur Laufzeit zu ändern, ist meines Wissens nicht möglich.

Anmerkung:
Was haben die Leute nur immer mit diesem Ändern der Sprache zur Laufzeit? Unnötig wie sonst was und lächerlich viel Aufwand  :?


----------



## Gast2 (31. Jul 2008)

ja sag mir eine andere möglichkeit???? ich weiß doch von herein nicht was der benutzer für sprachen kann wenn er die anwendung startet...


----------



## Gast2 (31. Jul 2008)

also hab grad mal die ganzen klassen zurück verfolgt und osgi.nl wie du sagtest ist es und wenn man die ändert interessiert es ihn nicht wirklich...

um des ganze zu umgehen kann ich doch z.B. in meinem views setPartName(name)...
im createPartControl gleich setzen wie ich will... des würde fast klappen... wenn ich die anwendung öffne komtm er alte name erst wenn ich einmal klicke kommt der neue...kann ich ihm irgendwie gleich sagen dass er den neuen nehmen soll????


----------



## Wildcard (31. Jul 2008)

SirWayne hat gesagt.:
			
		

> ja sag mir eine andere möglichkeit???? ich weiß doch von herein nicht was der benutzer für sprachen kann wenn er die anwendung startet...


Du bist also der Meinung, der Anwender spricht die Sprache, die er selbst auf seinem System eingestellt hat nicht?
Das glaub' ich nicht, Tim.



> um des ganze zu umgehen kann ich doch z.B. in meinem views setPartName(name)...
> im createPartControl gleich setzen wie ich will... des würde fast klappen... wenn ich die anwendung öffne komtm er alte name erst wenn ich einmal klicke kommt der neue...kann ich ihm irgendwie gleich sagen dass er den neuen nehmen soll????


Es gibt keinen Grund für Eclipse eine View zu initialisieren, nur weil es einen (inaktiven) Tab für sie gibt. Daher werden die Namen gecached um so wenig Code wie möglich auszuführen.


----------



## Gast2 (31. Jul 2008)

naja nicht unbedingt es gibt anwendungen da gehen mehrere user an einen pc und ich glaub nicht dass sie jedes mal die umgebungsvariable neu setzen... darum kann er dass im anmeldedialog machen, wenn der kunde dass so will... 
außerdem ist es ja auch verständlich... weiß nicht was daran so unverständlich ist, geht doch in vielen programmen...

ja ok... kennst du dann vielleicht noch eine möglichkeit wie das einfach zu ändern wäre?


----------



## Wildcard (31. Jul 2008)

Mehrere User an einem System sind ja auch kein Problem, deshalb gibt es schließlich Mehrbenutzersysteme.
Jeder Benutzer hat seinen Account und jeder Account hat seine Sprache.
Oder welche Firma kennst du, in denen sich mehrere Leute einen Account auf einem Rechner teilen müssen auf dem dann auch noch eine Sprache installiert ist, die keiner der Beteiligten versteht?  :lol: 
Liegt aber auch nicht an mir das zu beurteilen, ich möchte lediglich zu bedenken geben, das ich ein solches Feature für sinnlos halte.

Fachlich habe ich darüber bereits alles gesagt was ich zu sagen habe.
Ich denke nicht, das es mit Plattform-Mitteln möglich ist, diese Anforderung zu implementieren, da muss schon ein launcher her der die Plattform parametrisiert.


----------



## Gast2 (31. Jul 2008)

Das hat doch nichts mit einem account auf einem System zu tun... 
Es gibt clients da gibt es einen account für mehrere benutzer... es gibt auch mehrer personen die ein und den selber benutzernamen haben und der eine kann eben nur englisch und der andere nur deutsch...  
was soll ich machen is ja nicht meine idee^^


----------

