> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alumio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# String: Transliterate

> Transliterates a string based on the supplied transliterator. Can be used to change UTF-16 code units into single characters.

export const FormField = ({property, label, required = false, diType, uiPatterns, children}) => {
  const patterns = Array.isArray(uiPatterns) ? uiPatterns : uiPatterns ? [uiPatterns] : [];
  return <div style={{
    margin: '1.5rem 0'
  }}>
      <div style={{
    display: 'flex',
    alignItems: 'baseline',
    flexWrap: 'wrap',
    gap: '0.5rem',
    marginBottom: '0.25rem'
  }}>
        <strong>{label}</strong>
        <span style={{
    fontSize: '0.7rem',
    fontWeight: 600,
    textTransform: 'uppercase',
    letterSpacing: '0.04em',
    color: required ? '#6241f5' : '#6b7280'
  }}>
          {required ? 'Required' : 'Optional'}
        </span>
      </div>

      <div>{children}</div>

      {diType || patterns.length > 0 ? <p style={{
    fontSize: '0.85rem',
    color: '#6b7280',
    marginBottom: 0
  }}>
          {diType ? <>
              See the <a href={`/references/${diType}`}>{diType}</a> reference.{' '}
            </> : null}
          {patterns.length > 0 ? <>
              Accepts a <a href={`/documentation/placeholders-and-patterns/patterns#${patterns[0]}`}>pattern</a>.
            </> : null}
        </p> : null}
    </div>;
};

Transliterates a string based on the supplied transliterator. Can be used to change UTF-16 code units into single characters. In plain terms, it rewrites text from one script or form into another: converting accented characters to plain ASCII, changing Cyrillic or Greek text into Latin letters, or forcing text to upper or lower case. You pick the conversion rule you want and it is applied to the value.

This documentation describes: [Schema](/schemas/mapper/string-transliterate-id)

## Fields

<FormField property="identifier" label="Identifier" required>
  The conversion rule to apply, chosen from a list of standard rules. Some of the most useful options are:

  * `Latin-ASCII` simplifies accented Latin letters to plain ASCII, so `é` becomes `e`.
  * `Accents-Any` removes accent marks from letters.
  * `Cyrillic-Latin` rewrites Cyrillic text in Latin letters.
  * `Greek-Latin` rewrites Greek text in Latin letters.
  * `Upper`, `Lower` and `Title` change the letter casing of the text.

  The names follow the standard transliterator identifiers defined by ICU. If you choose a rule that is not recognised, the step reports an error.
</FormField>

## Sample data

| Field      | Value            |
| ---------- | ---------------- |
| Identifier | `Cyrillic-Latin` |

Input:

```json theme={null}
{ "name": "Москва" }
```

Output:

```json theme={null}
{ "name": "Moskva" }
```

```json Configuration theme={null}
{
  "prototype": "string-transliterate-id",
  "parameters": {
    "identifier": "Cyrillic-Latin"
  }
}
```
