2 Stimmen

System.getProperty("user.language") gibt immer "en" zurück, nicht die aktuellen Spracheinstellungen des Benutzers

Das macht mich jetzt wahnsinnig. Ich habe ein javaApplet auf einer asp.net-Seite. Innerhalb dieses JavaApplets muss ich die bevorzugte Sprache des Benutzers erkennen FireFox-Tools-Options-Content-Languages-Choose.I haben 3 Sprachen in dort und die firstOne ist Spanisch/Spanien[es-ES]indem ich folgendes tue

String locale= System.getProperty("user.language")+"-"+System.getProperty("user.region"); Ich erwarte, dass das Gebietsschema "es-ES" lautet.

aber ich erhalte immer "en-null" und user.language ist immer "en"

Wie erhält man die bevorzugte Sprache des Benutzers in Java?

Das richtige Ergebnis sollte "es-ES" sein.

Irgendwelche Vorschläge#? vielen Dank

2voto

Chris R Punkte 833

Sie müssen das Gebietsschema als Parameter an das Applet übergeben...

<APPLET ...>
 <PARAM name="Locale" value="es-ES">
</APPLET>

Dies kann natürlich von Ihrem serverseitigen ASP.NET-Code auf der Grundlage des Accept-Language-Headers gerendert werden.

Verwenden Sie dann die Applet-Funktion getParameter(String name) Methode, um das übergebene Gebietsschema abzurufen.

1voto

BalusC Punkte 1034465

Ich bin mir nicht sicher, was los ist, aber warum nutzen Sie nicht einfach die vorhandenen java.util.Locale API?

Locale locale = Locale.getDefault();

Oder noch besser, verwenden Sie die Applet's vererbt getLocale() método:

Locale locale = getLocale();

[Bearbeiten] Oh, es ist klar. Sie wollen die bevorzugte Sprache der Client-Anwendung erhalten, nicht die bevorzugte Sprache der Betriebssystem-Plattform. In diesem Fall müssen Sie JS lassen Sie es in das Applet, in der Theorie übergeben:

document.appletname.language = window.navigator.userLanguage;

1voto

Olivier Punkte 3416

Der Wert, der durch einen Aufruf von System.getProperty() zurückgegeben wird, hat keinen Bezug zur bevorzugten Firefox-Sprache. Wenn Sie einen Blick auf die Spracheinstellungen des Computers werfen, werden Sie sicher feststellen, dass en y null kommt nicht aus dem Nichts. Wie man nun die vom Browser bevorzugten Sprachen aus dem Applet herausbekommt, ist eine andere Frage, auf die ich, um ehrlich zu sein, keine Antwort habe.

1voto

PeterMmm Punkte 23251

Vielleicht hilft das: Java Applet Locale-Einstellung

Vielleicht können Sie die bevorzugte Sprache des Browsers mit Javascript als Argument an Ihr Applet übergeben.

1voto

Tom Hawtin - tackline Punkte 142461

Applets laufen auf dem Client-Rechner und haben keine Kenntnis von den Anfragen, die der Browser an den Server sendet. Wenn Sie Informationen aus der Anfrage einbeziehen möchten, sollten Sie diese als Parameter in das Applet-Tag bei der Erstellung der Webseite einfügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X