---
title: "Epsilon String"
canonical_url: "https://apidocs.sportradar.com/resources/epsilon-sdk/docs/modules/string"
markdown_url: "https://apidocs.sportradar.com/resources/epsilon-sdk/docs/modules/string.md"
last_updated: "2026-06-15T10:09:12Z"
---

# Epsilon String

The `epsilon-string` module provides a multiplatform way to manage and resolve string resources using [Moko Resources](https://github.com/icerockdev/moko-resources) and [Jetpack Compose](https://developer.android.com/compose).

> **Tip**
>
> Use this module when shared code needs to work with both localized resources and plain string values through a single abstraction.

## Features

- **Multiplatform Resources**: Define strings and colors in `commonMain` and use them on Android and iOS.
- **Compose Support**: Dedicated `@Composable` functions for resolving resources.
- **KmpString Wrapper**: A unified wrapper for both raw `String` literals and `StringResource` objects.

## Supported Platforms

- Android
- iOS
- JVM

## Key Components

### KmpString

A data class that can hold either a hardcoded string or a Moko `StringResource`. This is useful for APIs that can return either server-side strings or localizable resource keys.

**Basic `KmpString` example**

```kotlin
val title = KmpString(resource = MR.strings.app_name)
val customTitle = KmpString(string = "Welcome!")
```

### Resolution

You can resolve a `KmpString` into a primitive `String` using platform-specific extensions:

```kotlin
// In a Composable function
val resolved: String = myKmpString.rememberLocalized()

// In standard code (requires Context)
val resolved: String = myKmpString.localized(context)
```

## Usage

Add the dependency to your `commonMain`:

```kotlin
dependencies {
    implementation("ag.sportradar.mobile.epsilon:epsilon-string:<version>")
}
```

### Moko Resources Configuration

To use Moko Resources in your project, ensure you have the plugin applied and configured in your `build.gradle.kts`:

```kotlin
multiplatformResources {
    resourcesPackage.set("com.your.package")
    resourcesClassName.set("MR")
}
```
