ICU 72.1 72.1
udisplayoptions.h
1// © 2022 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
3
4#ifndef __UDISPLAYOPTIONS_H__
5#define __UDISPLAYOPTIONS_H__
6
7#include "unicode/utypes.h"
8
9#if !UCONFIG_NO_FORMATTING
10
11#include "unicode/uversion.h"
12
13#ifndef U_HIDE_DRAFT_API
14
20typedef enum UDisplayOptionsGrammaticalCase {
26 UDISPOPT_GRAMMATICAL_CASE_UNDEFINED = 0,
28 UDISPOPT_GRAMMATICAL_CASE_ABLATIVE = 1,
30 UDISPOPT_GRAMMATICAL_CASE_ACCUSATIVE = 2,
32 UDISPOPT_GRAMMATICAL_CASE_COMITATIVE = 3,
34 UDISPOPT_GRAMMATICAL_CASE_DATIVE = 4,
36 UDISPOPT_GRAMMATICAL_CASE_ERGATIVE = 5,
38 UDISPOPT_GRAMMATICAL_CASE_GENITIVE = 6,
40 UDISPOPT_GRAMMATICAL_CASE_INSTRUMENTAL = 7,
42 UDISPOPT_GRAMMATICAL_CASE_LOCATIVE = 8,
44 UDISPOPT_GRAMMATICAL_CASE_LOCATIVE_COPULATIVE = 9,
46 UDISPOPT_GRAMMATICAL_CASE_NOMINATIVE = 10,
48 UDISPOPT_GRAMMATICAL_CASE_OBLIQUE = 11,
50 UDISPOPT_GRAMMATICAL_CASE_PREPOSITIONAL = 12,
52 UDISPOPT_GRAMMATICAL_CASE_SOCIATIVE = 13,
54 UDISPOPT_GRAMMATICAL_CASE_VOCATIVE = 14,
55} UDisplayOptionsGrammaticalCase;
56
63U_CAPI const char * U_EXPORT2
64udispopt_getGrammaticalCaseIdentifier(UDisplayOptionsGrammaticalCase grammaticalCase);
65
72U_CAPI UDisplayOptionsGrammaticalCase U_EXPORT2
73udispopt_fromGrammaticalCaseIdentifier(const char *identifier);
74
81typedef enum UDisplayOptionsPluralCategory {
82
89 UDISPOPT_PLURAL_CATEGORY_UNDEFINED = 0,
91 UDISPOPT_PLURAL_CATEGORY_ZERO = 1,
93 UDISPOPT_PLURAL_CATEGORY_ONE = 2,
95 UDISPOPT_PLURAL_CATEGORY_TWO = 3,
97 UDISPOPT_PLURAL_CATEGORY_FEW = 4,
99 UDISPOPT_PLURAL_CATEGORY_MANY = 5,
101 UDISPOPT_PLURAL_CATEGORY_OTHER = 6,
102} UDisplayOptionsPluralCategory;
103
110U_CAPI const char * U_EXPORT2
111udispopt_getPluralCategoryIdentifier(UDisplayOptionsPluralCategory pluralCategory);
112
119U_CAPI UDisplayOptionsPluralCategory U_EXPORT2
120udispopt_fromPluralCategoryIdentifier(const char *identifier);
121
127typedef enum UDisplayOptionsNounClass {
134 UDISPOPT_NOUN_CLASS_UNDEFINED = 0,
136 UDISPOPT_NOUN_CLASS_OTHER = 1,
138 UDISPOPT_NOUN_CLASS_NEUTER = 2,
140 UDISPOPT_NOUN_CLASS_FEMININE = 3,
142 UDISPOPT_NOUN_CLASS_MASCULINE = 4,
144 UDISPOPT_NOUN_CLASS_ANIMATE = 5,
146 UDISPOPT_NOUN_CLASS_INANIMATE = 6,
148 UDISPOPT_NOUN_CLASS_PERSONAL = 7,
150 UDISPOPT_NOUN_CLASS_COMMON = 8,
151} UDisplayOptionsNounClass;
152
159U_CAPI const char * U_EXPORT2
160udispopt_getNounClassIdentifier(UDisplayOptionsNounClass nounClass);
161
168U_CAPI UDisplayOptionsNounClass U_EXPORT2
169udispopt_fromNounClassIdentifier(const char *identifier);
170
176typedef enum UDisplayOptionsCapitalization {
183 UDISPOPT_CAPITALIZATION_UNDEFINED = 0,
184
191 UDISPOPT_CAPITALIZATION_BEGINNING_OF_SENTENCE = 1,
192
199 UDISPOPT_CAPITALIZATION_MIDDLE_OF_SENTENCE = 2,
200
208 UDISPOPT_CAPITALIZATION_STANDALONE = 3,
209
216 UDISPOPT_CAPITALIZATION_UI_LIST_OR_MENU = 4,
217} UDisplayOptionsCapitalization;
218
224typedef enum UDisplayOptionsNameStyle {
231 UDISPOPT_NAME_STYLE_UNDEFINED = 0,
232
239 UDISPOPT_NAME_STYLE_STANDARD_NAMES = 1,
240
247 UDISPOPT_NAME_STYLE_DIALECT_NAMES = 2,
248} UDisplayOptionsNameStyle;
249
255typedef enum UDisplayOptionsDisplayLength {
262 UDISPOPT_DISPLAY_LENGTH_UNDEFINED = 0,
263
270 UDISPOPT_DISPLAY_LENGTH_FULL = 1,
271
278 UDISPOPT_DISPLAY_LENGTH_SHORT = 2,
279} UDisplayOptionsDisplayLength;
280
286typedef enum UDisplayOptionsSubstituteHandling {
287
294 UDISPOPT_SUBSTITUTE_HANDLING_UNDEFINED = 0,
295
302 UDISPOPT_SUBSTITUTE_HANDLING_SUBSTITUTE = 1,
303
309 UDISPOPT_SUBSTITUTE_HANDLING_NO_SUBSTITUTE = 2,
310} UDisplayOptionsSubstituteHandling;
311
312#endif // U_HIDE_DRAFT_API
313
314#endif /* #if !UCONFIG_NO_FORMATTING */
315
316#endif // __UDISPLAYOPTIONS_H__
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
Basic definitions for ICU, for both C and C++ APIs.
C API: API for accessing ICU version numbers.