# MessageFormat

Artifact: [androidx.core:core-i18n](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/i18n/MessageFormat.kt+class:androidx.core.i18n.MessageFormat) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/core#1.0.0)

*** ** * ** ***


```
public final class MessageFormat
```

<br />

*** ** * ** ***

## Summary

| ### Public methods |
|---|---|
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/i18n/MessageFormat#format(android.content.Context,kotlin.Int,kotlin.collections.Map)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Context.html context, int id, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Object.html> namedArguments )` Formats a message pattern from Android resource for the default locale with a variable number of name/value pair arguments. |
| `static final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/core/i18n/MessageFormat#format(android.content.Context,java.util.Locale,kotlin.String,kotlin.collections.Map)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Context.html context, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Locale.html locale, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html msg, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Object.html> namedArguments )` Formats a message pattern string with a variable number of name/value pair arguments. |

## Public methods

### format

```
public static final @NonNull String format(
    @NonNull Context context,
    int id,
    @NonNull Map<@NonNull String, @NonNull Object> namedArguments
)
```

Formats a message pattern from Android resource for the default locale with a variable number of name/value pair arguments. Creates an ICU MessageFormat for Locale.getDefault() and pattern, and formats with the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Context.html context` | Android context object |
| `int id` | Android string resource ID representing ICU-MessageFormat-syntax string |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Object.html> namedArguments` | map of argument name to argument value |

### format

```
public static final @NonNull String format(
    @NonNull Context context,
    @NonNull Locale locale,
    @NonNull String msg,
    @NonNull Map<@NonNull String, @NonNull Object> namedArguments
)
```

Formats a message pattern string with a variable number of name/value pair arguments. Creates an ICU MessageFormat for the locale and pattern, and formats with the arguments.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Context.html context` | Android context object. Used to retrieve user preferences. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Locale.html locale` | Locale for number formatting and plural selection etc. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html msg` | an ICU-MessageFormat-syntax string |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/Map.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/Object.html> namedArguments` | map of argument name to argument value |