/** * @see Languages#getLanguageOrDefault(String) */ protected final String getLanguageOrDefault(String language) { return languages.getLanguageOrDefault(language); }
/** * @see Languages#getLocaleOrDefault(String) */ protected final Locale getLocaleOrDefault(String language) { return languages.getLocaleOrDefault(language); }
/** * Returns true if the exact language is a registered language in this * application. * <p> * For example, this application may have a Portuguese translation * (messages_pt.properties) but not a Brazilian Portuguese translation * (messages_pt-BR.properties). In this case, pt-BR is not a registered * language, though it may be a supported language by the 'pt' language * component. * </p> * * @param language * @return true if the language is registered */ public boolean isRegisteredLanguage(String language) { String lang = getLanguageOrDefault(language); return getRegisteredLanguages().contains(lang); }
public Languages(PippoSettings pippoSettings) { this.pippoSettings = pippoSettings; this.applicationCookiePrefix = pippoSettings.getString( PippoConstants.SETTING_APPLICATION_COOKIE_PREFIX, "PIPPO"); // build a lookup of supported languages this.languageLookup = new ConcurrentHashMap<>(); List<String> languages = pippoSettings .getStrings(PippoConstants.SETTING_APPLICATION_LANGUAGES); for (String language : languages) { String lang = language.toLowerCase(); String langComponent = getLanguageComponent(lang); languageLookup.put(lang, language); languageLookup.put(langComponent, language); } this.defaultLanguage = getDefaultLanguage(languages); log.info("Using '{}' as default language.", defaultLanguage); }
@Override public void handle(Context context) { String language = enableQueryParameter ? context.getParameter(Parameter.LANG).toString() : null; if (Strings.isNullOrEmpty(language)) { language = languages.getLanguageOrDefault(context); } Locale locale = languages.getLocaleOrDefault(language); context.setLocal(Parameter.LANG, language); context.setLocal(Parameter.LOCALE, locale); context.setLocal(Parameter.LANGUAGES, languages.getRegisteredLanguages()); if (setCookie) { if (context.getResponse().isCommitted()) { log.debug("LANG cookie NOT set, Response already committed!"); } else { languages.setLanguageCookie(language, context); } } context.next(); }
private VelocityContext createVelocityContext(Map<String, Object> model) { // prepare the locale-aware i18n method String language = (String) model.get(PippoConstants.REQUEST_PARAMETER_LANG); if (StringUtils.isNullOrEmpty(language)) { language = languages.getLanguageOrDefault(language); } // prepare the locale-aware prettyTime method Locale locale = (Locale) model.get(PippoConstants.REQUEST_PARAMETER_LOCALE); if (locale == null) { locale = languages.getLocaleOrDefault(language); } VelocityContext context = new VelocityContext(model); context.put("pippo", new PippoHelper(messages, language, locale, router)); context.put("contextPath", router.getContextPath()); context.put("appPath", router.getApplicationPath()); return context; }
@Override public void handle(RouteContext routeContext) { String language = enableQueryParameter ? routeContext.getParameter(PippoConstants.REQUEST_PARAMETER_LANG).toString() : null; if (StringUtils.isNullOrEmpty(language)) { language = languages.getLanguageOrDefault(routeContext); } Locale locale = languages.getLocaleOrDefault(language); routeContext.setLocal(PippoConstants.REQUEST_PARAMETER_LANG, language); routeContext.setLocal(PippoConstants.REQUEST_PARAMETER_LOCALE, locale); if (setCookie) { if (routeContext.getResponse().isCommitted()) { log.debug("LANG cookie NOT set, Response already committed!"); } else { languages.setLanguageCookie(language, routeContext); } } routeContext.next(); }
/** * Sets the application language cookie. * <p> * If the language does not match a registered language or language * component an exception is thrown. * </p> * * @param language * @param routeContext * @throws PippoRuntimeException */ public void setLanguageCookie(String language, RouteContext routeContext) { String lang = getLanguageOrDefault(language); if (lang.equals(language)) { Cookie cookie = generateLanguageCookie(language); routeContext.getResponse().cookie(cookie); } else { throw new PippoRuntimeException("'{}' is not a registered language!", language); } }
String supportedLanguage = languages.getLanguageOrDefault(language); if (StringUtils.isNullOrEmpty(supportedLanguage)) { log.debug("Messages for '{}' were requested. Using default messages.", language); String langComponent = languages.getLanguageComponent(supportedLanguage);
List<String> registeredLanguages = languages.getRegisteredLanguages(); for (String language : registeredLanguages) { String langComponent = languages.getLanguageComponent(language); if (!langComponent.equals(language)) {
public Application(PippoSettings settings) { this.pippoSettings = settings; this.languages = new Languages(settings); this.messages = new Messages(languages); this.mimeTypes = new MimeTypes(settings); this.httpCacheToolkit = new HttpCacheToolkit(settings); this.engines = new ContentTypeEngines(); this.initializers = new ArrayList<>(); this.webSocketRouter = new WebSocketRouter(); registerContentTypeEngine(TextPlainEngine.class); }
/** * Clears the application language cookie. * * @param response */ public void clearLanguageCookie(Response response) { String cookieName = generateLanguageCookie("").getName(); response.removeCookie(cookieName); }
@Override public void handle(Context context) { String language = enableQueryParameter ? context.getParameter(Parameter.LANG).toString() : null; if (Strings.isNullOrEmpty(language)) { language = languages.getLanguageOrDefault(context); } Locale locale = languages.getLocaleOrDefault(language); context.setLocal(Parameter.LANG, language); context.setLocal(Parameter.LOCALE, locale); context.setLocal(Parameter.LANGUAGES, languages.getRegisteredLanguages()); if (setCookie) { if (context.getResponse().isCommitted()) { log.debug("LANG cookie NOT set, Response already committed!"); } else { languages.setLanguageCookie(language, context); } } context.next(); }
@SuppressWarnings("unchecked") public void setup(Languages languages, Messages messages, Router router) { this.languages = languages; this.messages = messages; this.router = router; // set global template variables getModel().put("contextPath", router.getContextPath()); getModel().put("appPath", router.getApplicationPath()); String language = (String) getModel().get(PippoConstants.REQUEST_PARAMETER_LANG); if (StringUtils.isNullOrEmpty(language)) { language = languages.getLanguageOrDefault(language); } this.language = language; // prepare the locale Locale locale = (Locale) getModel().get(PippoConstants.REQUEST_PARAMETER_LOCALE); if (locale == null) { locale = languages.getLocaleOrDefault(language); } this.locale = locale; }
final String cookieName = generateLanguageCookie(defaultLanguage).getName(); return getLanguageOrDefault(cookie.getValue()); return getLanguageOrDefault(cookie.getValue()); language = getLanguageOrDefault(language); return language; return getLanguageOrDefault(acceptLanguage);
Languages languages = new Languages();
private VelocityContext createVelocityContext(Map<String, Object> model) { // prepare the locale-aware i18n method String language = (String) model.get(PippoConstants.REQUEST_PARAMETER_LANG); if (StringUtils.isNullOrEmpty(language)) { language = languages.getLanguageOrDefault(language); } // prepare the locale-aware prettyTime method Locale locale = (Locale) model.get(PippoConstants.REQUEST_PARAMETER_LOCALE); if (locale == null) { locale = languages.getLocaleOrDefault(language); } VelocityContext context = new VelocityContext(model); context.put("pippo", new PippoHelper(messages, language, locale, router)); context.put("contextPath", router.getContextPath()); context.put("appPath", router.getApplicationPath()); return context; }
/** * @see Languages#getLanguageOrDefault(RouteContext) */ protected final String getLanguageOrDefault(RouteContext routeContext) { return languages.getLanguageOrDefault(routeContext); }
/** * @see Languages#getLocaleOrDefault(RouteContext) */ protected final Locale getLocaleOrDefault(RouteContext routeContext) { return languages.getLocaleOrDefault(routeContext); }
Languages listLanguages=new Languages(); AudioService audioService = new AudioService(); btautoconnect bluetoothAutoConnection=new btautoconnect();