|
ICU 73.2
73.2
|
00001 // © 2016 and later: Unicode, Inc. and others. 00002 // License & terms of use: http://www.unicode.org/copyright.html 00003 /* 00004 ****************************************************************************** 00005 * Copyright (C) 2010-2016, International Business Machines Corporation and 00006 * others. All Rights Reserved. 00007 ****************************************************************************** 00008 */ 00009 00010 #ifndef LOCDSPNM_H 00011 #define LOCDSPNM_H 00012 00013 #include "unicode/utypes.h" 00014 00015 #if U_SHOW_CPLUSPLUS_API 00016 00022 #if !UCONFIG_NO_FORMATTING 00023 00024 #include "unicode/locid.h" 00025 #include "unicode/strenum.h" 00026 #include "unicode/uscript.h" 00027 #include "unicode/uldnames.h" 00028 #include "unicode/udisplaycontext.h" 00029 00030 U_NAMESPACE_BEGIN 00031 00038 class U_COMMON_API LocaleDisplayNames : public UObject { 00039 public: 00044 virtual ~LocaleDisplayNames(); 00045 00054 inline static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale); 00055 00066 static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale, 00067 UDialectHandling dialectHandling); 00068 00080 static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale, 00081 UDisplayContext *contexts, int32_t length); 00082 00083 // getters for state 00090 virtual const Locale& getLocale() const = 0; 00091 00097 virtual UDialectHandling getDialectHandling() const = 0; 00098 00105 virtual UDisplayContext getContext(UDisplayContextType type) const = 0; 00106 00107 // names for entire locales 00115 virtual UnicodeString& localeDisplayName(const Locale& locale, 00116 UnicodeString& result) const = 0; 00117 00125 virtual UnicodeString& localeDisplayName(const char* localeId, 00126 UnicodeString& result) const = 0; 00127 00128 // names for components of a locale id 00136 virtual UnicodeString& languageDisplayName(const char* lang, 00137 UnicodeString& result) const = 0; 00138 00146 virtual UnicodeString& scriptDisplayName(const char* script, 00147 UnicodeString& result) const = 0; 00148 00156 virtual UnicodeString& scriptDisplayName(UScriptCode scriptCode, 00157 UnicodeString& result) const = 0; 00158 00166 virtual UnicodeString& regionDisplayName(const char* region, 00167 UnicodeString& result) const = 0; 00168 00176 virtual UnicodeString& variantDisplayName(const char* variant, 00177 UnicodeString& result) const = 0; 00178 00186 virtual UnicodeString& keyDisplayName(const char* key, 00187 UnicodeString& result) const = 0; 00188 00197 virtual UnicodeString& keyValueDisplayName(const char* key, const char* value, 00198 UnicodeString& result) const = 0; 00199 }; 00200 00201 inline LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale& locale) { 00202 return LocaleDisplayNames::createInstance(locale, ULDN_STANDARD_NAMES); 00203 } 00204 00205 U_NAMESPACE_END 00206 00207 #endif 00208 00209 #endif /* U_SHOW_CPLUSPLUS_API */ 00210 00211 #endif
1.7.6.1