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 |