Comment accéder à “paramètres régionaux” de la valeur (d'une Internationalisation de l'Application) à côté serveur dans GWT?

StackOverflow https://stackoverflow.com//questions/25009115

  •  20-12-2019
  •  | 
  •  

Question

Ok, je développe une application qui prend en charge l'Internationalisation.Je suis à l'aide de Static String Internationalization méthode pour mon application.

Disons que mon application peut avoir l'anglais & allemand version, donc -Le 1er, j'ai créé MyMessages.java qui a toutes message de textes rédigés en anglais.Puis j'ai créé un MyMessages_ge ce qui est presque le même que MyMessages.java sauf que le texte écrit en allemand

-2ème, dans MyProject.html j'ai <meta http-equiv="content-type" content="text/html; charset=UTF-8"> pour s'assurer qu'il prendra en charge toutes les langues

-3ème, en MyProject.gwt.xml J'ai <extend-property name="locale" values="ge"/>

Maintenant, je lance mon application dans eclipse http://localhost:8888/MyProject.html?gwt.codesvr=127.0.0.1:9997&locale=ge et il montre tout le texte allemand que je m'attendais.

Cependant, j'ai besoin de savoir que mon application est en allemand At Server Side.Cela signifie que chaque fois que mon GWT Gui en version allemande puis mon serveur qui languageCode=1 si c'est en anglais, donc le serveur va utiliser la langue par défaut languageCode=0

Voici ce que j'ai fait.Au HeaderPresenter.java

@Override
public void prepareFromRequest(PlaceRequest request){
    super.prepareFromRequest(request);
    String locale=request.getParameter("locale", "");
    setLanguage(locale); // servercall back here
}

alors, quand mon application de fonctionner première fois, il devrait laisser le serveur pour savoir quelle langue l'application Gwt est l'aide de

@Override
public SetLanguageResult execute(SetLanguage action, ExecutionContext context)
        throws ActionException {
    String locale=action.getLocale();
    if("ge".equals(locale)){
        Data.languageType=1;
    }
    return null;
}

Cependant, il ne semble pas travailler Quand je vais à orderPage l'url sera http://localhost:8888/MyProject.html?gwt.codesvr=127.0.0.1:9997&locale=ge#!orderPage il pas dans le formulaire http://localhost:8888/MyProject.html?gwt.codesvr=127.0.0.1:9997#!orderPage;locale=ge c'est pourquoi le serveur n'a pas pu capturer l' locale de la valeur.

Je pense que j'ai mal compris quelque chose ici.Je suis assez déroutant.

Alors, Comment accéder à "paramètres régionaux" de la valeur (d'une Internationalisation de l'Application) à côté serveur dans GWT?

Était-ce utile?

La solution

Il y a une classe utilitaire pour traiter les informations de paramètres régionaux dans le GWT SDK.Pas besoin d'analyser les paramètres d'URL vous-même.Jetez un oeil à LocaleInfo.getCurrentLocale() ensuite, utilisez la getLocaleName() méthode pour obtenir le code comme une Chaîne de caractères.

Je n'ai pas tout à fait comprendre la façon dont vous stockez l'information locale sur le serveur?L'esprit que les servlets sont partagés entre les utilisateurs, vous devez joindre les locaux de la session ou de la transmettre à chaque appel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top