private static Calendar createCalendar(TimeZone zone, Locale aLocale) { Calendar cal = null; String caltype = aLocale.getUnicodeLocaleType("ca"); if (caltype == null) { // Calendar type is not specified. // If the specified locale is a Thai locale, // returns a BuddhistCalendar instance. if ("th".equals(aLocale.getLanguage()) && ("TH".equals(aLocale.getCountry()))) { cal = new BuddhistCalendar(zone, aLocale); } else { cal = new GregorianCalendar(zone, aLocale); } } else if (caltype.equals("japanese")) { cal = new JapaneseImperialCalendar(zone, aLocale); } else if (caltype.equals("buddhist")) { cal = new BuddhistCalendar(zone, aLocale); } else { // Unsupported calendar type. // Use Gregorian calendar as a fallback. cal = new GregorianCalendar(zone, aLocale); } return cal; }
/** * @see java.util.Locale#getUnicodeLocaleType(java.lang.String) */ public String getUnicodeLocaleType(String key) { return locale.getUnicodeLocaleType(key); }
/** * <p>Extracts the region or country information from given locale. </p> * * @param locale localization info * @return usually an ISO-3166-2 region/country code in upper case or an empty string */ /*[deutsch] * <p>Ermittelt die Region- oder Landesangabe aus der angegebenen Lokalisierungsinformation. </p> * * @param locale localization info * @return usually an ISO-3166-2 region/country code in upper case or an empty string */ public static String getRegion(Locale locale) { String region = locale.getUnicodeLocaleType("rg"); if ((region != null) && (region.length() == 6)) { String upper = region.toUpperCase(Locale.US); if (upper.endsWith("ZZZZ")) { return upper.substring(0, 2); } } return locale.getCountry(); }
String caltype = aLocale.getUnicodeLocaleType("ca"); if (caltype == null) {
String caltype = aLocale.getUnicodeLocaleType("ca"); if (caltype == null) {
/** * <p>Ermittelt, ob die angegebene Lokalisierungsinformation die Verwendung des standardmäßigen * Wochenmodells eines Kalenders anzeigt oder nicht. </p> * * @param locale localization info * @return boolean */ public static boolean useDefaultWeekmodel(Locale locale) { String fw = locale.getUnicodeLocaleType("fw"); if ((fw != null) && (getWeekdayISO(fw) != 0)) { return false; } return getRegion(locale).isEmpty(); }
private Calendar nonGregorianCalendar() { Locale locale=null; for(Locale aLocale:Locale.getAvailableLocales()) { String unicodeLocaleType = aLocale.getUnicodeLocaleType("ca"); if(unicodeLocaleType!=null) { locale=aLocale; break; } } Calendar calendar=Calendar.getInstance(locale); calendar.setTime(NOW); return calendar; }
String numberType = locale.getUnicodeLocaleType("nu"); if (numberType != null && numberType.equals("thai")) { lookupLocale = new Locale("th", "TH", "TH");
String numberType = locale.getUnicodeLocaleType("nu"); if (numberType != null && numberType.equals("thai")) { lookupLocale = new Locale("th", "TH", "TH");
String caltype = aLocale.getUnicodeLocaleType("ca"); if (caltype != null) { switch (caltype) {