java.util.Locale#LanguageRange ( )源码实例Demo

下面列出了java.util.Locale#LanguageRange ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: spring-analysis-note   文件: HttpHeadersTests.java
@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));
}
 
源代码2 项目: openjdk-jdk9   文件: Bug8035133.java
private static void checkLookup(String ranges, String tags,
        String expectedLocale) {

    List<Locale.LanguageRange> priorityList = Locale.LanguageRange
            .parse(ranges);
    List<Locale> localeList = generateLocales(tags);
    Locale loc = Locale.lookup(priorityList, localeList);
    String actualLocale
            = loc.toLanguageTag();

    if (!actualLocale.equals(expectedLocale)) {
        System.err.println("Locale.lookup failed with ranges: " + ranges
                + " Expected: " + expectedLocale
                + " Actual: " + actualLocale);
        err = true;
    }

}
 
源代码3 项目: android_9.0.0_r45   文件: TextClassifierImpl.java
/**
 * Finds the most appropriate model to use for the given target locale list.
 *
 * The basic logic is: we ignore all models that don't support any of the target locales. For
 * the remaining candidates, we take the update model unless its version number is lower than
 * the factory version. It's assumed that factory models do not have overlapping locale ranges
 * and conflict resolution between these models hence doesn't matter.
 */
@GuardedBy("mLock") // Do not call outside this lock.
@Nullable
private ModelFile findBestModelLocked(LocaleList localeList) {
    // Specified localeList takes priority over the system default, so it is listed first.
    final String languages = localeList.isEmpty()
            ? LocaleList.getDefault().toLanguageTags()
            : localeList.toLanguageTags() + "," + LocaleList.getDefault().toLanguageTags();
    final List<Locale.LanguageRange> languageRangeList = Locale.LanguageRange.parse(languages);

    ModelFile bestModel = null;
    for (ModelFile model : listAllModelsLocked()) {
        if (model.isAnyLanguageSupported(languageRangeList)) {
            if (model.isPreferredTo(bestModel)) {
                bestModel = model;
            }
        }
    }
    return bestModel;
}
 
源代码4 项目: tutorials   文件: SimpleController.java
@GetMapping("/slf4j-guide-locale-request")
public String clientLocaleRequest(@RequestHeader("Accept-Language") String localeHeader) {
    List<Locale.LanguageRange> list = Locale.LanguageRange.parse(localeHeader);
    Locale locale = Locale.lookup(list, Arrays.asList(Locale.getAvailableLocales()));
    IMessageConveyor messageConveyor = new MessageConveyor(locale);
    LocLoggerFactory llFactory = new LocLoggerFactory(messageConveyor);
    LocLogger locLogger = llFactory.getLocLogger(this.getClass());
    locLogger.info(Messages.CLIENT_REQUEST, "parametrizedClientId", localeHeader);
    locLogger.debug(Messages.REQUEST_STARTED);
    locLogger.info(Messages.REQUEST_FINISHED);
    return "finished";
}
 
源代码5 项目: spring-analysis-note   文件: HttpHeaders.java
/**
 * Set the acceptable language ranges, as specified by the
 * {@literal Accept-Language} header.
 * @since 5.0
 */
public void setAcceptLanguage(List<Locale.LanguageRange> languages) {
	Assert.notNull(languages, "LanguageRange List must not be null");
	DecimalFormat decimal = new DecimalFormat("0.0", DECIMAL_FORMAT_SYMBOLS);
	List<String> values = languages.stream()
			.map(range ->
					range.getWeight() == Locale.LanguageRange.MAX_WEIGHT ?
							range.getRange() :
							range.getRange() + ";q=" + decimal.format(range.getWeight()))
			.collect(Collectors.toList());
	set(ACCEPT_LANGUAGE, toCommaDelimitedString(values));
}
 
源代码6 项目: java-technology-stack   文件: HttpHeaders.java
/**
 * Set the acceptable language ranges, as specified by the
 * {@literal Accept-Language} header.
 * @since 5.0
 */
public void setAcceptLanguage(List<Locale.LanguageRange> languages) {
	Assert.notNull(languages, "LanguageRange List must not be null");
	DecimalFormat decimal = new DecimalFormat("0.0", DECIMAL_FORMAT_SYMBOLS);
	List<String> values = languages.stream()
			.map(range ->
					range.getWeight() == Locale.LanguageRange.MAX_WEIGHT ?
							range.getRange() :
							range.getRange() + ";q=" + decimal.format(range.getWeight()))
			.collect(Collectors.toList());
	set(ACCEPT_LANGUAGE, toCommaDelimitedString(values));
}
 
源代码7 项目: java-technology-stack   文件: HttpHeaders.java
/**
 * 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());
}
 
@Override
public List<Locale.LanguageRange> acceptLanguage() {
	return this.headers.acceptLanguage();
}
 
源代码9 项目: spring-analysis-note   文件: MockServerRequest.java
@Override
public List<Locale.LanguageRange> acceptLanguage() {
	return delegate().getAcceptLanguage();
}
 
源代码10 项目: archiva   文件: TestConfiguration.java
@Override
public List<Locale.LanguageRange> getLanguagePriorities( )
{
    return Locale.LanguageRange.parse("en,fr,de");
}
 
源代码11 项目: android_9.0.0_r45   文件: TextClassifierImpl.java
/** Returns whether the language supports any language in the given ranges. */
boolean isAnyLanguageSupported(List<Locale.LanguageRange> languageRanges) {
    return mLanguageIndependent || Locale.lookup(languageRanges, mSupportedLocales) != null;
}
 
@Override
public List<Locale.LanguageRange> acceptLanguage() {
	return delegate().getAcceptLanguage();
}
 
@Override
public List<Locale.LanguageRange> acceptLanguage() {
	return this.headers.acceptLanguage();
}
 
源代码14 项目: java-technology-stack   文件: MockServerRequest.java
@Override
public List<Locale.LanguageRange> acceptLanguage() {
	return delegate().getAcceptLanguage();
}
 
源代码15 项目: spring-analysis-note   文件: ServerRequest.java
/**
 * Get the list of acceptable languages, as specified by the
 * {@code Accept-Language} header.
 */
List<Locale.LanguageRange> acceptLanguage();
 
源代码16 项目: spring-analysis-note   文件: ServerRequest.java
/**
 * Get the list of acceptable languages, as specified by the
 * {@code Accept-Language} header.
 */
List<Locale.LanguageRange> acceptLanguage();
 
源代码17 项目: spring-analysis-note   文件: HttpHeaders.java
/**
 * Return the language ranges from the {@literal "Accept-Language"} header.
 * <p>If you only need sorted, preferred locales only use
 * {@link #getAcceptLanguageAsLocales()} or if you need to filter based on
 * a list of supported locales you can pass the returned list to
 * {@link Locale#filter(List, Collection)}.
 * @throws IllegalArgumentException if the value cannot be converted to a language range
 * @since 5.0
 */
public List<Locale.LanguageRange> getAcceptLanguage() {
	String value = getFirst(ACCEPT_LANGUAGE);
	return (StringUtils.hasText(value) ? Locale.LanguageRange.parse(value) : Collections.emptyList());
}
 
源代码18 项目: java-technology-stack   文件: ServerRequest.java
/**
 * Get the list of acceptable languages, as specified by the
 * {@code Accept-Language} header.
 */
List<Locale.LanguageRange> acceptLanguage();
 
源代码19 项目: java-technology-stack   文件: HttpHeaders.java
/**
 * Return the language ranges from the {@literal "Accept-Language"} header.
 * <p>If you only need sorted, preferred locales only use
 * {@link #getAcceptLanguageAsLocales()} or if you need to filter based on
 * a list of supported locales you can pass the returned list to
 * {@link Locale#filter(List, Collection)}.
 * @throws IllegalArgumentException if the value cannot be converted to a language range
 * @since 5.0
 */
public List<Locale.LanguageRange> getAcceptLanguage() {
	String value = getFirst(ACCEPT_LANGUAGE);
	return (StringUtils.hasText(value) ? Locale.LanguageRange.parse(value) : Collections.emptyList());
}
 
源代码20 项目: archiva   文件: ArchivaConfiguration.java
public List<Locale.LanguageRange> getLanguagePriorities();