150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* 250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho******************************************************************************* 354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* Copyright (C) 2010-2012, International Business Machines Corporation and * 450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* others. All Rights Reserved. * 550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho******************************************************************************* 650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho*/ 750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#ifndef __ULDNAMES_H__ 950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#define __ULDNAMES_H__ 1050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 1150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 1250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * \file 1354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius * \brief C API: Provides display names of Locale ids and their components. 1450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 1550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 1650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "unicode/utypes.h" 1750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "unicode/localpointer.h" 1850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "unicode/uscript.h" 1954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#include "unicode/udisplaycontext.h" 2050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 2150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 2250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Enum used in LocaleDisplayNames::createInstance. 2327f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 2450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 2550294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef enum { 2650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho /** 2750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Use standard names when generating a locale name, 2850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * e.g. en_GB displays as 'English (United Kingdom)'. 2927f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 3050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 3150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho ULDN_STANDARD_NAMES = 0, 3250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho /** 3350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Use dialect names, when generating a locale name, 3450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * e.g. en_GB displays as 'British English'. 3527f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 3650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 3750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho ULDN_DIALECT_NAMES 3850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} UDialectHandling; 3950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 4050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 4150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Opaque C service object type for the locale display names API 4227f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 4350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 4450294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehostruct ULocaleDisplayNames; 4550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 4650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 4750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * C typedef for struct ULocaleDisplayNames. 4827f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 4950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 5050294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehotypedef struct ULocaleDisplayNames ULocaleDisplayNames; 5150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if !UCONFIG_NO_FORMATTING 5350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 5550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns an instance of LocaleDisplayNames that returns names 5650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * formatted for the provided locale, using the provided 5750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * dialectHandling. The usual value for dialectHandling is 5850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * ULOC_STANDARD_NAMES. 5950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * 6050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param locale the display locale 6150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param dialectHandling how to select names for locales 6250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return a ULocaleDisplayNames instance 6350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param pErrorCode the status code 6427f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 6550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 6627f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE ULocaleDisplayNames * U_EXPORT2 6750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_open(const char * locale, 6850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UDialectHandling dialectHandling, 6950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 7050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 7150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 7250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Closes a ULocaleDisplayNames instance obtained from uldn_open(). 7350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the ULocaleDisplayNames instance to be closed 7427f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 7550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 7627f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE void U_EXPORT2 7750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_close(ULocaleDisplayNames *ldn); 7850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 7950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#if U_SHOW_CPLUSPLUS_API 8050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 8150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_NAMESPACE_BEGIN 8250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 8350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 8450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * \class LocalULocaleDisplayNamesPointer 8550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * "Smart pointer" class, closes a ULocaleDisplayNames via uldn_close(). 8650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * For most methods see the LocalPointerBase base class. 8750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * 8850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @see LocalPointerBase 8950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @see LocalPointer 9027f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 9150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 9250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDisplayNamesPointer, ULocaleDisplayNames, uldn_close); 9350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 9450294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_NAMESPACE_END 9550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 9650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif 9750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 9850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* getters for state */ 9950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 10050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 10150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the locale used to determine the display names. This is 10250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * not necessarily the same locale passed to {@link #uldn_open}. 10350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 10450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the display locale 10527f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 10650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 10727f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE const char * U_EXPORT2 10850294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_getLocale(const ULocaleDisplayNames *ldn); 10950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 11050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 11150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the dialect handling used in the display names. 11250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 11350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the dialect handling enum 11427f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 11550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 11627f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE UDialectHandling U_EXPORT2 11750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_getDialectHandling(const ULocaleDisplayNames *ldn); 11850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 11950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* names for entire locales */ 12050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 12150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 12250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the display name of the provided locale. 12350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 12450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param locale the locale whose display name to return 12550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param result receives the display name 12650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param maxResultSize the size of the result buffer 12750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param pErrorCode the status code 12850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the actual buffer size needed for the display name. If it's 12950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * greater than maxResultSize, the returned name will be truncated. 13027f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 13150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 13227f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE int32_t U_EXPORT2 13350294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_localeDisplayName(const ULocaleDisplayNames *ldn, 13450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *locale, 13550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UChar *result, 13650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho int32_t maxResultSize, 13750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 13850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 13950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* names for components of a locale */ 14050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 14150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 14250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the display name of the provided language code. 14350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 14450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param lang the language code whose display name to return 14550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param result receives the display name 14650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param maxResultSize the size of the result buffer 14750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param pErrorCode the status code 14850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the actual buffer size needed for the display name. If it's 14950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * greater than maxResultSize, the returned name will be truncated. 15027f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 15150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 15227f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE int32_t U_EXPORT2 15350294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_languageDisplayName(const ULocaleDisplayNames *ldn, 15450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *lang, 15550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UChar *result, 15650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho int32_t maxResultSize, 15750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 15850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 15950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 16050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the display name of the provided script. 16150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 16250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param script the script whose display name to return 16350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param result receives the display name 16450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param maxResultSize the size of the result buffer 16550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param pErrorCode the status code 16650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the actual buffer size needed for the display name. If it's 16750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * greater than maxResultSize, the returned name will be truncated. 16827f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 16950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 17027f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE int32_t U_EXPORT2 17150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_scriptDisplayName(const ULocaleDisplayNames *ldn, 17250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *script, 17350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UChar *result, 17450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho int32_t maxResultSize, 17550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 17650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 17750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 17850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the display name of the provided script code. 17950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 18050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param scriptCode the script code whose display name to return 18150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param result receives the display name 18250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param maxResultSize the size of the result buffer 18350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param pErrorCode the status code 18450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the actual buffer size needed for the display name. If it's 18550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * greater than maxResultSize, the returned name will be truncated. 18627f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 18750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 18827f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE int32_t U_EXPORT2 18950294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_scriptCodeDisplayName(const ULocaleDisplayNames *ldn, 19050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UScriptCode scriptCode, 19150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UChar *result, 19250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho int32_t maxResultSize, 19350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 19450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 19550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 19650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the display name of the provided region code. 19750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 19850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param region the region code whose display name to return 19950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param result receives the display name 20050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param maxResultSize the size of the result buffer 20150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param pErrorCode the status code 20250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the actual buffer size needed for the display name. If it's 20350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * greater than maxResultSize, the returned name will be truncated. 20427f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 20550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 20627f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE int32_t U_EXPORT2 20750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_regionDisplayName(const ULocaleDisplayNames *ldn, 20850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *region, 20950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UChar *result, 21050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho int32_t maxResultSize, 21150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 21250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 21350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 21450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the display name of the provided variant 21550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 21650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param variant the variant whose display name to return 21750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param result receives the display name 21850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param maxResultSize the size of the result buffer 21950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param pErrorCode the status code 22050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the actual buffer size needed for the display name. If it's 22150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * greater than maxResultSize, the returned name will be truncated. 22227f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 22350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 22427f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE int32_t U_EXPORT2 22550294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_variantDisplayName(const ULocaleDisplayNames *ldn, 22650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *variant, 22750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UChar *result, 22850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho int32_t maxResultSize, 22950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 23050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 23150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 23250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the display name of the provided locale key 23350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 23450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param key the locale key whose display name to return 23550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param result receives the display name 23650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param maxResultSize the size of the result buffer 23750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param pErrorCode the status code 23850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the actual buffer size needed for the display name. If it's 23950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * greater than maxResultSize, the returned name will be truncated. 24027f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 24150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 24227f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE int32_t U_EXPORT2 24350294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_keyDisplayName(const ULocaleDisplayNames *ldn, 24450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *key, 24550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UChar *result, 24650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho int32_t maxResultSize, 24750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 24850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 24950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 25050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Returns the display name of the provided value (used with the provided key). 25150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param ldn the LocaleDisplayNames instance 25250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param key the locale key 25350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param value the locale key's value 25450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param result receives the display name 25550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param maxResultSize the size of the result buffer 25650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @param pErrorCode the status code 25750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * @return the actual buffer size needed for the display name. If it's 25850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * greater than maxResultSize, the returned name will be truncated. 25927f654740f2a26ad62a5c155af9199af9e69b889claireho * @stable ICU 4.4 26050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 26127f654740f2a26ad62a5c155af9199af9e69b889clairehoU_STABLE int32_t U_EXPORT2 26250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouldn_keyValueDisplayName(const ULocaleDisplayNames *ldn, 26350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *key, 26450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *value, 26550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UChar *result, 26650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho int32_t maxResultSize, 26750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 26850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 2698393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#ifndef U_HIDE_DRAFT_API 27054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius/** 27154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* Returns an instance of LocaleDisplayNames that returns names formatted 27254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* for the provided locale, using the provided UDisplayContext settings. 27354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* 27454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* @param locale The display locale 27554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* @param contexts List of one or more context settings (e.g. for dialect 27654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* handling, capitalization, etc. 27754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* @param length Number of items in the contexts list 27854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* @param pErrorCode Pointer to UErrorCode input/output status. If at entry this indicates 27954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* a failure status, the function will do nothing; otherwise this will be 28054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* updated with any new status from the function. 28154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* @return a ULocaleDisplayNames instance 2828393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius* @draft ICU 51 28354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius*/ 2848393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_DRAFT ULocaleDisplayNames * U_EXPORT2 28554dcd9b6a06071f647dac967e9e267abb9410720Craig Corneliusuldn_openForContext(const char * locale, UDisplayContext *contexts, 28654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius int32_t length, UErrorCode *pErrorCode); 28754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius 28854dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius/** 28954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* Returns the UDisplayContext value for the specified UDisplayContextType. 29054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* @param ldn the ULocaleDisplayNames instance 29154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* @param type the UDisplayContextType whose value to return 29254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* @param pErrorCode Pointer to UErrorCode input/output status. If at entry this indicates 29354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* a failure status, the function will do nothing; otherwise this will be 29454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* updated with any new status from the function. 29554dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius* @return the UDisplayContextValue for the specified type. 2968393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius* @draft ICU 51 29754dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius*/ 2988393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig CorneliusU_DRAFT UDisplayContext U_EXPORT2 29954dcd9b6a06071f647dac967e9e267abb9410720Craig Corneliusuldn_getContext(const ULocaleDisplayNames *ldn, UDisplayContextType type, 30054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius UErrorCode *pErrorCode); 30154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius 3028393335b955da7340c9f19b1b4b2d6c0c2c04be7Craig Cornelius#endif /* U_HIDE_DRAFT_API */ 30350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 30450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif /* !UCONFIG_NO_FORMATTING */ 30550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#endif /* __ULDNAMES_H__ */ 306