Added in API level 24

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

Added in API level 24
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

Added in API level 24
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.