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 
20 typedef 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 
63 U_CAPI const char * U_EXPORT2
64 udispopt_getGrammaticalCaseIdentifier(UDisplayOptionsGrammaticalCase grammaticalCase);
65 
72 U_CAPI UDisplayOptionsGrammaticalCase U_EXPORT2
73 udispopt_fromGrammaticalCaseIdentifier(const char *identifier);
74 
81 typedef 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 
110 U_CAPI const char * U_EXPORT2
111 udispopt_getPluralCategoryIdentifier(UDisplayOptionsPluralCategory pluralCategory);
112 
119 U_CAPI UDisplayOptionsPluralCategory U_EXPORT2
120 udispopt_fromPluralCategoryIdentifier(const char *identifier);
121 
127 typedef 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 
159 U_CAPI const char * U_EXPORT2
160 udispopt_getNounClassIdentifier(UDisplayOptionsNounClass nounClass);
161 
168 U_CAPI UDisplayOptionsNounClass U_EXPORT2
169 udispopt_fromNounClassIdentifier(const char *identifier);
170 
176 typedef 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 
224 typedef 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 
255 typedef 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 
286 typedef 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.