#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#include "unicode/locdspnm.h"
#include "unicode/simpleformatter.h"
#include "unicode/ucasemap.h"
#include "unicode/ures.h"
#include "unicode/udisplaycontext.h"
#include "unicode/brkiter.h"
#include "unicode/ucurr.h"
#include "cmemory.h"
#include "cstring.h"
#include "mutex.h"
#include "ulocimp.h"
#include "umutex.h"
#include "ureslocs.h"
#include "uresimp.h"
#include <stdarg.h>
static int32_t ncat(char *buffer, uint32_t buflen, ...) { … }
U_NAMESPACE_BEGIN
class ICUDataTable { … };
inline UnicodeString &
ICUDataTable::get(const char* tableKey, const char* itemKey, UnicodeString& result) const { … }
inline UnicodeString &
ICUDataTable::getNoFallback(const char* tableKey, const char* itemKey, UnicodeString& result) const { … }
ICUDataTable::ICUDataTable(const char* path, const Locale& locale)
: … { … }
ICUDataTable::~ICUDataTable() { … }
const Locale&
ICUDataTable::getLocale() { … }
UnicodeString &
ICUDataTable::get(const char* tableKey, const char* subTableKey, const char* itemKey,
UnicodeString &result) const { … }
UnicodeString &
ICUDataTable::getNoFallback(const char* tableKey, const char* subTableKey, const char* itemKey,
UnicodeString& result) const { … }
LocaleDisplayNames::~LocaleDisplayNames() { … }
#if 0
class DefaultLocaleDisplayNames : public LocaleDisplayNames {
UDialectHandling dialectHandling;
public:
DefaultLocaleDisplayNames(UDialectHandling dialectHandling);
virtual ~DefaultLocaleDisplayNames();
virtual const Locale& getLocale() const;
virtual UDialectHandling getDialectHandling() const;
virtual UnicodeString& localeDisplayName(const Locale& locale,
UnicodeString& result) const;
virtual UnicodeString& localeDisplayName(const char* localeId,
UnicodeString& result) const;
virtual UnicodeString& languageDisplayName(const char* lang,
UnicodeString& result) const;
virtual UnicodeString& scriptDisplayName(const char* script,
UnicodeString& result) const;
virtual UnicodeString& scriptDisplayName(UScriptCode scriptCode,
UnicodeString& result) const;
virtual UnicodeString& regionDisplayName(const char* region,
UnicodeString& result) const;
virtual UnicodeString& variantDisplayName(const char* variant,
UnicodeString& result) const;
virtual UnicodeString& keyDisplayName(const char* key,
UnicodeString& result) const;
virtual UnicodeString& keyValueDisplayName(const char* key,
const char* value,
UnicodeString& result) const;
};
DefaultLocaleDisplayNames::DefaultLocaleDisplayNames(UDialectHandling dialectHandling)
: dialectHandling(dialectHandling) {
}
DefaultLocaleDisplayNames::~DefaultLocaleDisplayNames() {
}
const Locale&
DefaultLocaleDisplayNames::getLocale() const {
return Locale::getRoot();
}
UDialectHandling
DefaultLocaleDisplayNames::getDialectHandling() const {
return dialectHandling;
}
UnicodeString&
DefaultLocaleDisplayNames::localeDisplayName(const Locale& locale,
UnicodeString& result) const {
return result = UnicodeString(locale.getName(), -1, US_INV);
}
UnicodeString&
DefaultLocaleDisplayNames::localeDisplayName(const char* localeId,
UnicodeString& result) const {
return result = UnicodeString(localeId, -1, US_INV);
}
UnicodeString&
DefaultLocaleDisplayNames::languageDisplayName(const char* lang,
UnicodeString& result) const {
return result = UnicodeString(lang, -1, US_INV);
}
UnicodeString&
DefaultLocaleDisplayNames::scriptDisplayName(const char* script,
UnicodeString& result) const {
return result = UnicodeString(script, -1, US_INV);
}
UnicodeString&
DefaultLocaleDisplayNames::scriptDisplayName(UScriptCode scriptCode,
UnicodeString& result) const {
const char* name = uscript_getName(scriptCode);
if (name) {
return result = UnicodeString(name, -1, US_INV);
}
return result.remove();
}
UnicodeString&
DefaultLocaleDisplayNames::regionDisplayName(const char* region,
UnicodeString& result) const {
return result = UnicodeString(region, -1, US_INV);
}
UnicodeString&
DefaultLocaleDisplayNames::variantDisplayName(const char* variant,
UnicodeString& result) const {
return result = UnicodeString(variant, -1, US_INV);
}
UnicodeString&
DefaultLocaleDisplayNames::keyDisplayName(const char* key,
UnicodeString& result) const {
return result = UnicodeString(key, -1, US_INV);
}
UnicodeString&
DefaultLocaleDisplayNames::keyValueDisplayName(const char* ,
const char* value,
UnicodeString& result) const {
return result = UnicodeString(value, -1, US_INV);
}
#endif
class LocaleDisplayNamesImpl : public LocaleDisplayNames { … };
LocaleDisplayNamesImpl::LocaleDisplayNamesImpl(const Locale& locale,
UDialectHandling dialectHandling)
: … { … }
LocaleDisplayNamesImpl::LocaleDisplayNamesImpl(const Locale& locale,
UDisplayContext *contexts, int32_t length)
: … { … }
struct LocaleDisplayNamesImpl::CapitalizationContextSink : public ResourceSink { … };
LocaleDisplayNamesImpl::CapitalizationContextSink::~CapitalizationContextSink() { … }
void
LocaleDisplayNamesImpl::initialize() { … }
LocaleDisplayNamesImpl::~LocaleDisplayNamesImpl() { … }
const Locale&
LocaleDisplayNamesImpl::getLocale() const { … }
UDialectHandling
LocaleDisplayNamesImpl::getDialectHandling() const { … }
UDisplayContext
LocaleDisplayNamesImpl::getContext(UDisplayContextType type) const { … }
UnicodeString&
LocaleDisplayNamesImpl::adjustForUsageAndContext(CapContextUsage usage,
UnicodeString& result) const { … }
UnicodeString&
LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
UnicodeString& result) const { … }
UnicodeString&
LocaleDisplayNamesImpl::appendWithSep(UnicodeString& buffer, const UnicodeString& src) const { … }
UnicodeString&
LocaleDisplayNamesImpl::localeDisplayName(const char* localeId,
UnicodeString& result) const { … }
UnicodeString&
LocaleDisplayNamesImpl::localeIdName(const char* localeId,
UnicodeString& result, bool substitute) const { … }
UnicodeString&
LocaleDisplayNamesImpl::languageDisplayName(const char* lang,
UnicodeString& result) const { … }
UnicodeString&
LocaleDisplayNamesImpl::scriptDisplayName(const char* script,
UnicodeString& result,
UBool skipAdjust) const { … }
UnicodeString&
LocaleDisplayNamesImpl::scriptDisplayName(const char* script,
UnicodeString& result) const { … }
UnicodeString&
LocaleDisplayNamesImpl::scriptDisplayName(UScriptCode scriptCode,
UnicodeString& result) const { … }
UnicodeString&
LocaleDisplayNamesImpl::regionDisplayName(const char* region,
UnicodeString& result,
UBool skipAdjust) const { … }
UnicodeString&
LocaleDisplayNamesImpl::regionDisplayName(const char* region,
UnicodeString& result) const { … }
UnicodeString&
LocaleDisplayNamesImpl::variantDisplayName(const char* variant,
UnicodeString& result,
UBool skipAdjust) const { … }
UnicodeString&
LocaleDisplayNamesImpl::variantDisplayName(const char* variant,
UnicodeString& result) const { … }
UnicodeString&
LocaleDisplayNamesImpl::keyDisplayName(const char* key,
UnicodeString& result,
UBool skipAdjust) const { … }
UnicodeString&
LocaleDisplayNamesImpl::keyDisplayName(const char* key,
UnicodeString& result) const { … }
UnicodeString&
LocaleDisplayNamesImpl::keyValueDisplayName(const char* key,
const char* value,
UnicodeString& result,
UBool skipAdjust) const { … }
UnicodeString&
LocaleDisplayNamesImpl::keyValueDisplayName(const char* key,
const char* value,
UnicodeString& result) const { … }
LocaleDisplayNames*
LocaleDisplayNames::createInstance(const Locale& locale,
UDialectHandling dialectHandling) { … }
LocaleDisplayNames*
LocaleDisplayNames::createInstance(const Locale& locale,
UDisplayContext *contexts, int32_t length) { … }
U_NAMESPACE_END
U_NAMESPACE_USE
U_CAPI ULocaleDisplayNames * U_EXPORT2
uldn_open(const char * locale,
UDialectHandling dialectHandling,
UErrorCode *pErrorCode) { … }
U_CAPI ULocaleDisplayNames * U_EXPORT2
uldn_openForContext(const char * locale,
UDisplayContext *contexts, int32_t length,
UErrorCode *pErrorCode) { … }
U_CAPI void U_EXPORT2
uldn_close(ULocaleDisplayNames *ldn) { … }
U_CAPI const char * U_EXPORT2
uldn_getLocale(const ULocaleDisplayNames *ldn) { … }
U_CAPI UDialectHandling U_EXPORT2
uldn_getDialectHandling(const ULocaleDisplayNames *ldn) { … }
U_CAPI UDisplayContext U_EXPORT2
uldn_getContext(const ULocaleDisplayNames *ldn,
UDisplayContextType type,
UErrorCode *pErrorCode) { … }
U_CAPI int32_t U_EXPORT2
uldn_localeDisplayName(const ULocaleDisplayNames *ldn,
const char *locale,
char16_t *result,
int32_t maxResultSize,
UErrorCode *pErrorCode) { … }
U_CAPI int32_t U_EXPORT2
uldn_languageDisplayName(const ULocaleDisplayNames *ldn,
const char *lang,
char16_t *result,
int32_t maxResultSize,
UErrorCode *pErrorCode) { … }
U_CAPI int32_t U_EXPORT2
uldn_scriptDisplayName(const ULocaleDisplayNames *ldn,
const char *script,
char16_t *result,
int32_t maxResultSize,
UErrorCode *pErrorCode) { … }
U_CAPI int32_t U_EXPORT2
uldn_scriptCodeDisplayName(const ULocaleDisplayNames *ldn,
UScriptCode scriptCode,
char16_t *result,
int32_t maxResultSize,
UErrorCode *pErrorCode) { … }
U_CAPI int32_t U_EXPORT2
uldn_regionDisplayName(const ULocaleDisplayNames *ldn,
const char *region,
char16_t *result,
int32_t maxResultSize,
UErrorCode *pErrorCode) { … }
U_CAPI int32_t U_EXPORT2
uldn_variantDisplayName(const ULocaleDisplayNames *ldn,
const char *variant,
char16_t *result,
int32_t maxResultSize,
UErrorCode *pErrorCode) { … }
U_CAPI int32_t U_EXPORT2
uldn_keyDisplayName(const ULocaleDisplayNames *ldn,
const char *key,
char16_t *result,
int32_t maxResultSize,
UErrorCode *pErrorCode) { … }
U_CAPI int32_t U_EXPORT2
uldn_keyValueDisplayName(const ULocaleDisplayNames *ldn,
const char *key,
const char *value,
char16_t *result,
int32_t maxResultSize,
UErrorCode *pErrorCode) { … }
#endif