如何在java中获取语言环境对象?

问题描述:

我在框架Spring和Liferay中使用Java。 使用liferay我知道如何获得一个语言环境(有一些信息的对象:语言,国家......),但现在我在一个没有与liferay连接的java类,我不知道如何获得一个语言环境对象得到语言。如何在java中获取语言环境对象?

例如,我有一个测试类我的网页的下一个方法:

private void checkEnglishText(String contentXml) { 
    CarContentGenerator esCarGeneratorObject = new  CarContentGenerator(); 
    HashMap<String, CarContentVo> hm = esCarGeneratorObject.getCar(contentXml); 
    CarContentVo ccvo = hm.get("EPPA0418"); 
    Assert.assertEquals(ccvo.getCarCodes(), "empress"); 
} 

这里我打电话给CarContentGenerator构造,这种构造是:

public CarContentGenerator() { 
    link = new LinkVo(); 
    links = new ArrayList<LinkVo>(); 
    itinerary = new ArrayList<LinkVo>(); 
    lpackageId = new ArrayList<String>(); 
    contentVo = new ContentVo(); 
    mapCar = new HashMap<String, CarContentVo>(); 
    this.locale = "en_US"; 
} 

你可以看到,我将值“en_US”赋予变量区域设置。 “EN_US”意味着我的页面

将用英语显示,如果我写的“es_ES”将在西班牙进行显示,这样..我的dought

是..难道有人知道如何找出语言(在我的情况下“en_US”或“es_EN”)其中是我的

网页? (从请求或东西得到它)

一个Java类java.lang.Locale,您可以通过代码获得的实例如下所示:

final Locale american = new Locale("en", "US"); 
final Locale spanish = new Locale("es", "ES"); 

所以,你应该能够以此为当您没有Liferay连接时,您的语言环境对象。可以将这些区域设置传递到支持区域敏感操作的各种JDK类(例如NumberFormatCurrency),并且可以直接查询基本信息。

至于你的最后一个问题 - 我认为这太宽泛了,目前没有任何信息回答。目前,这个问题仅仅是“如何在'我的网页'和'我的代码'之间传递几个字节的静态信息?”实际上有数百种可能的方式来做到这一点,最好的/最简单的方法取决于很多无聊的细节,比如你的启动脚本,哪些技术在不同的地方使用等等。如果你需要更多的帮助,那么我相信你已经必须发布填补所有这些差距的非常具体的问题。