From 30af38e5b1987281b901a29fef46cea363cbfbd9 Mon Sep 17 00:00:00 2001 From: Elaine Tan Date: Wed, 20 Mar 2013 20:25:06 +0800 Subject: [PATCH] IDEMPIERE-489 Make use of AD_Language configuration --- .../src/org/compiere/util/Language.java | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/util/Language.java b/org.adempiere.base/src/org/compiere/util/Language.java index 123c0e5c0a..3dfe922b7e 100644 --- a/org.adempiere.base/src/org/compiere/util/Language.java +++ b/org.adempiere.base/src/org/compiere/util/Language.java @@ -148,25 +148,32 @@ public class Language implements Serializable Locale locale = new Locale(language, country); if (DB.isConnected()) { MLanguage dblang = MLanguage.get(Env.getCtx(), langInfo); - Boolean decimalPoint = null; - if (dblang.getIsDecimalPoint() != null) - decimalPoint = "Y".equals(dblang.getIsDecimalPoint()); - if (!( language.equals(dblang.getLanguageISO()) - && country.equals(dblang.getCountryCode()) - ) - ) { - locale = new Locale(dblang.getLanguageISO(), dblang.getCountryCode()); + if (dblang == null) + { + ll = new Language (lang, lang, locale); } - MediaSize mediaSize = MediaSize.ISO.A4; - if (dblang.getAD_PrintPaper_ID() > 0) { - MPrintPaper pp = MPrintPaper.get(dblang.getAD_PrintPaper_ID()); - mediaSize = pp.getMediaSize(); - } - ll = new Language(dblang.getPrintName(), langInfo, locale, decimalPoint, dblang.getDatePattern(), mediaSize); - ll.m_fromDB = true; - if (dblang.isBaseLanguage()) { - idxReplace = 0; - s_baseLanguage = ll; + else + { + Boolean decimalPoint = null; + if (dblang.getIsDecimalPoint() != null) + decimalPoint = "Y".equals(dblang.getIsDecimalPoint()); + if (!( language.equals(dblang.getLanguageISO()) + && country.equals(dblang.getCountryCode()) + ) + ) { + locale = new Locale(dblang.getLanguageISO(), dblang.getCountryCode()); + } + MediaSize mediaSize = MediaSize.ISO.A4; + if (dblang.getAD_PrintPaper_ID() > 0) { + MPrintPaper pp = MPrintPaper.get(dblang.getAD_PrintPaper_ID()); + mediaSize = pp.getMediaSize(); + } + ll = new Language(dblang.getPrintName(), langInfo, locale, decimalPoint, dblang.getDatePattern(), mediaSize); + ll.m_fromDB = true; + if (dblang.isBaseLanguage()) { + idxReplace = 0; + s_baseLanguage = ll; + } } } else { ll = new Language (lang, lang, locale);