@Test public void testResolveLocaleByCookie() { // Arrange AngularCookieLocaleResolver resolver = new AngularCookieLocaleResolver(); HttpServletRequest servlet = Mockito.mock(HttpServletRequest.class); Cookie cookie = new Cookie("locale", "de"); Cookie[] cookies = new Cookie[1]; cookies[0] = cookie; when(servlet.getAttribute(CookieLocaleResolver.LOCALE_REQUEST_ATTRIBUTE_NAME)).thenReturn(null); when(servlet.getCookies()).thenReturn(cookies); resolver.setCookieName("locale"); // Act Locale locale = resolver.resolveLocale(servlet); // Assert assertThat(locale, is(nullValue())); }
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { LocaleResolver localeResolver = RequestContextUtils.getLocaleResolver(request); // Check if it's our case if (localeResolver == null) { throw new IllegalStateException("No LocaleResolver found: not in a DispatcherServlet request?"); } if (!(localeResolver instanceof CookieLocaleResolver)) { return true; } // Check if locale not in cookie. // If so, then force it to store in cookie CookieLocaleResolver cookieLocaleResolver = (CookieLocaleResolver) localeResolver; Cookie cookie = WebUtils.getCookie(request, cookieLocaleResolver.getCookieName()); if (cookie == null) { cookieLocaleResolver.setLocale(request, response, localeResolver.resolveLocale(request)); } return true; }
/** * 根据当前request对象中的locale(Header的Accept属性)初始化系统国际化语言区域环境 * * @param request 当前请求对象 * @param response 当前响应对象 */ public static void setInitLocale(final HttpServletRequest request, final HttpServletResponse response) { final Locale locale = request.getLocale(); log.info("Init locale from user request,country:{},lang:{}", locale.getCountry(), locale.toLanguageTag()); if (localeResolver instanceof CookieLocaleResolver) { final CookieLocaleResolver cookieLocaleResolver = (CookieLocaleResolver)localeResolver; final Cookie cookie = WebUtils.getCookie(request, cookieLocaleResolver.getCookieName()); if (cookie == null) { setLocale(locale.toLanguageTag(), request, response); } } if (localeResolver instanceof SessionLocaleResolver) { final Locale sessionLocale = (Locale)WebUtils.getRequiredSessionAttribute( request, SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME); if (sessionLocale == null) { setLocale(locale.toLanguageTag(), request, response); } } }
@Bean public CookieLocaleResolver localeResolver() { return new CookieLocaleResolver() { @Override protected Locale determineDefaultLocale(final HttpServletRequest request) { final Locale locale = request.getLocale(); if (StringUtils.isEmpty(casProperties.getMgmt().getDefaultLocale()) || !locale.getLanguage().equals(casProperties.getMgmt().getDefaultLocale())) { return locale; } return new Locale(casProperties.getMgmt().getDefaultLocale()); } }; }
@Bean public CookieLocaleResolver localeResolver() { final CookieLocaleResolver bean = new CookieLocaleResolver() { @Override protected Locale determineDefaultLocale(final HttpServletRequest request) { final Locale locale = request.getLocale(); if (StringUtils.isBlank(casProperties.getLocale().getDefaultValue()) || !locale.getLanguage().equals(casProperties.getLocale().getDefaultValue())) { return locale; } return new Locale(casProperties.getLocale().getDefaultValue()); } }; return bean; }
@Bean public LocaleResolver localeResolver() { CookieLocaleResolver resolver = new CookieLocaleResolver(); resolver.setDefaultLocale(new Locale("en")); resolver.setCookieName("SPRING_LOCALE"); resolver.setCookieMaxAge(4800); return resolver; }
@Bean(name = "localeResolver") public LocaleResolver localeResolver() { CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); cookieLocaleResolver.setCookieMaxAge(Integer.MAX_VALUE); // The default is taken from the request header // cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH); return cookieLocaleResolver; }
@Bean public LocaleResolver localeResolver() { // Options: SessionLocaleResolver, AcceptHeaderLocaleResolver, FixedLocaleResolver CookieLocaleResolver lr = new CookieLocaleResolver(); lr.setCookieName("LOCALE"); // if not set, default `org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE` return lr; }
@Bean public LocaleResolver localeResolver(){ CookieLocaleResolver resolver = new CookieLocaleResolver(); resolver.setDefaultLocale(new Locale("en")); resolver.setCookieName("myLocaleCookie"); resolver.setCookieMaxAge(4800); return resolver; }
@Before public void setup() { CookieLocaleResolver localeResolver = new CookieLocaleResolver(); localeResolver.setCookieDomain("domain"); this.mockMvc = standaloneSetup(new SimpleController()) .addInterceptors(new LocaleChangeInterceptor()) .setLocaleResolver(localeResolver) .defaultRequest(get("/").param("locale", "en_US")) .alwaysExpect(status().isOk()) .build(); }
/** * Creates new LocaleResolver. * * @return Created LocalResolver. */ @Bean public LocaleResolver localeResolver() { CookieLocaleResolver lr = new CookieLocaleResolver(); lr.setCookieName("lang"); lr.setDefaultLocale(locale); return lr; }
@Bean public LocaleResolver localeResolver() { CookieLocaleResolver resolver = new CookieLocaleResolver(); resolver.setDefaultLocale(new Locale("en")); resolver.setCookieName("bgLoginLocaleCookie"); resolver.setCookieMaxAge(4800); return resolver; }
/** * Creates a locale resolver. This is used to identify which language is currently configured to be used * for a user * @return A new cookie locale resolver */ @Bean public LocaleResolver localeResolver() { final CookieLocaleResolver ret = new CookieLocaleResolver(); ret.setDefaultLocale(new Locale("en")); return ret; }
@Bean public LocaleResolver localeResolver() { final CookieLocaleResolver rv = new CookieLocaleResolver(); rv.setDefaultLocale(Locale.ENGLISH); rv.setDefaultTimeZone(TimeZone.getTimeZone("Europe/Berlin")); rv.setLanguageTagCompliant(true); rv.setCookieMaxAge((int) Duration.ofDays(365).getSeconds()); return rv; }
@Bean public CookieLocaleResolver localeResolver() { CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); cookieLocaleResolver.setCookieName(LOCALE_PARAM_NAME); cookieLocaleResolver.setDefaultLocale(new Locale(environment.getProperty(Constants.Property.LANGUAGE_DEFAULT), environment.getProperty(Constants.Property.COUNTRY_DEFAULT))); return cookieLocaleResolver; }
@Bean(name = "localeResolver") public CookieLocaleResolver getCookieLocaleResolver() { CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); cookieLocaleResolver.setCookieName("locale"); cookieLocaleResolver.setCookieMaxAge(100000); cookieLocaleResolver.setDefaultLocale(new Locale("pt", "BR")); return cookieLocaleResolver; }
@Test public void testResolveLocale() { // Arrange AngularCookieLocaleResolver resolver = new AngularCookieLocaleResolver(); HttpServletRequest servlet = Mockito.mock(HttpServletRequest.class); when(servlet.getAttribute(CookieLocaleResolver.LOCALE_REQUEST_ATTRIBUTE_NAME)) .thenReturn(Locale.GERMAN); // Act Locale locale = resolver.resolveLocale(servlet); // Assert assertThat(locale, is(Locale.GERMAN)); }
@Test public void testResolveLocaleContext() { // Arrange AngularCookieLocaleResolver resolver = new AngularCookieLocaleResolver(); HttpServletRequest servlet = Mockito.mock(HttpServletRequest.class); when(servlet.getAttribute(CookieLocaleResolver.LOCALE_REQUEST_ATTRIBUTE_NAME)) .thenReturn(Locale.GERMAN); // Act LocaleContext locale = resolver.resolveLocaleContext(servlet); // Assert assertThat(locale.getLocale(), is(Locale.GERMAN)); }
@Test public void testResolveLocaleWithNoLocale() { // Arrange AngularCookieLocaleResolver resolver = new AngularCookieLocaleResolver(); HttpServletRequest servlet = Mockito.mock(HttpServletRequest.class); when(servlet.getAttribute(CookieLocaleResolver.LOCALE_REQUEST_ATTRIBUTE_NAME)).thenReturn(null); // Act Locale locale = resolver.resolveLocale(servlet); // Assert assertThat(locale, is(nullValue())); }
@Bean public LocaleResolver localResolver(){ CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); cookieLocaleResolver.setDefaultLocale(StringUtils.parseLocaleString("en")); return cookieLocaleResolver; }
@Bean public LocaleResolver localeResolver() { Locale.setDefault(Locale.ENGLISH); CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); cookieLocaleResolver.setCookieName("reportengine-language"); return cookieLocaleResolver; }
/** * Gets the cookie locale resolver. * * @return the cookie locale resolver */ @Bean(name = "localeResolver") public LocaleResolver getLocaleResolver() { logger.debug("Instantiated cookieLocaleResolver"); CookieLocaleResolver resolver = new CookieLocaleResolver(); resolver.setDefaultLocale(Locale.ENGLISH); return resolver; }
@Bean public CookieLocaleResolver localeResolver(){ CookieLocaleResolver b = new CookieLocaleResolver(); b.setDefaultLocale( environment.getProperty( "springfield.defaultLocale", Locale.class, Locale.KOREA ) ); return b; }
@Bean public LocaleResolver localeResolver() { CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); cookieLocaleResolver.setDefaultLocale(StringUtils.parseLocaleString("en")); return cookieLocaleResolver; }
/** * Store preferred language configuration in a cookie */ public @Bean CookieLocaleResolver localeResolver () { final CookieLocaleResolver resolver = new CookieLocaleResolver (); resolver.setCookieName ("locale"); return resolver; }
@Bean public LocaleResolver localeResolver() { return new CookieLocaleResolver(); }
@Bean public LocaleResolver localeResolver() { CookieLocaleResolver slr = new CookieLocaleResolver(); slr.setDefaultLocale(new Locale("tr")); return slr; }
@Bean // Esse é o bean que resolve o locate public LocaleResolver localeResolver() { return new CookieLocaleResolver(); }
@Bean public LocaleResolver localeResolver(){ CookieLocaleResolver resolver = new CookieLocaleResolver(); resolver.setDefaultLocale(Locale.ENGLISH); return resolver; }
@Bean public LocaleResolver localeResolver() { CookieLocaleResolver lr = new CookieLocaleResolver(); lr.setDefaultLocale(new Locale("pol")); return lr; }
@Bean public LocaleResolver localeResolver() { final CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver(); cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH); return cookieLocaleResolver; }
@Bean(name = "localeResolver") public LocaleContextResolver getLocaleContextResolver() { final CookieLocaleResolver localeResolver = new CookieLocaleResolver(); localeResolver.setDefaultLocale(Locale.ENGLISH); return localeResolver; }
@Override public Locale resolveLocale(WebRequest request) { Locale locale = null; // First check for request attribute locale = (Locale) request.getAttribute(LOCALE_VAR, WebRequest.SCOPE_REQUEST); // Second, check for a request parameter if (locale == null && BLCRequestUtils.getURLorHeaderParameter(request, LOCALE_CODE_PARAM) != null) { String localeCode = BLCRequestUtils.getURLorHeaderParameter(request, LOCALE_CODE_PARAM); locale = localeService.findLocaleByCode(localeCode); if (BLCRequestUtils.isOKtoUseSession(request)) { request.removeAttribute(BroadleafCurrencyResolverImpl.CURRENCY_VAR, WebRequest.SCOPE_GLOBAL_SESSION); } if (LOG.isTraceEnabled()) { LOG.trace("Attempt to find locale by param " + localeCode + " resulted in " + locale); } } // Third, check the session if (locale == null && BLCRequestUtils.isOKtoUseSession(request)) { locale = (Locale) request.getAttribute(LOCALE_VAR, WebRequest.SCOPE_GLOBAL_SESSION); if (LOG.isTraceEnabled()) { LOG.trace("Attempt to find locale from session resulted in " + locale); } if (locale != null) { request.setAttribute(LOCALE_PULLED_FROM_SESSION, Boolean.TRUE, WebRequest.SCOPE_REQUEST); } } // Finally, use the default if (locale == null) { locale = localeService.findDefaultLocale(); if (BLCRequestUtils.isOKtoUseSession(request)) { request.removeAttribute(BroadleafCurrencyResolverImpl.CURRENCY_VAR, WebRequest.SCOPE_GLOBAL_SESSION); } if (LOG.isTraceEnabled()) { LOG.trace("Locale set to default locale " + locale); } } // Set the default locale to override Spring's cookie resolver request.setAttribute(LOCALE_VAR, locale, WebRequest.SCOPE_REQUEST); java.util.Locale javaLocale = BroadleafRequestContext.convertLocaleToJavaLocale(locale); request.setAttribute(CookieLocaleResolver.LOCALE_REQUEST_ATTRIBUTE_NAME, javaLocale, WebRequest.SCOPE_REQUEST); if (BLCRequestUtils.isOKtoUseSession(request)) { request.setAttribute(LOCALE_VAR, locale, WebRequest.SCOPE_GLOBAL_SESSION); } return locale; }