ApostropheMode
class ApostropheMode
kotlin.Any | ||
↳ | kotlin.Enum<android.icu.text.MessagePattern.ApostropheMode> | |
↳ | android.icu.text.MessagePattern.ApostropheMode |
Mode for when an apostrophe starts quoted literal text for MessageFormat output. The default is DOUBLE_OPTIONAL unless overridden via ICUConfig (/com/ibm/icu/ICUConfig.properties).
A pair of adjacent apostrophes always results in a single apostrophe in the output, even when the pair is between two single, text-quoting apostrophes.
The following table shows examples of desired MessageFormat.format() output with the pattern strings that yield that output.
Desired output | DOUBLE_OPTIONAL | DOUBLE_REQUIRED |
---|---|---|
I see {many} | I see '{many}' | (same) |
I said {'Wow!'} | I said '{''Wow!''}' | (same) |
I don't know | I don't know OR I don''t know |
I don''t know |
Summary
Enum values | |
---|---|
A literal apostrophe is represented by either a single or a double apostrophe pattern character. |
|
A literal apostrophe must be represented by a double apostrophe pattern character. |
Enum values
DOUBLE_OPTIONAL
enum val DOUBLE_OPTIONAL : MessagePattern.ApostropheMode
A literal apostrophe is represented by either a single or a double apostrophe pattern character. Within a MessageFormat pattern, a single apostrophe only starts quoted literal text if it immediately precedes a curly brace {}, or a pipe symbol | if inside a choice format, or a pound symbol # if inside a plural format.
This is the default behavior starting with ICU 4.8.
DOUBLE_REQUIRED
enum val DOUBLE_REQUIRED : MessagePattern.ApostropheMode
A literal apostrophe must be represented by a double apostrophe pattern character. A single apostrophe always starts quoted literal text.
This is the behavior of ICU 4.6 and earlier, and of java.text.MessageFormat
.