123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- // © 2016 and later: Unicode, Inc. and others.
- // License & terms of use: http://www.unicode.org/copyright.html
- /*
- ******************************************************************************
- * Copyright (C) 2010-2016, International Business Machines Corporation and
- * others. All Rights Reserved.
- ******************************************************************************
- */
- #ifndef LOCDSPNM_H
- #define LOCDSPNM_H
- #include "unicode/utypes.h"
- #if U_SHOW_CPLUSPLUS_API
- /**
- * \file
- * \brief C++ API: Provides display names of Locale and its components.
- */
- #if !UCONFIG_NO_FORMATTING
- #include "unicode/locid.h"
- #include "unicode/strenum.h"
- #include "unicode/uscript.h"
- #include "unicode/uldnames.h"
- #include "unicode/udisplaycontext.h"
- U_NAMESPACE_BEGIN
- /**
- * Returns display names of Locales and components of Locales. For
- * more information on language, script, region, variant, key, and
- * values, see Locale.
- * @stable ICU 4.4
- */
- class U_COMMON_API LocaleDisplayNames : public UObject {
- public:
- /**
- * Destructor.
- * @stable ICU 4.4
- */
- virtual ~LocaleDisplayNames();
- /**
- * Convenience overload of
- * {@link #createInstance(const Locale& locale, UDialectHandling dialectHandling)}
- * that specifies STANDARD dialect handling.
- * @param locale the display locale
- * @return a LocaleDisplayNames instance
- * @stable ICU 4.4
- */
- inline static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale);
- /**
- * Returns an instance of LocaleDisplayNames that returns names
- * formatted for the provided locale, using the provided
- * dialectHandling.
- *
- * @param locale the display locale
- * @param dialectHandling how to select names for locales
- * @return a LocaleDisplayNames instance
- * @stable ICU 4.4
- */
- static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
- UDialectHandling dialectHandling);
- /**
- * Returns an instance of LocaleDisplayNames that returns names formatted
- * for the provided locale, using the provided UDisplayContext settings.
- *
- * @param locale the display locale
- * @param contexts List of one or more context settings (e.g. for dialect
- * handling, capitalization, etc.
- * @param length Number of items in the contexts list
- * @return a LocaleDisplayNames instance
- * @stable ICU 51
- */
- static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
- UDisplayContext *contexts, int32_t length);
- // getters for state
- /**
- * Returns the locale used to determine the display names. This is
- * not necessarily the same locale passed to {@link #createInstance}.
- * @return the display locale
- * @stable ICU 4.4
- */
- virtual const Locale& getLocale() const = 0;
- /**
- * Returns the dialect handling used in the display names.
- * @return the dialect handling enum
- * @stable ICU 4.4
- */
- virtual UDialectHandling getDialectHandling() const = 0;
- /**
- * Returns the UDisplayContext value for the specified UDisplayContextType.
- * @param type the UDisplayContextType whose value to return
- * @return the UDisplayContext for the specified type.
- * @stable ICU 51
- */
- virtual UDisplayContext getContext(UDisplayContextType type) const = 0;
- // names for entire locales
- /**
- * Returns the display name of the provided locale.
- * @param locale the locale whose display name to return
- * @param result receives the locale's display name
- * @return the display name of the provided locale
- * @stable ICU 4.4
- */
- virtual UnicodeString& localeDisplayName(const Locale& locale,
- UnicodeString& result) const = 0;
- /**
- * Returns the display name of the provided locale id.
- * @param localeId the id of the locale whose display name to return
- * @param result receives the locale's display name
- * @return the display name of the provided locale
- * @stable ICU 4.4
- */
- virtual UnicodeString& localeDisplayName(const char* localeId,
- UnicodeString& result) const = 0;
- // names for components of a locale id
- /**
- * Returns the display name of the provided language code.
- * @param lang the language code
- * @param result receives the language code's display name
- * @return the display name of the provided language code
- * @stable ICU 4.4
- */
- virtual UnicodeString& languageDisplayName(const char* lang,
- UnicodeString& result) const = 0;
- /**
- * Returns the display name of the provided script code.
- * @param script the script code
- * @param result receives the script code's display name
- * @return the display name of the provided script code
- * @stable ICU 4.4
- */
- virtual UnicodeString& scriptDisplayName(const char* script,
- UnicodeString& result) const = 0;
- /**
- * Returns the display name of the provided script code.
- * @param scriptCode the script code number
- * @param result receives the script code's display name
- * @return the display name of the provided script code
- * @stable ICU 4.4
- */
- virtual UnicodeString& scriptDisplayName(UScriptCode scriptCode,
- UnicodeString& result) const = 0;
- /**
- * Returns the display name of the provided region code.
- * @param region the region code
- * @param result receives the region code's display name
- * @return the display name of the provided region code
- * @stable ICU 4.4
- */
- virtual UnicodeString& regionDisplayName(const char* region,
- UnicodeString& result) const = 0;
- /**
- * Returns the display name of the provided variant.
- * @param variant the variant string
- * @param result receives the variant's display name
- * @return the display name of the provided variant
- * @stable ICU 4.4
- */
- virtual UnicodeString& variantDisplayName(const char* variant,
- UnicodeString& result) const = 0;
- /**
- * Returns the display name of the provided locale key.
- * @param key the locale key name
- * @param result receives the locale key's display name
- * @return the display name of the provided locale key
- * @stable ICU 4.4
- */
- virtual UnicodeString& keyDisplayName(const char* key,
- UnicodeString& result) const = 0;
- /**
- * Returns the display name of the provided value (used with the provided key).
- * @param key the locale key name
- * @param value the locale key's value
- * @param result receives the value's display name
- * @return the display name of the provided value
- * @stable ICU 4.4
- */
- virtual UnicodeString& keyValueDisplayName(const char* key, const char* value,
- UnicodeString& result) const = 0;
- };
- inline LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale& locale) {
- return LocaleDisplayNames::createInstance(locale, ULDN_STANDARD_NAMES);
- }
- U_NAMESPACE_END
- #endif
- #endif /* U_SHOW_CPLUSPLUS_API */
- #endif
|