2014-01-28 4 views
6

ich Java6 verwende für meine Web-Anwendung i Code unten versuche die laguage meiner BewerbungJava Hindi Gebietsschemaunterstützung?

public static void doChangeLanguage(String argLang) { 
     SessionValidationInitiator.setLanguage(argLang); 
     LOGGER.debug("Changing Language to ... " + argLang); 
     if(argLang.equalsIgnoreCase("fr_ca")){ 
     Locales.setThreadLocal(Locales.getLocale(Locale.FRENCH)); 
     Executions.getCurrent().getSession().setAttribute(Attributes.PREFERRED_LOCALE, Locale.FRENCH); 
     Labels.reset(); 
     }else{ 
      Locales.setThreadLocal(Locales.getLocale(Locale.US)); 
      Executions.getCurrent().getSession().setAttribute(Attributes.PREFERRED_LOCALE, Locale.US); 
      Labels.reset(); 
     } 
     Executions.sendRedirect(null); 
    } 

Seine adaequat zu ändern, aber wenn ich versuche, die Hindi zu ändern sah ich nicht jede locale für indische Sprache.

Können wir Hindi Locale auch von Java aus unterstützen, so dass meine Anwendung für Hindi Language funktioniert.

+1

[JDK 7 und JRE 7 Unterstützte Locales] (http: // www .oracle.com/technetwork/java/javase/javase7locales-334809.html) schlägt vor, dass "hi_IN" Hindi ist. Angesichts der absoluten Leichtigkeit, mit der ich diese Information gefunden habe, bekommst du wegen mangelnder Forschung ein Down-Vote für mich. –

Antwort

10

Java 6 hat auf jeden Fall Unterstützung Hindi Gebietsschema finden Sie in here

Um die Locale zu Hindi explizit festgelegt, Indien etwas tun:

System.out.println(new Locale("hi", "IN")); 

Drucke;

hi_IN 

Die Sache hier zu beachten ist Locale auch Konstrukteure nicht bieten einen Griff auf der unterstützten Locale (n) und Varianten genau zu erhalten.

in Ihrem Code Daher könnten Sie wahrscheinlich ausprobieren wollen:

Locales.setThreadLocal(Locales.getLocale(new Locale("hi", "IN"))); 
1

In Java 6 Sie diese brauchen: Locale lc = new Locale("hi", "IN");