123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307 |
- // © 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 __ULDNAMES_H__
- #define __ULDNAMES_H__
- /**
- * \file
- * \brief C API: Provides display names of Locale ids and their components.
- */
- #include "unicode/utypes.h"
- #include "unicode/uscript.h"
- #include "unicode/udisplaycontext.h"
- #if U_SHOW_CPLUSPLUS_API
- #include "unicode/localpointer.h"
- #endif // U_SHOW_CPLUSPLUS_API
- /**
- * Enum used in LocaleDisplayNames::createInstance.
- * @stable ICU 4.4
- */
- typedef enum {
- /**
- * Use standard names when generating a locale name,
- * e.g. en_GB displays as 'English (United Kingdom)'.
- * @stable ICU 4.4
- */
- ULDN_STANDARD_NAMES = 0,
- /**
- * Use dialect names, when generating a locale name,
- * e.g. en_GB displays as 'British English'.
- * @stable ICU 4.4
- */
- ULDN_DIALECT_NAMES
- } UDialectHandling;
- /**
- * Opaque C service object type for the locale display names API
- * @stable ICU 4.4
- */
- struct ULocaleDisplayNames;
- /**
- * C typedef for struct ULocaleDisplayNames.
- * @stable ICU 4.4
- */
- typedef struct ULocaleDisplayNames ULocaleDisplayNames;
- #if !UCONFIG_NO_FORMATTING
- /**
- * Returns an instance of LocaleDisplayNames that returns names
- * formatted for the provided locale, using the provided
- * dialectHandling. The usual value for dialectHandling is
- * ULOC_STANDARD_NAMES.
- *
- * @param locale the display locale
- * @param dialectHandling how to select names for locales
- * @return a ULocaleDisplayNames instance
- * @param pErrorCode the status code
- * @stable ICU 4.4
- */
- U_CAPI ULocaleDisplayNames * U_EXPORT2
- uldn_open(const char * locale,
- UDialectHandling dialectHandling,
- UErrorCode *pErrorCode);
- /**
- * Closes a ULocaleDisplayNames instance obtained from uldn_open().
- * @param ldn the ULocaleDisplayNames instance to be closed
- * @stable ICU 4.4
- */
- U_CAPI void U_EXPORT2
- uldn_close(ULocaleDisplayNames *ldn);
- #if U_SHOW_CPLUSPLUS_API
- U_NAMESPACE_BEGIN
- /**
- * \class LocalULocaleDisplayNamesPointer
- * "Smart pointer" class, closes a ULocaleDisplayNames via uldn_close().
- * For most methods see the LocalPointerBase base class.
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @stable ICU 4.4
- */
- U_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDisplayNamesPointer, ULocaleDisplayNames, uldn_close);
- U_NAMESPACE_END
- #endif
- /* getters for state */
- /**
- * Returns the locale used to determine the display names. This is
- * not necessarily the same locale passed to {@link #uldn_open}.
- * @param ldn the LocaleDisplayNames instance
- * @return the display locale
- * @stable ICU 4.4
- */
- U_CAPI const char * U_EXPORT2
- uldn_getLocale(const ULocaleDisplayNames *ldn);
- /**
- * Returns the dialect handling used in the display names.
- * @param ldn the LocaleDisplayNames instance
- * @return the dialect handling enum
- * @stable ICU 4.4
- */
- U_CAPI UDialectHandling U_EXPORT2
- uldn_getDialectHandling(const ULocaleDisplayNames *ldn);
- /* names for entire locales */
- /**
- * Returns the display name of the provided locale.
- * @param ldn the LocaleDisplayNames instance
- * @param locale the locale whose display name to return
- * @param result receives the display name
- * @param maxResultSize the size of the result buffer
- * @param pErrorCode the status code
- * @return the actual buffer size needed for the display name. If it's
- * greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
- */
- U_CAPI int32_t U_EXPORT2
- uldn_localeDisplayName(const ULocaleDisplayNames *ldn,
- const char *locale,
- UChar *result,
- int32_t maxResultSize,
- UErrorCode *pErrorCode);
- /* names for components of a locale */
- /**
- * Returns the display name of the provided language code.
- * @param ldn the LocaleDisplayNames instance
- * @param lang the language code whose display name to return
- * @param result receives the display name
- * @param maxResultSize the size of the result buffer
- * @param pErrorCode the status code
- * @return the actual buffer size needed for the display name. If it's
- * greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
- */
- U_CAPI int32_t U_EXPORT2
- uldn_languageDisplayName(const ULocaleDisplayNames *ldn,
- const char *lang,
- UChar *result,
- int32_t maxResultSize,
- UErrorCode *pErrorCode);
- /**
- * Returns the display name of the provided script.
- * @param ldn the LocaleDisplayNames instance
- * @param script the script whose display name to return
- * @param result receives the display name
- * @param maxResultSize the size of the result buffer
- * @param pErrorCode the status code
- * @return the actual buffer size needed for the display name. If it's
- * greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
- */
- U_CAPI int32_t U_EXPORT2
- uldn_scriptDisplayName(const ULocaleDisplayNames *ldn,
- const char *script,
- UChar *result,
- int32_t maxResultSize,
- UErrorCode *pErrorCode);
- /**
- * Returns the display name of the provided script code.
- * @param ldn the LocaleDisplayNames instance
- * @param scriptCode the script code whose display name to return
- * @param result receives the display name
- * @param maxResultSize the size of the result buffer
- * @param pErrorCode the status code
- * @return the actual buffer size needed for the display name. If it's
- * greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
- */
- U_CAPI int32_t U_EXPORT2
- uldn_scriptCodeDisplayName(const ULocaleDisplayNames *ldn,
- UScriptCode scriptCode,
- UChar *result,
- int32_t maxResultSize,
- UErrorCode *pErrorCode);
- /**
- * Returns the display name of the provided region code.
- * @param ldn the LocaleDisplayNames instance
- * @param region the region code whose display name to return
- * @param result receives the display name
- * @param maxResultSize the size of the result buffer
- * @param pErrorCode the status code
- * @return the actual buffer size needed for the display name. If it's
- * greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
- */
- U_CAPI int32_t U_EXPORT2
- uldn_regionDisplayName(const ULocaleDisplayNames *ldn,
- const char *region,
- UChar *result,
- int32_t maxResultSize,
- UErrorCode *pErrorCode);
- /**
- * Returns the display name of the provided variant
- * @param ldn the LocaleDisplayNames instance
- * @param variant the variant whose display name to return
- * @param result receives the display name
- * @param maxResultSize the size of the result buffer
- * @param pErrorCode the status code
- * @return the actual buffer size needed for the display name. If it's
- * greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
- */
- U_CAPI int32_t U_EXPORT2
- uldn_variantDisplayName(const ULocaleDisplayNames *ldn,
- const char *variant,
- UChar *result,
- int32_t maxResultSize,
- UErrorCode *pErrorCode);
- /**
- * Returns the display name of the provided locale key
- * @param ldn the LocaleDisplayNames instance
- * @param key the locale key whose display name to return
- * @param result receives the display name
- * @param maxResultSize the size of the result buffer
- * @param pErrorCode the status code
- * @return the actual buffer size needed for the display name. If it's
- * greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
- */
- U_CAPI int32_t U_EXPORT2
- uldn_keyDisplayName(const ULocaleDisplayNames *ldn,
- const char *key,
- UChar *result,
- int32_t maxResultSize,
- UErrorCode *pErrorCode);
- /**
- * Returns the display name of the provided value (used with the provided key).
- * @param ldn the LocaleDisplayNames instance
- * @param key the locale key
- * @param value the locale key's value
- * @param result receives the display name
- * @param maxResultSize the size of the result buffer
- * @param pErrorCode the status code
- * @return the actual buffer size needed for the display name. If it's
- * greater than maxResultSize, the returned name will be truncated.
- * @stable ICU 4.4
- */
- U_CAPI int32_t U_EXPORT2
- uldn_keyValueDisplayName(const ULocaleDisplayNames *ldn,
- const char *key,
- const char *value,
- UChar *result,
- int32_t maxResultSize,
- UErrorCode *pErrorCode);
- /**
- * 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
- * @param pErrorCode Pointer to UErrorCode input/output status. If at entry this indicates
- * a failure status, the function will do nothing; otherwise this will be
- * updated with any new status from the function.
- * @return a ULocaleDisplayNames instance
- * @stable ICU 51
- */
- U_CAPI ULocaleDisplayNames * U_EXPORT2
- uldn_openForContext(const char * locale, UDisplayContext *contexts,
- int32_t length, UErrorCode *pErrorCode);
- /**
- * Returns the UDisplayContext value for the specified UDisplayContextType.
- * @param ldn the ULocaleDisplayNames instance
- * @param type the UDisplayContextType whose value to return
- * @param pErrorCode Pointer to UErrorCode input/output status. If at entry this indicates
- * a failure status, the function will do nothing; otherwise this will be
- * updated with any new status from the function.
- * @return the UDisplayContextValue for the specified type.
- * @stable ICU 51
- */
- U_CAPI UDisplayContext U_EXPORT2
- uldn_getContext(const ULocaleDisplayNames *ldn, UDisplayContextType type,
- UErrorCode *pErrorCode);
- #endif /* !UCONFIG_NO_FORMATTING */
- #endif /* __ULDNAMES_H__ */
|