| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 ****************************************************************************** | |
| 3 * Copyright (C) 2010, International Business Machines Corporation and * | |
| 4 * others. All Rights Reserved. * | |
| 5 ****************************************************************************** | |
| 6 */ | |
| 7 | |
| 8 #ifndef LOCDSPNM_H | |
| 9 #define LOCDSPNM_H | |
| 10 | |
| 11 #include "unicode/utypes.h" | |
| 12 | |
| 13 /** | |
| 14 * \file | |
| 15 * \brief C++ API: Provides display names of Locale and its components. | |
| 16 */ | |
| 17 | |
| 18 #if !UCONFIG_NO_FORMATTING | |
| 19 | |
| 20 #include "unicode/locid.h" | |
| 21 #include "unicode/uscript.h" | |
| 22 #include "unicode/uldnames.h" | |
| 23 | |
| 24 U_NAMESPACE_BEGIN | |
| 25 | |
| 26 /** | |
| 27 * Returns display names of Locales and components of Locales. For | |
| 28 * more information on language, script, region, variant, key, and | |
| 29 * values, see Locale. | |
| 30 * @stable ICU 4.4 | |
| 31 */ | |
| 32 class U_I18N_API LocaleDisplayNames : public UObject { | |
| 33 public: | |
| 34 /** | |
| 35 * Destructor. | |
| 36 * @stable ICU 4.4 | |
| 37 */ | |
| 38 virtual ~LocaleDisplayNames(); | |
| 39 | |
| 40 /** | |
| 41 * Convenience overload of | |
| 42 * {@link #createInstance(const Locale& locale, UDialectHandling dialectHand
ling)} | |
| 43 * that specifies STANDARD dialect handling. | |
| 44 * @param locale the display locale | |
| 45 * @return a LocaleDisplayNames instance | |
| 46 * @stable ICU 4.4 | |
| 47 */ | |
| 48 static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale); | |
| 49 | |
| 50 /** | |
| 51 * Returns an instance of LocaleDisplayNames that returns names | |
| 52 * formatted for the provided locale, using the provided | |
| 53 * dialectHandling. | |
| 54 * | |
| 55 * @param locale the display locale | |
| 56 * @param dialectHandling how to select names for locales | |
| 57 * @return a LocaleDisplayNames instance | |
| 58 * @stable ICU 4.4 | |
| 59 */ | |
| 60 static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale, | |
| 61 UDialectHandling dialect
Handling); | |
| 62 | |
| 63 // getters for state | |
| 64 /** | |
| 65 * Returns the locale used to determine the display names. This is | |
| 66 * not necessarily the same locale passed to {@link #getInstance}. | |
| 67 * @return the display locale | |
| 68 * @stable ICU 4.4 | |
| 69 */ | |
| 70 virtual const Locale& getLocale() const = 0; | |
| 71 | |
| 72 /** | |
| 73 * Returns the dialect handling used in the display names. | |
| 74 * @return the dialect handling enum | |
| 75 * @stable ICU 4.4 | |
| 76 */ | |
| 77 virtual UDialectHandling getDialectHandling() const = 0; | |
| 78 | |
| 79 // names for entire locales | |
| 80 /** | |
| 81 * Returns the display name of the provided locale. | |
| 82 * @param locale the locale whose display name to return | |
| 83 * @param result receives the locale's display name | |
| 84 * @return the display name of the provided locale | |
| 85 * @stable ICU 4.4 | |
| 86 */ | |
| 87 virtual UnicodeString& localeDisplayName(const Locale& locale, | |
| 88 UnicodeString& result) const = 0; | |
| 89 | |
| 90 /** | |
| 91 * Returns the display name of the provided locale id. | |
| 92 * @param localeId the id of the locale whose display name to return | |
| 93 * @param result receives the locale's display name | |
| 94 * @return the display name of the provided locale | |
| 95 * @stable ICU 4.4 | |
| 96 */ | |
| 97 virtual UnicodeString& localeDisplayName(const char* localeId, | |
| 98 UnicodeString& result) const = 0; | |
| 99 | |
| 100 // names for components of a locale id | |
| 101 /** | |
| 102 * Returns the display name of the provided language code. | |
| 103 * @param lang the language code | |
| 104 * @param result receives the language code's display name | |
| 105 * @return the display name of the provided language code | |
| 106 * @stable ICU 4.4 | |
| 107 */ | |
| 108 virtual UnicodeString& languageDisplayName(const char* lang, | |
| 109 UnicodeString& result) const = 0; | |
| 110 | |
| 111 /** | |
| 112 * Returns the display name of the provided script code. | |
| 113 * @param script the script code | |
| 114 * @param result receives the script code's display name | |
| 115 * @return the display name of the provided script code | |
| 116 * @stable ICU 4.4 | |
| 117 */ | |
| 118 virtual UnicodeString& scriptDisplayName(const char* script, | |
| 119 UnicodeString& result) const = 0; | |
| 120 | |
| 121 /** | |
| 122 * Returns the display name of the provided script code. | |
| 123 * @param scriptCode the script code number | |
| 124 * @param result receives the script code's display name | |
| 125 * @return the display name of the provided script code | |
| 126 * @stable ICU 4.4 | |
| 127 */ | |
| 128 virtual UnicodeString& scriptDisplayName(UScriptCode scriptCode, | |
| 129 UnicodeString& result) const = 0; | |
| 130 | |
| 131 /** | |
| 132 * Returns the display name of the provided region code. | |
| 133 * @param region the region code | |
| 134 * @param result receives the region code's display name | |
| 135 * @return the display name of the provided region code | |
| 136 * @stable ICU 4.4 | |
| 137 */ | |
| 138 virtual UnicodeString& regionDisplayName(const char* region, | |
| 139 UnicodeString& result) const = 0; | |
| 140 | |
| 141 /** | |
| 142 * Returns the display name of the provided variant. | |
| 143 * @param variant the variant string | |
| 144 * @param result receives the variant's display name | |
| 145 * @return the display name of the provided variant | |
| 146 * @stable ICU 4.4 | |
| 147 */ | |
| 148 virtual UnicodeString& variantDisplayName(const char* variant, | |
| 149 UnicodeString& result) const = 0; | |
| 150 | |
| 151 /** | |
| 152 * Returns the display name of the provided locale key. | |
| 153 * @param key the locale key name | |
| 154 * @param result receives the locale key's display name | |
| 155 * @return the display name of the provided locale key | |
| 156 * @stable ICU 4.4 | |
| 157 */ | |
| 158 virtual UnicodeString& keyDisplayName(const char* key, | |
| 159 UnicodeString& result) const = 0; | |
| 160 | |
| 161 /** | |
| 162 * Returns the display name of the provided value (used with the provided ke
y). | |
| 163 * @param key the locale key name | |
| 164 * @param value the locale key's value | |
| 165 * @param result receives the value's display name | |
| 166 * @return the display name of the provided value | |
| 167 * @stable ICU 4.4 | |
| 168 */ | |
| 169 virtual UnicodeString& keyValueDisplayName(const char* key, const char* valu
e, | |
| 170 UnicodeString& result) const = 0; | |
| 171 | |
| 172 private: | |
| 173 // No ICU "poor man's RTTI" for this class nor its subclasses. | |
| 174 virtual UClassID getDynamicClassID() const; | |
| 175 }; | |
| 176 | |
| 177 inline LocaleDisplayNames::~LocaleDisplayNames() { | |
| 178 } | |
| 179 | |
| 180 inline LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale& loca
le) { | |
| 181 return LocaleDisplayNames::createInstance(locale, ULDN_STANDARD_NAMES); | |
| 182 } | |
| 183 | |
| 184 U_NAMESPACE_END | |
| 185 | |
| 186 #endif | |
| 187 | |
| 188 #endif | |
| OLD | NEW |