2014-01-28 145 views
6

我使用的Java6我的web應用程序我試圖下面的代碼來改變我的應用程序Java印地語語言環境支持?

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); 
    } 

它的做工精細的laguage,但是當我試圖改變印地文我沒有看到印度語言中的任何區域。

我們是否也可以從Java支持Hindi Locale以便我的應用程序適用於印地語。

+1

[JDK 7和JRE 7支持的語言環境(HTTP:// WWW .oracle.com/technetwork/java/javase/javase7locales-334809.html)表明'hi_IN'是印地語。鑑於我發現這些信息的絕對輕鬆程度,您因缺乏研究而獲得了低票。 –

回答

10

Java 6肯定有印地文語言環境支持,請參閱here

於區域設置明確設置爲印地文,印度做這樣的事情:

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

打印;

hi_IN 

這裏要注意的一點是Locale的確也提供構造準確地獲得有關支持的語言環境(S)和變體手柄。

因此,在你的代碼,你可能會想嘗試:

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

在Java 6中,你需要這樣的:Locale lc = new Locale("hi", "IN");