# MessagePattern.ApostropheMode

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# ApostropheMode

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/icu/text/MessagePattern.ApostropheMode "View this page in Java")  

```
class ApostropheMode
```

|---|---|--------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                      |||
| ↳ | [kotlin.Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)\<[android.icu.text.MessagePattern.ApostropheMode](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ApostropheMode#)\> ||
|   | ↳ | [android.icu.text.MessagePattern.ApostropheMode](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ApostropheMode#) |

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known Direct Subclasses [MessagePattern.ApostropheMode.DOUBLE_OPTIONAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ApostropheMode#ENUM_VALUE:DOUBLE_OPTIONAL),[MessagePattern.ApostropheMode.DOUBLE_REQUIRED](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ApostropheMode#ENUM_VALUE:DOUBLE_REQUIRED) |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------| | [MessagePattern.ApostropheMode.DOUBLE_OPTIONAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ApostropheMode#ENUM_VALUE:DOUBLE_OPTIONAL) | A literal apostrophe is represented by either a single or a double apostrophe pattern character. | | [MessagePattern.ApostropheMode.DOUBLE_REQUIRED](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ApostropheMode#ENUM_VALUE:DOUBLE_REQUIRED) | A literal apostrophe must be represented by a double apostrophe pattern character.               | |

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                                                                                                                   ||
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [DOUBLE_OPTIONAL](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ApostropheMode#ENUM_VALUE:DOUBLE_OPTIONAL) A literal apostrophe is represented by either a single or a double apostrophe pattern character. |
| [DOUBLE_REQUIRED](https://developer.android.com/reference/kotlin/android/icu/text/MessagePattern.ApostropheMode#ENUM_VALUE:DOUBLE_REQUIRED) A literal apostrophe must be represented by a double apostrophe pattern character.               |

## Enum values

### DOUBLE_OPTIONAL

Added in[API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
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](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
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](https://developer.android.com/reference/kotlin/java/text/MessageFormat.html#).