diff CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/unicode/locdspnm.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/unicode/locdspnm.h	Tue Mar 18 17:55:14 2025 -0400
@@ -0,0 +1,211 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+/*
+******************************************************************************
+* Copyright (C) 2010-2016, International Business Machines Corporation and
+* others. All Rights Reserved.
+******************************************************************************
+*/
+
+#ifndef LOCDSPNM_H
+#define LOCDSPNM_H
+
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
+/**
+ * \file
+ * \brief C++ API: Provides display names of Locale and its components.
+ */
+
+#if !UCONFIG_NO_FORMATTING
+
+#include "unicode/locid.h"
+#include "unicode/strenum.h"
+#include "unicode/uscript.h"
+#include "unicode/uldnames.h"
+#include "unicode/udisplaycontext.h"
+
+U_NAMESPACE_BEGIN
+
+/**
+ * Returns display names of Locales and components of Locales. For
+ * more information on language, script, region, variant, key, and
+ * values, see Locale.
+ * @stable ICU 4.4
+ */
+class U_COMMON_API LocaleDisplayNames : public UObject {
+public:
+    /**
+     * Destructor.
+     * @stable ICU 4.4
+     */
+    virtual ~LocaleDisplayNames();
+
+    /**
+     * Convenience overload of
+     * {@link #createInstance(const Locale& locale, UDialectHandling dialectHandling)}
+     * that specifies STANDARD dialect handling.
+     * @param locale the display locale
+     * @return a LocaleDisplayNames instance
+     * @stable ICU 4.4
+     */
+    inline static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale);
+
+    /**
+     * Returns an instance of LocaleDisplayNames that returns names
+     * formatted for the provided locale, using the provided
+     * dialectHandling.
+     *
+     * @param locale the display locale
+     * @param dialectHandling how to select names for locales
+     * @return a LocaleDisplayNames instance
+     * @stable ICU 4.4
+     */
+    static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
+                            UDialectHandling dialectHandling);
+
+    /**
+     * Returns an instance of LocaleDisplayNames that returns names formatted
+     * for the provided locale, using the provided UDisplayContext settings.
+     *
+     * @param locale the display locale
+     * @param contexts List of one or more context settings (e.g. for dialect
+     *               handling, capitalization, etc.
+     * @param length Number of items in the contexts list
+     * @return a LocaleDisplayNames instance
+     * @stable ICU 51
+     */
+    static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale,
+                            UDisplayContext *contexts, int32_t length);
+
+    // getters for state
+    /**
+     * Returns the locale used to determine the display names. This is
+     * not necessarily the same locale passed to {@link #createInstance}.
+     * @return the display locale
+     * @stable ICU 4.4
+     */
+    virtual const Locale& getLocale() const = 0;
+
+    /**
+     * Returns the dialect handling used in the display names.
+     * @return the dialect handling enum
+     * @stable ICU 4.4
+     */
+    virtual UDialectHandling getDialectHandling() const = 0;
+
+    /**
+     * Returns the UDisplayContext value for the specified UDisplayContextType.
+     * @param type the UDisplayContextType whose value to return
+     * @return the UDisplayContext for the specified type.
+     * @stable ICU 51
+     */
+    virtual UDisplayContext getContext(UDisplayContextType type) const = 0;
+
+    // names for entire locales
+    /**
+     * Returns the display name of the provided locale.
+     * @param locale the locale whose display name to return
+     * @param result receives the locale's display name
+     * @return the display name of the provided locale
+     * @stable ICU 4.4
+     */
+    virtual UnicodeString& localeDisplayName(const Locale& locale,
+                         UnicodeString& result) const = 0;
+
+    /**
+     * Returns the display name of the provided locale id.
+     * @param localeId the id of the locale whose display name to return
+     * @param result receives the locale's display name
+     * @return the display name of the provided locale
+     * @stable ICU 4.4
+     */
+    virtual UnicodeString& localeDisplayName(const char* localeId,
+                         UnicodeString& result) const = 0;
+
+    // names for components of a locale id
+    /**
+     * Returns the display name of the provided language code.
+     * @param lang the language code
+     * @param result receives the language code's display name
+     * @return the display name of the provided language code
+     * @stable ICU 4.4
+     */
+    virtual UnicodeString& languageDisplayName(const char* lang,
+                           UnicodeString& result) const = 0;
+
+    /**
+     * Returns the display name of the provided script code.
+     * @param script the script code
+     * @param result receives the script code's display name
+     * @return the display name of the provided script code
+     * @stable ICU 4.4
+     */
+    virtual UnicodeString& scriptDisplayName(const char* script,
+                         UnicodeString& result) const = 0;
+
+    /**
+     * Returns the display name of the provided script code.
+     * @param scriptCode the script code number
+     * @param result receives the script code's display name
+     * @return the display name of the provided script code
+     * @stable ICU 4.4
+     */
+    virtual UnicodeString& scriptDisplayName(UScriptCode scriptCode,
+                         UnicodeString& result) const = 0;
+
+    /**
+     * Returns the display name of the provided region code.
+     * @param region the region code
+     * @param result receives the region code's display name
+     * @return the display name of the provided region code
+     * @stable ICU 4.4
+     */
+    virtual UnicodeString& regionDisplayName(const char* region,
+                         UnicodeString& result) const = 0;
+
+    /**
+     * Returns the display name of the provided variant.
+     * @param variant the variant string
+     * @param result receives the variant's display name
+     * @return the display name of the provided variant
+     * @stable ICU 4.4
+     */
+    virtual UnicodeString& variantDisplayName(const char* variant,
+                          UnicodeString& result) const = 0;
+
+    /**
+     * Returns the display name of the provided locale key.
+     * @param key the locale key name
+     * @param result receives the locale key's display name
+     * @return the display name of the provided locale key
+     * @stable ICU 4.4
+     */
+    virtual UnicodeString& keyDisplayName(const char* key,
+                      UnicodeString& result) const = 0;
+
+    /**
+     * Returns the display name of the provided value (used with the provided key).
+     * @param key the locale key name
+     * @param value the locale key's value
+     * @param result receives the value's display name
+     * @return the display name of the provided value
+     * @stable ICU 4.4
+     */
+    virtual UnicodeString& keyValueDisplayName(const char* key, const char* value,
+                           UnicodeString& result) const = 0;
+};
+
+inline LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale& locale) {
+  return LocaleDisplayNames::createInstance(locale, ULDN_STANDARD_NAMES);
+}
+
+U_NAMESPACE_END
+
+#endif
+
+#endif /* U_SHOW_CPLUSPLUS_API */
+
+#endif