All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.gwtproject.i18n.shared.GwtLocale Maven / Gradle / Ivy

/*
 * Copyright © 2018 The GWT Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.gwtproject.i18n.shared;

import java.util.List;

/**
 * Class representing GWT locales and conversion to/from other formats.
 *
 * 

These locales correspond to BCP47. */ public interface GwtLocale extends Comparable { String DEFAULT_LOCALE = "default"; /** The default comparison is a lexical ordering. */ int compareTo(GwtLocale o); /** * Returns the list of aliases for this locale. The canonical form of the current locale is always * first on the list. * *

Language/region codes have changed over time, so some systems continue to use the older * codes. Aliases allow GWT to use the official Unicode CLDR locales while still interoperating * with such systems. * * @return alias list */ List getAliases(); /** * Returns the locale as a fixed-format string suitable for use in searching for localized * resources. The format is language_Script_REGION_VARIANT, where language is a 2-8 letter code * (possibly with 3-letter extensions), script is a 4-letter code with an initial capital letter, * region is a 2-character country code or a 3-digit region code, and variant is a 5-8 character * (may be 4 if the first character is numeric) code. If a component is missing, its preceding _ * is also omitted. If this is the default locale, the empty string will be returned. * * @return String representing locale */ String getAsString(); /** * Returns this locale in canonical form. * *

    *
  • Deprecated language/region tags are replaced with official versions *
  • Default scripts are removed (including region-specific defaults for Chinese) *
  • no/nb/nn are normalized *
  • Default region for zh_Hans and zh_Hant if none specified *
* * @return GwtLocale instance */ GwtLocale getCanonicalForm(); /** * Returns the complete list of locales to search for the current locale. This list will always * start with the canonical form of this locale, and end with "default", and include all * appropriate aliases along the way. * * @return search list */ List getCompleteSearchList(); /** * Returns a list of locales to search for, in order of preference. The current locale is always * first on the list. Aliases are not included in the list -- use {@link #getAliases} to expand * those. * * @return inheritance list */ List getInheritanceChain(); /** Returns the language portion of the locale, or null if none. */ String getLanguage(); /** Returns the language portion of the locale, or the empty string if none. */ String getLanguageNotNull(); /** Returns the region portion of the locale, or null if none. */ String getRegion(); /** Returns the region portion of the locale, or the empty string if none. */ String getRegionNotNull(); /** Returns the script portion of the locale, or null if none. */ String getScript(); /** Returns the script portion of the locale, or the empty string if none. */ String getScriptNotNull(); /** Returns the variant portion of the locale, or null if none. */ String getVariant(); /** Returns the variant portion of the locale, or the empty string if none. */ String getVariantNotNull(); /** * Returns true if this locale inherits from the specified locale. Note that * locale.inheritsFrom(locale) is false -- if you want that to be true, you should just use * locale.getInheritanceChain().contains(x). * * @param parent locale to test against * @return true if parent is an ancestor of this locale */ boolean inheritsFrom(GwtLocale parent); /** Returns true if this is the default or root locale. */ boolean isDefault(); /** Returns a human readable string -- "default" or the same as getAsString(). */ String toString(); /** * Checks if this locale uses the same script as another locale. * * @param other * @return true if the scripts are the same */ boolean usesSameScript(GwtLocale other); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy