private static Locale buildLocale(Object languageTag) { if (languageTag instanceof String) { try { return Locale.forLanguageTag((String) languageTag); } catch (IllegalArgumentException e) { return DEFAULT_LOCALE; } } else { return DEFAULT_LOCALE; } }
public static Locale getLocaleFromString(String localeString) { if (localeString == null) { return null; } return Locale.forLanguageTag(localeString); }
public LowerExtractionFn(@JsonProperty("locale") String localeString) { this.localeString = localeString; this.locale = localeString == null ? Locale.getDefault() : Locale.forLanguageTag(localeString); }
public UpperExtractionFn(@JsonProperty("locale") String localeString) { this.localeString = localeString; this.locale = localeString == null ? Locale.getDefault() : Locale.forLanguageTag(localeString); }
public void init(Properties props) { lang = Locale.forLanguageTag(props.getProperty(Constants.LANGUAGE_PROP, "en")); }
private String buildLanguageString(String language) { Locale locale = Util.SDK_INT >= 21 ? Locale.forLanguageTag(language) : new Locale(language); return locale.getDisplayLanguage(); }
@Override public Locale convert(final Object value) { if (value == null) { return null; } if (value.getClass() == Locale.class) { return (Locale) value; } return Locale.forLanguageTag(value.toString()); }
/** * A variant of {@link #getAcceptLanguage()} that converts each * {@link java.util.Locale.LanguageRange} to a {@link Locale}. * @return the locales or an empty list * @throws IllegalArgumentException if the value cannot be converted to a locale * @since 5.0 */ public List<Locale> getAcceptLanguageAsLocales() { List<Locale.LanguageRange> ranges = getAcceptLanguage(); if (ranges.isEmpty()) { return Collections.emptyList(); } return ranges.stream() .map(range -> Locale.forLanguageTag(range.getRange())) .filter(locale -> StringUtils.hasText(locale.getDisplayName())) .collect(Collectors.toList()); }
private static Locale localeFromFilename(String filename) throws IOException { Matcher m = FILENAME_PATTERN.matcher(filename); if (m.matches()) { String langTag = m.group(2); return (langTag != null) ? Locale.forLanguageTag(langTag) : Locale.ROOT; } throw new IOException("Could not parse locale: " + filename); } }
public static Locale getMetricsReporterLocale(Map<String, Object> topoConf) { String languageTag = ObjectReader.getString(topoConf.get(Config.STORM_DAEMON_METRICS_REPORTER_PLUGIN_LOCALE), null); if (languageTag != null) { return Locale.forLanguageTag(languageTag); } return null; }
public Locale getLocale() { if (locale == null) { setLocale(Locale.getDefault(Category.DISPLAY)); } return Locale.forLanguageTag(locale); }
/** * Parse the given {@code String} value into a {@link Locale}, accepting * the {@link Locale#toString} format as well as BCP 47 language tags. * @param localeValue the locale value: following either {@code Locale's} * {@code toString()} format ("en", "en_UK", etc), also accepting spaces as * separators (as an alternative to underscores), or BCP 47 (e.g. "en-UK") * as specified by {@link Locale#forLanguageTag} on Java 7+ * @return a corresponding {@code Locale} instance, or {@code null} if none * @throws IllegalArgumentException in case of an invalid locale specification * @since 5.0.4 * @see #parseLocaleString * @see Locale#forLanguageTag */ @Nullable public static Locale parseLocale(String localeValue) { String[] tokens = tokenizeLocaleSource(localeValue); if (tokens.length == 1) { validateLocalePart(localeValue); Locale resolved = Locale.forLanguageTag(localeValue); return (resolved.getLanguage().length() > 0 ? resolved : null); } return parseLocaleTokens(localeValue, tokens); }
/** * Saves Locale to HTTP session. */ public static void setSessionLocale(final HttpSession session, final String localeCode) { if (log.isDebugEnabled()) { log.debug("Locale stored to session: " + localeCode); } Locale locale = Locale.forLanguageTag(localeCode); session.setAttribute(SESSION_LOCALE_ATTR, locale); }
@Test public void preferredLocalesFromAcceptLanguageHeader() { String headerValue = "fr-ch, fr;q=0.9, en-*;q=0.8, de;q=0.7, *;q=0.5"; request.addHeader("Accept-Language", headerValue); List<Locale> actual = Collections.list(request.getLocales()); assertEquals(Arrays.asList(Locale.forLanguageTag("fr-ch"), Locale.forLanguageTag("fr"), Locale.forLanguageTag("en"), Locale.forLanguageTag("de")), actual); assertEquals(headerValue, request.getHeader("Accept-Language")); }
@AssistedInject public CEFCodec(@Assisted Configuration configuration) { this.configuration = configuration; this.parser = CEFParserFactory.create(); DateTimeZone timezone; try { timezone = DateTimeZone.forID(configuration.getString(CK_TIMEZONE)); } catch (Exception e) { LOG.warn("Could not configure CEF input timezone. Falling back to local default. Please check the error message:", e); timezone = DEFAULT_TIMEZONE; } this.timezone = timezone; this.locale = Locale.forLanguageTag(configuration.getString(CK_LOCALE, "")); this.useFullNames = configuration.getBoolean(CK_USE_FULL_NAMES); }
@BeforeClass public static void beforeClass() { currentLocale = Locale.getDefault(); // Turkish will generate a "dotless i" when toLowerCase is used on "I". Locale.setDefault(Locale.forLanguageTag("tr-TR")); }
@Implementation public static String addLikelySubtags(String locale) { if (RuntimeEnvironment.getApiLevel() >= N) { return ULocale.addLikelySubtags(ULocale.forLanguageTag(locale)).toLanguageTag(); } else { // Return what is essentially the given locale, normalized by passing through the Locale // factory method. return Locale.forLanguageTag(locale).toLanguageTag(); } }
@Test public void acceptLanguage() { String headerValue = "fr-ch, fr;q=0.9, en-*;q=0.8, de;q=0.7, *;q=0.5"; headers.setAcceptLanguage(Locale.LanguageRange.parse(headerValue)); assertEquals(headerValue, headers.getFirst(HttpHeaders.ACCEPT_LANGUAGE)); List<Locale.LanguageRange> expectedRanges = Arrays.asList( new Locale.LanguageRange("fr-ch"), new Locale.LanguageRange("fr", 0.9), new Locale.LanguageRange("en-*", 0.8), new Locale.LanguageRange("de", 0.7), new Locale.LanguageRange("*", 0.5) ); assertEquals(expectedRanges, headers.getAcceptLanguage()); assertEquals(Locale.forLanguageTag("fr-ch"), headers.getAcceptLanguageAsLocales().get(0)); headers.setAcceptLanguageAsLocales(Collections.singletonList(Locale.FRANCE)); assertEquals(Locale.FRANCE, headers.getAcceptLanguageAsLocales().get(0)); }
@Test void testConversion() { LocaleConverter localeConverter = new LocaleConverter(); assertNull(localeConverter.convert(null)); assertEquals(new Locale("en"), localeConverter.convert("en")); assertEquals(new Locale("en", "US"), localeConverter.convert("en-US")); assertEquals(new Locale("en", "US"), localeConverter.convert("en-US-win")); assertEquals(Locale.forLanguageTag("ja-JP-x-lvariant-JP"), localeConverter.convert("ja-JP-x-lvariant-JP")); assertEquals(new Locale("en"), localeConverter.convert(new Locale("en"))); } }
public enum Person { I, YOU, HE, SHE, WE, THEY, IT, UNKNOWN}