Stay organized with collections
Save and categorize content based on your preferences.
ApostropheMode
class 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
.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# MessagePattern.ApostropheMode\n\nAdded in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nApostropheMode\n==============\n\n*** ** * ** ***\n\nKotlin \\|[Java](/reference/android/icu/text/MessagePattern.ApostropheMode \"View this page in Java\") \n\n```\nclass ApostropheMode\n```\n\n|---|---|-----------------------------------------------------|\n| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |||\n| ↳ | [kotlin.Enum](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html)\\\u003c[android.icu.text.MessagePattern.ApostropheMode](#)\\\u003e ||\n| | ↳ | [android.icu.text.MessagePattern.ApostropheMode](#) |\n\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Known Direct Subclasses [MessagePattern.ApostropheMode.DOUBLE_OPTIONAL](#ENUM_VALUE:DOUBLE_OPTIONAL), [MessagePattern.ApostropheMode.DOUBLE_REQUIRED](#ENUM_VALUE:DOUBLE_REQUIRED) |------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------| | [MessagePattern.ApostropheMode.DOUBLE_OPTIONAL](#ENUM_VALUE:DOUBLE_OPTIONAL) | A literal apostrophe is represented by either a single or a double apostrophe pattern character. | | [MessagePattern.ApostropheMode.DOUBLE_REQUIRED](#ENUM_VALUE:DOUBLE_REQUIRED) | A literal apostrophe must be represented by a double apostrophe pattern character. | |\n\nMode 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).\n\nA pair of adjacent apostrophes always results in a single apostrophe in the output, even when the pair is between two single, text-quoting apostrophes.\n\nThe following table shows examples of desired MessageFormat.format() output with the pattern strings that yield that output.\n\n| Desired output | DOUBLE_OPTIONAL | DOUBLE_REQUIRED |\n|-----------------|-------------------------------|-----------------|\n| I see {many} | I see '{many}' | (same) |\n| I said {'Wow!'} | I said '{''Wow!''}' | (same) |\n| I don't know | I don't know OR I don''t know | I don''t know |\n\nSummary\n-------\n\n| Enum values ||\n|-------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| [DOUBLE_OPTIONAL](#ENUM_VALUE:DOUBLE_OPTIONAL) A literal apostrophe is represented by either a single or a double apostrophe pattern character. |\n| [DOUBLE_REQUIRED](#ENUM_VALUE:DOUBLE_REQUIRED) A literal apostrophe must be represented by a double apostrophe pattern character. |\n\nEnum values\n-----------\n\n### DOUBLE_OPTIONAL\n\nAdded in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val DOUBLE_OPTIONAL : MessagePattern.ApostropheMode\n```\n\nA 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.\n\nThis is the default behavior starting with ICU 4.8. \n\n### DOUBLE_REQUIRED\n\nAdded in [API level 24](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nenum val DOUBLE_REQUIRED : MessagePattern.ApostropheMode\n```\n\nA literal apostrophe must be represented by a double apostrophe pattern character. A single apostrophe always starts quoted literal text.\n\nThis is the behavior of ICU 4.6 and earlier, and of [java.text.MessageFormat](../../../java/text/MessageFormat.html#)."]]