Package ch.entwine.weblounge.common.language

Examples of ch.entwine.weblounge.common.language.Language


   *         <code>date</code>
   * @see #switchTo(Language)
   * @see #switchTo(Language, boolean)
   */
  public boolean isModifiedBefore(Date date) {
    Language currentLanguage = getLanguage();
    Date d = null;
    if (currentLanguage != null) {
      Modification c = modifications.get(currentLanguage);
      if (c != null)
        d = c.getDate();
View Full Code Here


      Node languageNode = locale.getAttributes().getNamedItem("language");
      Node originalNode = locale.getAttributes().getNamedItem("original");
      boolean original = originalNode != null && ConfigurationUtils.isTrue(originalNode.getNodeValue());
      if (languageNode == null)
        throw new IllegalStateException("Found locale without language");
      Language language = LanguageUtils.getLanguage(languageNode.getNodeValue());

      // Modifying user
      Node modifierNode = XPathHelper.select(locale, "modified/user", xpath);
      if (modifierNode == null)
        throw new IllegalStateException("Modifier cannot be null");
View Full Code Here

    // If this object does not care about language switching, we don't care either
    if (languages.size() == 0)
      return language;
   
    // Remember the current language
    Language original = currentLanguage;

    // If the language is available, then simply select it
    if (supportsLanguage(language)) {
      currentLanguage = language;
    }

    // If the language is forced but not available, then throw an exception
    else if (force) {
      throw new IllegalStateException(this + " is not localized to " + language.getLocale().getDisplayLanguage());
    }

    // The selected language is not available. Use the original language instead
    else if (behavior.equals(Original)) {
      if (getOriginalLanguage() != null)
        currentLanguage = getOriginalLanguage();
      else if (languages.size() > 0)
        throw new IllegalStateException("Language resolution failed for " + this);
    }

    // The selected language is not available. Use the default language instead
    else if (behavior.equals(Default)) {
      if (getDefaultLanguage() != null)
        currentLanguage = getDefaultLanguage();
    }

    // Check the resolution process outcome
    if (currentLanguage == null && languages.size() > 0)
      throw new IllegalStateException("Language resolution failed for " + this);

    // Notify interested parties
    if (original == null || !original.equals(currentLanguage)) {
      fireLanguageChanged(currentLanguage, language);
    }

    return currentLanguage;
  }
View Full Code Here

   */
  public static Language getLanguage(Locale locale)
      throws UnknownLanguageException {

    // Do we know this language already?
    Language language = systemLanguages.get(locale.getLanguage());
    if (language != null)
      return language;

    // Makes sure we get the locale in the right format (might be hand crafted)
    Matcher matcher = ACCEPT_LANGUAGE_HEADER.matcher(locale.getLanguage());
View Full Code Here

   * @throws UnknownLanguageException
   *           if there is no language for the given locale
   */
  public static Language getLanguage(String languageCode)
      throws UnknownLanguageException {
    Language language = systemLanguages.get(languageCode);
    if (language != null)
      return language;
    for (Locale locale : Locale.getAvailableLocales()) {
      if (locale.getLanguage().equals(languageCode)) {
        language = new LanguageImpl(new Locale(languageCode, "", ""));
View Full Code Here

    NodeList nodes = XPathHelper.selectList(configuration, tagName, xpath);
    for (int i = 0; i < nodes.getLength(); i++) {
      Node name = nodes.item(i);
      String description = XPathHelper.valueOf(name, "text()", xpath);
      String lAttrib = XPathHelper.valueOf(name, "@language", xpath);
      Language language = LanguageUtils.getLanguage(lAttrib);
      if (language == null) {
        logger.debug("Found name in unsupported language {}", lAttrib);
        continue;
      }

      // Escape?
      if (escape) {
        description = description.replaceAll("\"", "");
        description = description.replaceAll("'", "");
      }

      // Add the entry
      logger.debug("Found description {}", description);
      o.put(description, language);
      if (language.equals(defaultLanguage)) {
        o.setDefaultLanguage(defaultLanguage);
      }
    }
    return o;
  }
View Full Code Here

   */
  public static String[] getLanguageVariants(String s, Language... languages) {
    String[] result = new String[languages.length + 1];
    result[languages.length] = s;
    for (int i = 0; i < languages.length; i++) {
      Language language = languages[i];
      result[i] = getLanguageVariant(s, language);
    }
    return result;
  }
View Full Code Here

   * @param languages
   *          the languages
   * @return the original filename
   */
  public static String getBaseVersion(String s) {
    Language l = extractLanguage(s);
    if (l == null) {
      return s;
    }
    int languagePos = s.indexOf("_" + l.getIdentifier());
    String original = s.substring(0, languagePos);
    if (s.length() > languagePos + 3) {
      String suffix = s.substring(languagePos + 3);
      original += suffix;
    }
View Full Code Here

  public static Language extractLanguage(String s) {
    int languagePosition = s.lastIndexOf("_");
    if ((languagePosition < 0) || (languagePosition + 1 > s.length()))
      return null;

    Language l = null;
    String languageId = s.substring(languagePosition + 1, languagePosition + 3);
    l = getLanguage(languageId);
    return l;
  }
View Full Code Here

      HttpServletRequest request) {
    if (request.getHeader("Accept-Language") != null) {
      Enumeration<?> locales = request.getLocales();
      while (locales.hasMoreElements()) {
        try {
          Language l = getLanguage((Locale) locales.nextElement());
          if (choices.contains(l))
            return l;
        } catch (UnknownLanguageException e) {
          // never mind, some clients will send stuff like "*" as the locale
        }
View Full Code Here

TOP

Related Classes of ch.entwine.weblounge.common.language.Language

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.